Lectures

Lectures are in-person. Slides, lecture notes and useful links are found on this page.

Lecture Slides

Topic

Notebooks

Links

Introduction

Readings:
None

Computer Programs

Readings:
Zelle Ch.1

Writing Programs

Readings:
Zelle Ch.2
1-Temperature Converter
2-Elements of Programs
3-Definite Loops
4-Why the eval function is bad

Numbers

Readings:
Zelle Ch.3
1-Numerical Data Types
2-Namespaces
3-Distance Formula
4-Finding Roots of a Quadratic Equation
5-Issues with float
6-Factorial and the Accumulator Pattern
7-How Range Works

Objects & Graphics

Readings:
Zelle Ch.4
1-Graphics Programming
2-Drawing Eyes to Understand Object Aliasing
3-Drawing a Triangle Using Polygon
5-Handling Text Input
6-Calculating pi using graphics
7-Faking Buttons

Sequences

Readings:
Zelle Ch.5
1-The String Data Type
2-Indexing
3-Slicing
4-String Operations Using Arithmetic Operators
5-Creating Usernames
6-Month Number to Month Abbreviation
7-An Introduction to Lists
8-Better Month Number to Month Name Convertor
9-Strings and Secret Codes
10-String Methods
11-Better Change Counter
12-Working with Files

Functions

Readings:
Zelle Ch.6
1-Happy Birthday
2-Formally Defining Functions
3-Positional Parameters
4-Returning Values From Functions
5-Keyword Parameters
6-Modifying Parameters
Midterm Exam Info

Decision Control

Readings:
Zelle Ch.7
1-Basic Comparisons
2-Temperature Conversion with Simple Decisions
3-Testing User Input
4-Boolean Values in Python
5-Quadratic Formula with Decisions
6-Quadratic Formula with Exception Handling

Loops & Booleans

Readings:
Zelle Ch.8
1-Max of Three
2-For Loop Review
3-Indefinite Loops

Simulation & Design

Readings:
Zelle Ch.9

Classes

Readings:
Zelle Ch.10

Data Collections

Readings:
Zelle Ch.11

Object-Oriented Design

Readings:
Zelle Ch.12

Algorithms

Readings:
Zelle Ch.13

Course Review

Readings:
None