Resources
Supplementary class materials
“Python Programming — Getting Started”
This web page provides additional information and resources for attendees of the class. The lists here are not intended as exhaustive, nor should they be construed as endorsements, but they should help you get started.
Textbooks, etc.
- Here are several books which you can read for free. Depending on the book, you may be able to read it online or download a PDF file or e-book version. (Or check the Arlington public library or a good bookstore — they have dozens of books on the subject!)
- Python for Everybody — the outline for this course (2020 and earlier)
- Automate the Boring Stuff with Python
- The Big Book of Small Python Projects
- Python Programming Exercises, Gently Explained
- A Byte of Python
- The Python Game Book
- Think Python: How to Think Like a Computer Scientist,2nd edition
- How to Think Like a Computer Scientist: Learning with Python 3
- Dive Into Python 3
- Beginner's Python Cheat Sheets
- Practice Python — beginner Python exercises
- Programming in Python — 28 free video tutorials
Python Software
- Python is free software. Use these links to download Python for your own computer, regardless of whether it's running Windows, MacOS, or Linux.
- Python — this is the official Python distribution, which has everything you need to get started, including the IDLE development environment. Most books and tutorials are based on this. Be sure to download version 3.something, not version 2. Available for Windows, MacOS, Linux; also Android for Chromebook.
- *** PyCharm — Includes the official Python distribution and adds a much more user-friendly user interface — highly recommended. Windows/MaxcOS/Linux
- *** Google Colab — runs in your web browser, so no need to install any software; requires an Internet connection to use. Access for free with any Google account. (10/2025: I haven't taught with this one before, so it may be a learning experience for all of us.)
- PythonAnywhere — this is a version which runs in your Web browser, so no need to install anything on your computer. Sign up for a free "Beginner" account, which should be sufficient. Requires an Internet connection to use. (I find it a little cumbersome and confusing, but that might be just me.)
- replit.com — another free version which runs in your Web browser. Not as sophisticated, but runs in a web browser so no software installation required and therefore much simpler to deal with. (I find this is easier to work with than PythonAnywhere, but the limitations of a free account are now much more annoying, so I don't use it with my classes anymore.)
- Pydroid 3 - IDE for Python 3 — for Android phones (pricey?)
- QPython 3L - Python for Android
- Pythonista 3 - for iPhone/iPad
- Pyto - for iPhone/iPad
Text Editors
- Many people prefer using a programming text editor to create and edit their Python programs, as they contain more useful features than the basic IDLE. Some of the textbooks suggest these, but if you're happy using IDLE (or pyCharm), no need to think about these. These are just a few of the very many good choices.
- Notepad++ — a very popular free editor for Windows
- Sublime Text — For Windows, MacOS, Linux. It's highly regarded, and although it costs, you can try it out for free (with no time restriction).
- Code with Mu: a simple Python editor for beginner programmers. Windows/MacOS/Linux
- Visual Studio Code — a free editor from Microsoft, very powerful and now very popular and highly regarded. Windows/Mac/Linux or web-based
Starter code and data for class hands-on exercises
We will be using these files for many of the hands-on exercises during class. To download to your computer, right-click one of these links, then click on the option to save the linked content (the exact wording will vary, depending on the browser you're using), then save it to your Python projects folder.
Starter code for PyCharm
- 11-Output.py
- 12-Variable-Assignment.py
- 13-Variable-Assignment-Challenge.py
- 14-Input-With-Variables.py
- 21-Simple-Math.py
- 22-Math-With-Variables.py
- 23-Changing-variables.py
- 24-Math-With-Input.py
- 31-Selection-With-One-Outcome.py
- 32-Selection-With-Two-Outcomes.py
- 33-Selection-With-Three-Or-More-Outcomes.py
- 41-Introducing-While.py
- 42-While-loops-with-counters.py
- 51-Output-From-Lists.py
- 52-Change-Items-In-A-List.py
- 54-Add-and-Remove-From-Lists.py
- 55-Adding-To-and-Removing-From-Lists.py
- 61-Functions-With-Output.py
- 62-Functions-That-Return-A-Value.py
- 63-Functions-With-Arguments.py
- mbox-short.txt
- mbox.txt
Starter code for Colab
- 11-Output.ipynb
- 12-Variable-Assignment.ipynb
- 13-Variable-Assignment-Challenge.ipynb
- 14-Input-With-Variables.ipynb
- 21-Simple-Math.ipynb
- 22-Math-With-Variables.ipynb
- 23-Changing-variables.ipynb
- 24-Math-With-Input.ipynb
- 31-Selection-With-One-Outcome.ipynb
- 32-Selection-With-Two-Outcomes.ipynb
- 33-Selection-With-Three-Or-More-Outcomes.ipynb
- 41-Introducing-While.ipynb
- 42-While-loops-with-counters.ipynb
- 51-Output-From-Lists.ipynb
- 52-Change-Items-In-A-List.ipynb
- 54-Add-and-Remove-From-Lists.ipynb
- 55-Adding-To-and-Removing-From-Lists.ipynb
- 61-Functions-With-Output.ipynb
- 62-Functions-That-Return-A-Value.ipynb
- 63-Functions-With-Arguments.ipynb
- mbox-short.txt
- mbox.txt