Computer Science I:
Problem-Solving and Abstraction

Section 51, Spring 2022

Monday 1:30–2:45 p.m.
Wednesday 1:30–2:45 p.m.
Friday 1:00–3:00 p.m.
Sanders Classroom 006

Prof. Jonathan Gordon

Monday Wednesday Friday

1

Introduction

Jan. 17

Jan. 19

Class 1

Problem-solving and abstraction

Jan. 21

Lab 1

Getting started

Zoom

2

Names and interpretation

Jan. 24

Class 2

Names, types, and organization

Jan. 26

Class 3

Evaluating functions and conditionals

Jan. 28

Lab 2

Conditionals and reading code

3

Tables

Jan. 31

Class 4

Tables and helper functions

Feb. 2

Class 5

Filtering and adding columns

Feb. 4

Lab 3

Tables

4

Processing tabular data

Feb. 7

Class 6

Writing and testing table functions

Feb. 9

Class 7

Exploring tabular data

Feb. 11

Lab 4

Cleaning table data

5

Designing programs for tables

Feb. 14

Class 8

Designing programs for tables

Feb. 16

Review

Exam 1 Review

Feb. 18

Exam

Exam 1

6

Lists

Feb. 21

Class 9

Introduction to lists

Feb. 23

Class 10

The secret nature of lists

Feb. 24

Lab 5

Lists, maps, and more

7

Recursion

Feb. 28

Class 11

Recursive functions

Mar. 2

Class 12

Building lists

Mar. 4

Lab 6

Recursion again and again

8

Spring Break

Mar. 7

No class

๐Ÿ‡

Mar. 9

No class

๐Ÿฅ

Mar. 11

No class

๐Ÿ

9

Spring Break

Mar. 14

No class

๐ŸŒง

Mar. 16

No class

๐ŸŒฑ

Mar. 18

No class

๐ŸŒท

10

Data types

Mar. 21

Class 13

Designing data types

Mar. 23

Class 14

Trees

Mar. 25

Lab 7

Call the plumber

11

Python

Mar. 28

Class 15

Python and notebooks

Mar. 30

Review

Exam 2 Review

Apr. 1

Exam

Exam 2

12

Destructive programming

Apr. 4

Class 16

Loops and data definitions

Apr. 6

Class 17

Mutation

Apr. 8

Lab 8

Python practice

13

Memory

Apr. 11

Class 18

Memory

Apr. 13

Class 19

Memory, continued

Apr. 15

Lab 9

Vote for Python

14

Dictionaries

Apr. 18

Class 20

Dictionaries

Apr. 20

Class 21

JSON and Web APIs

Apr. 22

Lab 10

Gathering data

15

Tabular data in Python

  • Assignment 11

Apr. 25

Class 22

Tables in Python

Apr. 27

Class 23

Prediction

Apr. 29

Lab 11

Predicting data

16

Computational thinking

  • CEQs
  • Optional review session will be held during study period

May 2

Class 24

Computer Science I

May 4

No class

๐Ÿ“š

May 6

No class

๐Ÿ“š

17

Final exams

Exam 3

Date and time to be announced

Muzzy in Gondoland, 1986