Computer Programming I (Python)
An Introductory Python Course for Math Students
Welcome to Computer Programming I (Python). This site brings together the lecture notes and supporting materials for the course.
Quick links:
- Use the navigation bar at the left to explore modules and lessons.
- Syllabus / program overview
- Exam repository
Course Map
What You Will Build
Across the course you will implement and experiment with:
- Python fundamentals: variables, control flow, functions, recursion, and scope
- Data structures: lists, tuples, sets, dictionaries, and iteration patterns
- Practical algorithms: recommendation systems, traveling salesman, Parrondo’s paradox, Sudoku solver
- Numerical computing: NumPy arrays, vectorization, linear algebra, statistics
- Real-world applications: image processing, MNIST digit recognition, cryptography (RSA)
- Professional tools: IDEs, debugging, code organization, and best practices
Before We Start
We will be programming a lot during this course. If this is your first time programming, I recommend you start with Google Colab. It is a free, cloud-based platform that allows you to write and run Python code in your web browser without any installation.
In order to use Google Colab, you will need a Google account. If you don’t have one, you can create it here. Then, you can access Google Colab here. Your notebooks will be stored in your Google Drive, so make sure you are logged in to your Google account when using Colab. I recommend you include Colab as a tool in your Google Drive. To do so, go to your Google Drive, click on “New” > “More” > “Connect more apps”, and search for “Colab”. Click on “Connect” to add it to your Google Drive.
You can also use VSCode if you prefer a local development environment. This will take a bit more time to set up, but it is a powerful tool that will be useful for your future programming endeavors. We will cover the installation and configuration of VSCode in Module 4.
Where to Go Next
- Start with Module 1: Python Fundamentals
- Review the full schedule in the Syllabus
- If you feel ready, you can also check out the Exam Repository.