What are general aspects of programming? Math? Logic? They are not distinct to programming, though. You need them at least in physics and el. engineering, too. Everything else highly depends on the language and what you want to implement. If you want to make a website, you need a lot more abstract concepts compared to writing an operating system, which requires a lot of hardware knowledge. If you write a program in ASM or Basic, you will have to deal with completely different problems compared to using Kotlin or Rust.
As such, I recommend using a platform, like CodeWars, which lets you choose your language and then build up knowledge in that language with little problems. It teaches you a bit about programming, about the language and about real-world problems. It might be more focused than what you are looking for, though.