Recommended Reading
Online Courses:
data camp – Great for beginners with a built-in online python interpreter and over 100+ courses in SQL, Python and R. You can have all courses for between $180-300 / year.
udemy.com – There are great courses for all levels here. I really love the tutorials on web development from this platform. Costs about $15.00-$20.00 per 100 hours of instruction during sales.
Python Books:
Think Python – A good beginner-level book that has really nice problems. For functions, one of the practice problems is to do fractals. It also has a section dedicated to GUI with a turtle in it.
Automate the Boring Stuff with Python – A great book on practical python exercises in the work place (office). I would also call this a beginners book.
Fluent Python – A great intermediate to advanced book that explores some of the deeper parts of the language. Lots of object oriented techniques included.
Classic CS Books:
The Algorithm Design Manual – A great book on the topic of algorithms and data structures. If you want to learn more about heaps, graphs and sorting algorithms. This would be a good book to read.
Design Patterns – The book that embodied the design patterns concept of OOP. This book has a strong emphasis on functional decomposition over inheritance (advanced Object-Oriented programming book).
Interview Books:
Cracking the Coding Interview – One of the best interview books I’ve read on coding interviews. It has great sections on common topics and how to approach those problems. It shares a lot of topics with The Algorithm Design Manual, but is less theory-based with shorter chapters (focused on practice problems).