A course of study at a college or community college would look something like this -

- Basic DC circuits (Resistors, Ohm's Law, Kirchhoff's Laws)

- Basic AC circuits (Capacitors & Inductors)

- Basic active & semiconductor components & circuits (Diodes, Transistors, MOSFETs)

- Basic digital logic & circuits (and-gates, or-gates, flip-flows, Boolean logic/binary math, etc.)

- Analog circuits (op-amps, etc.)

- Microprocessors/Microcontrollers & programming

--- You'd also learn about radio frequency transmission and if you study Electronic Engineering you'd learn some applied math (Fourier analysis and Laplace transforms, after learning your "basic" calculus and differential equations.)

Of course, most hobbyists skip-ahead and just start playing around with the Arduino. But, it is helpful to understand the relationship between voltage, resistance, and current (Ohm's Law). And, how current & voltage are summed & divided in series & parallel circuits (Kirchhoff's Laws).

Ohm's Law is fairly simple to learn, and it's not too hard to memorize the "Ohm's Law Triangle". This is a generalization, but in most normally-operating real world circuits, voltage is fixed and known, so we're usually calculating the resistance or the current.

Kirchhoff's can seem mathematically complicated, so it's easier to learn the concepts by learning about currents & voltages in series and parallel circuits.

Then it's good to learn about how LEDs behave (concerning current & voltage) and how to use a transistor or MOSFET to control higher current & voltage than the microcontroller can directly supply.

Then, you only have to learn whatever you need to know for whatever project you're working on.

------------------------------

Programming is actually a "different subject", but the Arduino is a good-easy way to learn the basics of programming.* The 2 most important concepts (in any programming language) are conditional execution (if-statements, etc.) and loops (doing things over-and-over, usually until some condition is reached). Of course there's a LOT more to programming than that, and C++ is a complex language, but once you understand those concepts you can understand how programs work and why programming is useful.

* If you were to take a college/university microcontroller class, computer programming would be a prerequisite.