Setting up Code::Blocks IDE:
An actively maintained tutorial on the C++ core foundation (with helpful user comments/?'s at the bottom of each lesson):
A decent math site to learn by example (very little verbage):
If you want something more interactive to stay interested (ESP/ESP32 oriented, but still simplistically demonstrates the common Arduino API).
A basic how-to on configuring random hardware in Arduino from datasheets using Wire.h (just a companion video for above link... can't find a text tutorial right now):
If you ever ponder the deeper decision of "why" while programming, it's simply because someone long ago decided to go left instead of right, but right was just as valid... so just roll with it.