Lectures

Click on a lecture to see the video, if it is available. Videos are restricted to a valid Cornell netid login. However, slides and demo code may be downloaded without a Cornell netid.

Algorithm Design

Lectures

The reading for this lecture is Section 6.2.

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.    Watch ›

September 24, 2019 slides handout demos

Conditionals and Program Flow

Lectures

The reading for this lecture is Sections 5.1-5.7.

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

September 19, 2019 slides handout demos

Specifications and Testing

Lectures

The online reading is Docstrings in Python.

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

September 17, 2019 slides handout demos

Strings

Lectures

The reading for this lecture is Sections 8.1-8.2, 8.5, 8.8.

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

September 12, 2019 slides handout demos

Defining Functions

Lectures

The reading for this lecture is Chapter 3, Sections 6.1-6.3.

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

September 10, 2019 slides handout demos