Writing games are a really fun way to learn to program. The best way to learn how is to find an open source game that you like, figure out how to build it, then start modifying the game to your personal taste.
Learning the basics of writing compilers will be surprisingly helpful for all kinds of programming tasks. The Dragon Book is the best:
Learning the basics of writing compilers will be surprisingly helpful for all kinds of programming tasks. The Dragon Book is the best:
https://www.amazon.com/Compilers-Principles-Techniques-Tools...
Too bad the prices are so high for it. The original version is much cheaper:
https://www.amazon.com/Principles-Compiler-Addison-Wesley-in...
Learning calculus is a great way to train your mind to think better.