I'm not sure where I stand on this tbh.. I mean yeah I love C++ and I hate Java enough (due to having stupid teachers in school.. Benland100 really taught me the most about java.. I'd say thanx to him, I know enough).. However, both those courses seem to be doing Data structs and algorithms..
Here's the thing, Java might be easier because it has built in classes and stuff, but if you really want to learn how things work under the hood and get closer to the hardware/memory, then C++ is for you. Java you don't have to worry about a lot of stuff. C++ would only be easier for you if you already have some sort of background in C/C++. Java is a pickup language sorta like C#. The libraries provide implementations of everything already so all you need to do is learn the syntax and have some logic and you're good to go.
I don't think it's a wise idea to ask someone to choose for you but I think the above will help YOU choose what you want to learn (Be wary that most C++ teachers teach shit from the 1970s and don't even know what they're doing and most Java teachers just read shit off the board or skip crucial lessons).
To prepare for your course, I'd say take a look at structs and algo's in both languages.
Ex:
C++:
C++ Code:
struct SomeStruct
{
private:
int SomeVar;
public:
SomeStruct();
void SomeFunc();
};
SomeStruct::SomeStruct() : SomeVar(100);
{
}
void SomeStruct::SomeFunc()
{
std::cout<<SomeVar;
}
class SomeClass
{
private:
int SomeVar;
public:
SomeClass();
void SomeFunc();
}
SomeClass::SomeClass() : SomeVar(100)
{
}
void SomeClass::SomeFunc()
{
SomeVar = 100;
}
//A class is different from a struct because by default everything in a class is private; everything in a struct is public. Then there is typedef structs, etc..
//Same class in Java below. Notice that you have to specify the accessor for every function (private, public, protected)
Java:
Java Code:
public class SomeStruct
{ private int SomeVar
; public SomeStruct
() { SomeVar
= 100; } public void SomeFunc
() { System.
out.
println(SomeVar
); }}