What to do, When
Monday Wednesday Thursday
Session 1 (December 2)

Introduction to: Python, PyCharm, Git, Objects, and Simple Loops

Session 2 (December 4)

Defining Functions
Calling Functions & Methods
Using Objects
Correcting Syntax Errors
Tracing Function Calls by Hand

Session 3 (December 5)

Definite Loops, Accumulators, and Summing
Arguments and Parameters
Names: Scope and Lifetime
Memory: The Stack, Heap and Garbage Collector
Unit Testing; Test-Driven Development
Tracing Loops by Hand
Pair Programming

Session 4 (December 9)

The Accumulator Pattern: Summing, Counting, and in Graphics
Conditionals
Debugging with Print
Tracing Code by Hand

Session 5 (December 11)

Boolean Logic
Debugging Run-Time Errors
Stack Traces
Code Reviews
Practice for Exam 1

Session 6 (December 14)

More Practice for Exam 1

Session 7 (December 16)

Exam 1 is Monday, December 16 in the evening from 8:30 p.m. to 11 p.m.

Follow the link for rooms, your Admission Ticket and more.

No regular class Monday, December 16.

Session 8 (December 18)

Names are References to Objects
Box-and-Pointer Diagrams
Mutating Objects
The Debugger

Implementing Classes, I

Session 9 (December 19)

Implementing Classes, II

Winter break
December 23
Winter break
December 25
Winter break
December 26
Winter break
December 30
Winter break
January 1
Winter break
January 2
Session 10 (January 6)

Sequences, I
What is a Sequence?
Patterns for Sequences: Iterating Through All or Part of a Sequence

Session 11 (January 8)

Sequences, II
Patterns for Sequences: Find, Building a Sequence, and Max-Min

Session 12 (January 9)

Sequences, III
More Patterns: Mutating Lists; Two-indices-each-iteration; Iterating-in-Parallel

Session 13 (January 13)

Debugging Revisited
Looping Revisited
Practice for Exam 2

Session 14 (January 15)

More Practice for Exam 2

Handed out in class (do NOT print):
Practice paper-and-pencil problems for Exam 2.

Check your answers against this Answer Key.

Session 15 (January 16)

Waiting for Events
Indefinite Loops
Input from a Console
File Reading and Writing

Session 16 (January 20)

Exam 2 is Monday, January 20 in the evening from 8:30 p.m. to 11 p.m.

Follow the link for rooms, your Admission Ticket and more.

No regular class Monday, January 20.

Session 17 (January 22)

Loops within Loops
Sub-Sequences within Sequences

Session 18 (January 23)

More Loops within Loops
More Sub-Sequences within Sequences

Session 19 (January 27)

Practice for Exam 3

Session 20 (January 29)

More Practice for Exam 3

Handed out in class (do NOT print):
Practice paper-and-pencil problems for Exam 3.

Check your answers against this Answer Key.

Session 21 (January 30)

Iterative Enhancement
Functional Decomposition
Bigger problems; More complicated logic and loops
Slides for today

Session 22 (February 3)
TBD
Session 23 (February 5)

Exam 3 is TUESDAY, February 4 in the evening from 8:30 p.m. to 11 p.m.

Follow the link for rooms, your Admission Ticket and more.

No regular class WEDNESDAY, February 5.

Session 24 (February 6)

Capstone Team Project begins
Stage 1 begins
Using a Team Repository
Introduction to Robots
Robot Motion

Session 25 (February 10)

Capstone Team Project
Stage 1 continues
Robot Sensors

Session 26 (February 12)

Capstone Team Project
Stage 1 continues
Event-Driven Programming
Graphical User Interface (GUI) Programming
Tkinter for a GUI for Teleoperation
MQTT for Computer-to-Computer Messaging
Printing Sensor Values
Integrating MQTT with Tkinter for a GUI for Teleoperation

Follow these instructions with your instructor -- do NOT get ahead.

Session 27 (February 13)

Capstone Team Project
Stage 1 finishes, Stage 2 begins
Robot Can Be Teleoperated and Print Sensor Values
Simple Object-Oriented Design

Session 28 (February 17)

Capstone Team Project
Stage 2 finishes, Stage 3 begins

Session 29 (February 19)

Capstone Team Project
Stage 3 continues

Session 30 (February 20)

Capstone Team Project
Stage 3 (and the project) ends

Capstone Team Project - Specification and How To Turn It In. No final exam for those who have above a 70% average on BOTH paper-and-penci and on-the-computer exams.