Message from C, C++ talks
There is two ways to learn programming. You can start from the "bottom" to the "top" or vice versa. What do I mean? "Bottom" it is learning how the computing machines work and "top" itis learning how to write code for these machines. So if you have a lot of free time I suggest you to start from the "bottom" and go to the "top". In this case you gonna understand programing much dipper then people that know only how to coding. But if you want to get job or realise your project faster you can start from the "top".
You also can check this video(turn on subs). If you know nothing about programing I think it will make a sence