...see all that stuff is what confused me about programming, at first.
imo, feck number theory, it's not a practical application of what you're trying to learn, it's a "backfill", as it were. If you learn the actual constructs of the language, the theory will eventually come about to make sense and how logic is inherently flawed for being itself. Then you'll get into the semantic difference in how different people would group nested loops, or the use of pointers...either way, that information isn't needed to utilize the tool.
IIRC values like "i" (the square root of -1) are mathematical "conventions" ???
Well i is used by mathematicians, while j is used by engineers. We use j because i is already used as a variable for current, or the flow of electrical charge.