Schedule

Jan 9

Class Logistics
What is Programming?
Programming Languages

Jan 11

Reading Assignment: Chapter 1

Debugging
Interpreters vs Compilers
Python
Python Prompt

Jan 18

Reading Assignment: Chapter 2

Python Values (numbers and strings)
Expressions and Statements
Variables
Input

Jan 23

Reading Assignment: Chapter 7

Boolean Values
Logical Operators
Conditional Execution

Jan 25

Reading Assignment: Chapter 5

Modules
The math module
The random module

Jan 30

Reading Assignment: Chapter 4

Repeated execution: The for Loop
The range function

Feb 1

Reading Assignment: Chapter 8 (Image Processing can be skipped)

The while statement
"Sentinel" values and termination
Infinite looping
Why programming is difficult

Feb 6

Reading Assignment: Chapter 9

Strings and string operations
Slicing
Unicode
Traversing characters of strings

Feb 8

Reading Assignment: Chapter 10 (Section 10.1 - 10.17)

Lists and list operations
Mutating lists and aliasing
Nested lists
Traversing lists

Feb 13

Reading Assignment: Chapter 3

Debugging
Midterm Review Session

Feb 15

Midterm Exam

Feb 22

Reading Assignment: Chapter 6

Functions
Return Values
Parameters
Local and Global Variables

Feb 27

Reading Assignment: Chapter 15

Recursion
Loops vs Recursion
Divide-and-Conquer
Induction Proofs and Recursion

Mar 1

Reading Assignment: Chapter 10 (Section 10.18 - 10.30)

Side Effects
Pure Functions
Docstrings
Default Arguments
Named Arguments
Primitives vs Defining Functions
Tuples

Mar 6

Reading Assignment: NumPy - Multidimensional Data Arrays by J.R. Johansson

NumPy
Scientific Computing
Matplotlib Plotting and Visualization
Finding Correlations

Mar 8

Reading Assignment: Chapter 14 (Section 14.1 - 14.20)

GUI programs vs Command line programs
Widgets
Layouts
Events and Commands
Browsers and Web Pages
Web applications
Flask

Mar 13

Reading Assignment: Chapter 12

Dictionaries
Dictionary Operations and Methods
Dictionaries and Aliasing
Sets

Mar 15

Reading Assignment: MyPy Tutorial by Alex Shaindlin

Types
Type Annotations
Type Checking with MyPy
Final Exam Review Session

Mar 21

Final Exam