Introduction to Programming in Python
Spring 2026
Office Location:
Duke Hall #209
Phone: 909-748-8630
E-Mail: joanna_bieri@redlands.edu
(Email or Teams are my preferred contact methods)
Programming Lab:
TBA
-
Link to our Canvas - for submitting work and checking grades
-
Important Course Documents
Course Syllabus
Schedule of Topics
NOTE: as the semester progresses we may change up the schedule a bit to suit our class pace and interests. The most recent schedule will be posted here.
-
Daily Assignments - Reading - Handouts
-
Day 1 - Wednesday - 1/7 - Click Here
To be successful in programming it is important to not give up. Sometimes there are really annoying errors in the code and you have to persist in finding them. There is also often a very steep learning curve, but once you get it, it's amazing!
PRE-CLASS:None
CLASS TIME:Talk about syllabus and class expectations
AFTER CLASS:
Notes (how to) - Set up your computer (important that this is done this week)
Remember to pull the class files to your local machine and make a copy in your working directory!
Hello World! - your first program - Practice 1
Daily practice problems and explorations will be done using an Interactive Python Notebook (.ipynb). In notebooks you can run one line of code at a time. These are great for learning and experimentation. Anaconda is a big software packages that contains LOTS of useful apps. I usually use Jupyter Lab to interact with my Interactive Python Notebooks.
When submitting more professional code, we use a Python script (.py). This is a single file that contains all your code. You run all the lines of code at the same time and see the output. Many people use a IDE to interact with and run python code. What is an IDE? Integrated Development Environment. Anaconda comes with Spyder, but you can use any IDE you like. For example" You might try PyCharm for Education. You can also just create a .py file in Jupyter Lab and then run it using a terminal window. I will explain this more as we get ready to hand in our first programming assignment.
Start Prepping for Day 2
-
DAY 2 - Monday 1/12
PRE-CLASS:Following Chapter 2 of our book:
CLASS TIME:
Video: Introduction to Python and Data Types
Video: Jupyter Notebook - Practice 2 - Walk Through
Lecture Notes
Practice 2 Assigned (aka Lecture Practice Problems Day 2) - you should work on this before class! Get these from the Git Repo! In past classes I had a link to a google colab, this semester I am posting everything to GIT. If I ever mention getting practice problems from google colab - change that in your mind to getting practice probems from GIT.Variables - The building blocks of programming
AFTER CLASS:
Operations - Hey computer, do math!
Comments - What does this code do?
Programming Assignment 1 Assigned - due 1/17
Prep for Day 3
EXTRA:How to Succeed - Daily Workflow!
Using PyCharm to run Python
Using a terminal window to run Python
Having trouble with Jupyterlab-git? Try github desktop. It will be a separate app that can add the files from git to your computer.
-
DAY 3 - Wednesday 1/14
PRE-CLASS:Following Chapter 3 of our book:
CLASS TIME:
Video: Introduction to Lists
Video: Jupyter Notebook - Practice 3 - Walk Through
Video: The Zen of Python
Lecture Notes
Practice 3 Assigned - you should work on this before class!Lists - really cool lists!
AFTER CLASS:
Programming Assignment 1 Assigned - due 1/16
Prep for Day 4
EXTRA:Let me know what videos you want!
- No Class - 1/19/25 - Martin Luther King Jr. Holiday
-
DAY 4 - Wednesday 1/21
PRE-CLASS:Following Chapter 4 of our book:
CLASS TIME:
Video: Introduction to Loops, Slicing, and Tuples
Video: Jupyter Notebook - Practice 4 - Walk Through
Lecture Notes
Practice 4 Assigned - you should work on this before class!Loops - really cool loops!
AFTER CLASS:
Programming Assignment 2 Assigned - due 1/23
Prep for Day 5
-
DAY 5 - Monday 1/26
PRE-CLASS:Following Chapter 5 of our book:
CLASS TIME:
Video: Introduction to Conditionals, If and Else
Video: Jupyter Notebook - Practice 5 - Walk Through
Lecture Notes
Practice 5 Assigned - you should work on this before class!Conditionals, Booleans, If, and Else
AFTER CLASS:
Programming Assignment 3 Assigned - due 1/30
Prep for Day 6
Check in - How are things going?
-
DAY 6 - Wednesday 1/28
PRE-CLASS:Following Chapter 5 of our book:
CLASS TIME:
Video: Jupyter Notebook - Practice 6 - Walk Through - if-elif-else
Lecture Notes
Practice 6 Assigned - you should work on this before class!More of if-elif-else
AFTER CLASS:
Programming Assignment 3 Assigned - due 1/30
Prep for Day 7
-
DAY 7 - Monday 2/2
PRE-CLASS:Following Chapter 6 of our book:
CLASS TIME:
Video: Dictionaries
Video: Jupyter Notebook - Practice 7 - Walk Through
Lecture Notes
Practice 7 Assigned - you should work on this before class!Dictionaries
AFTER CLASS:
CHOOSE ONE:
Programming Assignment 4 Assigned - due 2/6
Programming Assignment 4 Advanced Option - due 2/6
If you are feeling good about the content so far, then please challenge yourself to do the Advanced version of the assignment. I am happy to help you work on the Advanced option! It is a hard, but fun, challenge.
Prep for Day 8
-
DAY 8 - Wednesday 2/6
PRE-CLASS:Following Chapter 7 of our book:
CLASS TIME:
Video: User Inputs
Video: While Loops
Video: Jupyter Notebook - Practice 8 - Walk Through
Lecture Notes
Practice 8 Assigned - you should work on this before class!User Inputs and While Loops
AFTER CLASS:
CHOOSE ONE:
Programming Assignment 4 Assigned - due 2/6
Programming Assignment 4 Advanced Option - due 2/6
Tf you are feeling good about the content so far, then please challenge yourself to do the Advanced version of the assignment. I am happy to help you work on the Advanced option! It is a hard, but fun, challenge.
Prep for Day 9
-
DAY 9 - Monday 2/9
PRE-CLASS:Start Studying for the exam!
CLASS TIME:
Practice 9 Applied Data Analysis - Exam Practice - you should work on this before class!Exam Review
AFTER CLASS:
No NEW - programming assignment due this week.
Prep for Day 10 - Exam 1 - Practice Exam 1
posted on canvas
-
DAY 10 - Wednesday 2/11 - Exam 1
PRE-CLASS:Re-watch videos
CLASS TIME: AFTER CLASS:
MaKe sure you can do all the practice problems without the help of AI or your peers. These will not be available. Only your hand writen notes will be available.
Try out the practice exam: Practice Exam 1
Prep for Day 11
-
DAY 11 - Monday 2/16
PRE-CLASS:Video: Reading and Writing Data
CLASS TIME:
Video: Jupyter Notebook - Practice 11 - Walk Through
Video: Writing Files in COLAB
Practice 11 Assigned - you should work on this before class!Reading and Writing Data
AFTER CLASS:
Continue using and understanding: Loops, Data Types, Conditional Statements, and Inputs.
Programming Assignment 5 Assigned - due 2/20 at 11:59pm
Programming Assignment 5 - DATA - save to a file
Prep for Day 12
-
DAY 12 - Wednesday 2/18
PRE-CLASS:Video: Introduction to Pandas!
CLASS TIME:
Practice 12 Assigned - you should work on this before class!Work on using Pandas for Data Analysis
AFTER CLASS:
Programming Assignment 6 Assigned - due 2/28 This time the assignment is part of an exploratory Jupyter Notebook - you can find it on Git - There is an Advanced "Challenge" problem at the end of this assignment. Everyone should do the exploratory analysis, but you might also try the challenge problem.
Prep for Day 13 - After Spring Break
Start thinking about final project ideas.
Each day I will post the lecture videos, homework, additional reading, and other information. Make sure to check here for each day of class. -
Day 1 - Wednesday - 1/7 - Click Here
-
Homework Solutions - Exam Review
HW 1 - Introduction to Python SOLN
All Practice Problems and Programming Assignment solutions are available on Canvas
Link to the Book
