What to do, When
Tuesday Thursday Friday
No class
September 3
Session 1 (September 5)

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

We will use this Testing your PyCharm and Git handout in-class during Session 1. No need to do anything with it until class.

Session 2 (September 6)

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

Session 3 (September 10)

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 (September 12)

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

Session 5 (September 13)

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

Session 6 (September 17)

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

Your first priority is to prepare for Exam 1.

Here is the in-class exercise, to be done per instructions you receive from your instructor.

Session 7 (September 19)

Exam 1 is Wednesday, September 18 in the evening from 7:30 p.m. to 10 p.m. Follow the link for rooms, your Admission Ticket and more.

No class Thursday, September 19.

Session 8 (September 20)

Implementing Classes, I

Session 9 (September 24)

Implementing Classes, II

Session 10 (September 26)

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

Session 11 (September 27)

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

Session 12 (October 1)

Sequences, III
More Patterns: XXX
Mutating Lists

Session 13 (October 3)

Debugging Revisited
Practice for Exam 2

Session 14 (October 4)

Putting It All Together

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

Check your answers against this Answer Key.

Session 15 (October 8)

Exam 2 is Tuesday, October 8. Start any time from 5 to 9 p.m. (your choice) or possibly earlier. Follow the link for rooms, your Admission Ticket, and more.

No regular class Tuesday, October 8.

Fall break
October 10
Fall break
October 11
Session 16 (October 15)

Waiting for Events
Indefinite Loops
Input from a Console

Session 17 (October 17)

Loops within Loops
Sub-Sequences within Sequences

Session 18 (October 18)

More Loops within Loops
More Sub-Sequences within Sequences

Session 19 (October 22)

Practice for Exam 3

Session 20 (October 24)

Practice for Exam 3

Session 21 (October 25)
Optional Exam 2b paper-and-pencil exam to raise your paper-and-pencil score from Exam 2.

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

Check your answers against this Answer Key.

Session 22 (October 29)

Iterative Enhancement
Functional Decomposition
Bigger problems; More complicated logic and loops
Slides for today
Put your names here when you have COMPLETED the exercise

Session 23 October 31 (Happy Halloween!)

Exam 3 is Wednesday, October 30 in the evening from 7:30 p.m. to 10 p.m. Follow the link for rooms, your Admission Ticket, and more.

There ** IS ** regular class Tuesday, October 29.

Regular class is cancelled on Thursday, October 31, since Exam 3 is the preceding evening.

Session 24 (November 1)

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

Session 25 (November 5)

Capstone Team Project
Stage 1 continues
Robot Sensors

Session 26 (November 7)

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 (November 8)

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

Session 28 (November 12)

Capstone Team Project
Stage 2 finishes, Stage 3 begins

Session 29 (November 14)

Capstone Team Project
Stage 3 continues

Session 30 (November 15)

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.