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
![]() |
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
![]() |
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
![]() |
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
![]() |
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
![]() |
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 |