# Lectures¶

## Lecture Slides¶

Topic

Notebooks

Introduction

None

Computer Programs

Zelle Ch.1

Writing Programs

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

Numbers

Zelle Ch.3
1-Numerical Data Types
2-Namespaces
3-Distance Formula
4-Finding Roots of a Quadratic Equation
6-Factorial and the Accumulator Pattern

Objects & Graphics

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

Sequences

Zelle Ch.5
1-The String Data Type
2-Indexing
3-Slicing
4-String Operations Using Arithmetic Operators
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

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

Decision Control

Zelle Ch.7
1-Basic Comparisons
2-Temperature Conversion °C to °F with Warnings!
3-Testing User Input
4-Boolean Values in Python

Loops & Booleans

Zelle Ch.8
1-Max of Three
2-For Loop Review
3-Indefinite Loops
4-Interactive Loop Pattern
5-Sentinel Loop Pattern
6-File Loops
7-Nested Loops
Midterm Exam Info

Simulation & Design

Zelle Ch.9
1-Pseudorandom Numbers
2-Simulating Racquetball

Classes

Zelle Ch.10
1-Defining Classes
2-Complex Number Class
3-Class Variables
4-Multi-Sided Dice
5-Multi-Sided Die (Improved)

Data Collections

Zelle Ch.11
1-List Operations
2-Simple Statistics
3-Statistics with Lists
4-List of Objects (Using MSDie)
5-Dictionaries
6-Word Frequency

Object-Oriented Design

Zelle Ch.12
1-Object-Oriented Version of Racquetball

Algorithms