Computer Science I:
Problem-Solving and Abstraction

Spring 2024 · § 53

Tuesday 3:10–4:25 p.m.
Thursday 3:10–4:25 p.m.
Friday 3:10–5:10 p.m.
Sanders Classroom 006

Professor Gordon

Tuesday Thursday Friday

Introduction

Jan. 18

Problem-solving and abstraction

Jan. 19

Lab 1: Getting started

Abstraction and evaluation

Jan. 23

Expressions, values, and names

Jan. 25

Evaluating functions and conditionals

Jan. 26

Lab 2: Stormy weather

Tablular data

Jan. 30

Tables

Feb. 1

Designing programs for tables

Feb. 2

Lab 3: Candy analysis

Data processing

Feb. 6

Quiz 1

Review

Feb. 8

Tables and lists

Feb. 9

Lab 4: Squirrels!

Defining data

Feb. 13

Data definitions

Feb. 15

Trees

Feb. 16

Lab 5: Call the plumber

Recursive programs

Feb. 20

Review session

Feb. 22

Generative recursion

Feb. 23

Exam 1

Simulation and interaction

Feb. 27

Reactive programs

Feb. 29

Graphs and simulation

Mar. 1

Lab 6: 99 red balloons

Spring Break

Mar. 5

๐Ÿ‡

Mar. 7

๐Ÿฅ

Mar. 8

๐Ÿ

Spring Break

Mar. 12

๐ŸŒง

Mar. 14

๐ŸŒฑ

Mar. 15

๐ŸŒท

Python

Mar. 19

Python and notebooks

Mar. 21

Lists and strings

Mar. 22

Lab 7: Python practice

Working with real data

Mar. 26

Tables and arrays in Python

Mar. 28

Data sanitizing

Mar. 29

Lab 8: Cleaning table data

Analysis, visualization, and prediction

Apr. 2

Visualization

Apr. 4

Tables and prediction

Apr. 5

Project work

Changes

Apr. 9

Iteration and mutation

Apr. 11

Data classes and mutation

Apr. 12

Lab 9: Abstraction

Memory

Apr. 16

Quiz 2

Review

Apr. 18

Memory

Apr. 19

Lab 10: Vote for Python

Dictionaries

Apr. 23

Dictionaries

Apr. 25

JSON and Web APIs

Apr. 26

Lab 11: The art of gathering data

Computational thinking

  • ECS
  • Review session for Exam 2 during study week

Apr. 30

Computer Science I

May 2

๐Ÿ“š

May 3

๐Ÿ“š

Final exams

May 7

๐Ÿ“š

May 9

โœ๏ธ

May 10

Exam 2
5:00–7:00 p.m., SP 201

Muzzy in Gondoland, 1986