programming_resources

Programming Resources

Python Programming Resources

Python programming resources

Note: there are currently two versions of Python that are commonly taught and used – Python 2, and Python 3. Python 3 is the most recent version, but for a variety of reasons Python 2 still is fairly popular among many developers despite end-of-life in 2020.

If you're not sure which version to pick, my recommendation would be to pick the resource which looks like the best fit for you, and just use whatever version they're recommending. Luckily, the differences between the two are very minor (at least from the perspective of the beginner), so there's really no difference if you learn using Python 2 vs Python 3.

That said, when working on your own programs, I would always pick Python 3 unless you have good reason to otherwise. The Python community, with the exception of a few holdouts, is moving towards Python 3 and abandoning Python 2.

Python Online courses

  • edx's Introduction to Computer Science and Programming Using Python

The companion book can be found here. The course is designed for beginners, part of a 2-part series, is self-paced, and has an emphasis on computation and data science.

  • MIT Open Courseware also offers a gentler “lead-in” course designed for those with no programming background that you can take before taking the above: Building Programming Experience: A Lead-In to 6.001.
  • MIT Open Courseware's A Gentle Introduction to Programming Using Python

A gentler version of the above.

  • Coursera's Programming for Everybody (Python)

For beginners; requires registration.

  • Udacity's Programming Foundations with Python

Requires some prior programming experience; focuses on object-oriented programming.

  • Team Treehouse's Python course

Allows a free 14-day trial, but later requires payment. Interactive resources: LearnPython An interactive online guide that teaches basic Python. Try Python Another interactive online guide. Video tutorials: N/A

Python Books

  • Automate the Boring Stuff with Python - A book for complete beginners. It is aimed at office workers, students, administrators, and hobbyists who want to learn how to write practical programs rather than necessarily become software engineers. From the Invent with Python author.

A comprehensive introductory text on Python, focusing on teaching computer science fundamentals and problem-solving skills through Python. Suitable for beginners.

  • Think Python - Another comprehensive introductory text on Python, with a similar focus as the previous resource. Also suitable for beginners.
  • The Official Python tutorial (for Python 2 and Python 3). Moves a little quickly, but is very comprehensive and thorough. This is probably the best resource for experienced programmers who want to learn Python, since it doesn't linger for too long on basic material.
  • Problem Solving with Algorithms and Data Structures - A fantastic introduction to data structures and algorithms and other traditional computer science concepts using Python. While it does briefly cover Python syntax, it assumes that you already have some basic prior experience.
  • Dive into Python 3 - An accelerated introduction to Python. Warning: do NOT use “Dive into Python 2”. It's very outdated.
  • Invent with Python - Teaches programming through the creation of computer games with Python and Pygame. For beginners.
  • The Hitchhiker's Guide to Python - A comprehensive introduction to the Python ecosystem. Covers how to properly configure and set up a development environment in Python, best practices, writing idiomatic code, what the best 3rd party libraries are for different tasks, and shipping your code. Useful for both beginners and experts (however, the guide does not actually teach Python itself).

Python tutorials (online)

  • pycrumbs - A huge list of many useful articles, tutorials, and snippits on Python, ranging from basic to advanced.

More free books

  • PyMOTW - A tour of the Python standard library through short examples.

Books (paper)

  • Import Python
  • A catalog of Python books (some are free)

Exercises

  • Pyschools - Exercises and challenges in Python. Challenges require (free) registration.
programming_resources.txt · Last modified: 2024/04/28 03:21 by 127.0.0.1