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. – 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).