Why C++ for arduino? I guess my point is to be clear, that for most purposes you’d be served just fine with C.
Even then, a lot that you’d learn outside of that domain wouldn’t be relevant to coding AVR boards."
Rather than courses i would suggest specific topics like found in the book “AVR Programming: Learning to Write Software for Hardware (Make: Technology on Your Time)”:
It’s a recommended buy, and covers everything you need to get started, and a lot for you to grow into.
Heck, i bet if you search the books title online you might be able to find a way to preview the entire book as a pdf.
If you simply focused on programming with c++, youd be spending a LOT of time not relevant to the topic of programming hardware, things like bit twiddling. START HERE, SAVE TIME!
Technically, it’s C++. But most of C++'s features that go beyond C, like objects, are rarely used in Arduino programming.
Second @Caustic’s advice: Unless you have some immediate need to do more general C or C++ programming beyond Arduino, go for an Arduino-specific (or AVR-specific) introduction, which will focus on the language aspects that are relevant. You can always add expand beyond the Arduino-relevant stuff later if you want to.