Version 2. May 1, 2019.
Changes:
Changes:
Version 2: Changed definition of re_dog in Question 4.
Version 3: Allows reading file in binary mode or on Unix/Mac.
Data file for Lab 4.
This is a tutorial in the form of Jupyter notebooks that allows you to modify and run the examples. We'll be following this tutorial in the lectures. To use it, unpack the zip file to a folder where your notebooks are kept (typically under your user or home directory). This is CC0 licensed. From: https://github.com/jakevdp/WhirlwindTourOfPython
This is a PDF version of the Jupyter notebook-based tutorial above. From: http://www.oreilly.com/programming/free/files/a-whirlwind-tour-of-python.pdf
This is the Python tutorial that is part of the "official" Python documentation from python.org. It is also installed locally when you install Python (if the installation included the documentation).
Links to some good (and free) e-books on Python.
This is a textbook for an introductory computer science course that uses Python. It's a good reference if you need introductory information on programming in general.
A nice interactive textbook based on an earlier version of the Think Python book. Runs Python code in your browser.
An introduction to Python with several chapters describing how to automate computer-based tasks involving different types of documents (spreadsheets, PDF files), software (browsers, word processors) and network protocols (web, e-mail).
Interactive, Python-based Computer Science textbook covering the traditional first-year CS curriculum. Too detailed for this course but might be useful as a reference for specific algorithms or data structures.
This is a well-reviewed book but has a steep learning curve. It's useful if you need more in-depth information on a particular topic.
A collection of software that includes Python, Jupyter Notebook and many packages. Available (free) for Windows, Mac and Linux. We'll be using Python version 3.7 in the lectures and labs. If you have limited disk space you can use miniconda to install only the packages you need. With some effort you can also install most of the packages on Android as well.