Lectures

Click on a lecture to see the summary of that day, together with optional reading or viewing. You can also download the slides and any demo code.

Because of recent changes in venue, we are not able record lectures in this course. You are expected to attend in order to learn the material. You may review the lesson videos recorded during COVID for supplemental instruction.

Algorithm Design

Algorithm Design

This lecture references Lesson 10.

Your first assignment was very much do-this/do-that. Today we step back and see how we would design a complex program from the beginning.    More ›

September 19, 2024 handout slides demos

Conditionals and Program Flow

Conditionals and Program Flow

This lecture references Lesson 9.

In this lecture, we demonstrate the difference between program structure and program flow. We also introduce our first control structure: the conditional.    More ›

September 17, 2024 handout slides demos

Specifications and Testing

Specifications and Testing

This lecture references Lessons 7 and 8.

In this lecture we introduce the concept of testing as a formal process. This material forms the basis of software engineering.    More ›

September 12, 2024 handout slides demos

Strings

Strings

This lecture references Lesson 6.

In this lecture we introduce how to process text in Python. These techniques will be used in the first assignment.    More ›

September 10, 2024 handout slides demos

User-Defined Functions

User-Defined Functions

This lecture references Lesson 5.

In this lecture we introduce how to define our own functions. We also develop a mental model for executing functions.    More ›

September 5, 2024 handout slides demos