There isn’t anything better to learn the concepts of programming than Scratch, a GUI based, programming kit from MIT. It’s like programming with Lego Blocks!
I started programming with BASIC, FORTRAN and COBOL in the 70s, and I have programmed in C, C+, Pascal, COBOL, FORTRAN, PERL, Assembly and all kinds of scripting languages. Noting is more frustrating than having to look up how to put something together in a language you don’t know. You spend all your time looking in reference manuals.
Forget Object Oriented programming languages for learning. Not only do you have to learn the language, you have to learn the object library.
That is not the case with Scratch. Everything you need to know is on screen. You just drag the programming elements into program execution area and click them together.
You can build multi-threaded programs in minutes! You will very quickly learn the concepts like FOR LOOPS, WHILE LOOPS and IF THEN statements, and be ready for other languages like Pascal or VisualBasic, then move on to more challenging languages like PERL, with it’s super-powerful pattern matching regular expressions and advanced Object-oriented languages like C++, Java or Delphi.
You should start out by trying to write simple games. Nothing will teach you more. You will have to let the player have a turn, computer have a turn, display information on the screen and save data.
After writing games in high-school, I got my first job programming. The tech manager wanted to teach me about finite-state machines. I realized it was the same way I had coded my games. The only thing I would have gotten from a college degree would have been the names of what I already knew.
So, get Scratch, write games, have fun. You’ll be surprised what you will learn.