Computer Science I:
Problem-Solving and Abstraction

Spring 2023 · § 53

Monday 10:30–11:45 a.m.
Wednesday 10:30–11:45 a.m.
Friday 3:10–5:10 p.m.
Sanders Classroom 006

Professor Gordon

Monday Wednesday Friday

Introduction

Jan. 16

Jan. 18

Problem-solving and abstraction

Jan. 20

Lab 1: Getting started

Names and evaluation

Jan. 23

Expressions, values, and names

Jan. 25

Evaluating functions and conditionals

Jan. 27

Lab 2: Stormy weather

Tablular data

Jan. 30

Tables

Feb. 1

Working with tables

Feb. 3

Lab 3: Candy analysis

Data processing

Feb. 6

Designing programs for tables

Feb. 8

Tables and lists

Feb. 10

Lab 4: Squirrels!

Recursive data

Feb. 13

Data definitions

Feb. 15

Trees

Feb. 17

Lab 5: Call the plumber

Recursive programs

Feb. 20

Further recursion

Feb. 22

Exam 1 review

Feb. 24

Exam 1

Simulation and interaction

Feb. 27

Generating fractals

Mar. 1

Reactive programs

Mar. 3

Lab 6: 99 red balloons

Spring Break

Mar. 6

๐Ÿ‡

Mar. 8

๐Ÿฅ

Mar. 10

๐Ÿ

Spring Break

Mar. 13

๐ŸŒง

Mar. 15

๐ŸŒฑ

Mar. 17

๐ŸŒท

Python

Mar. 20

Python and notebooks

Mar. 22

Slicing and list comprehensions

Mar. 24

Lab 7: Python practice

Working with real data

  • Assignment 6

Mar. 27

Tables in Python

Mar. 29

Data sanitizing

Mar. 31

Lab 8: Cleaning table data

Exploration and design

  • Mini-project

Apr. 3

Visualization

Apr. 5

Designing programs

Apr. 7

Project work

Changes

Apr. 10

Iteration and mutation

Apr. 12

Dataclasses

Apr. 14

Lab 9: Abstraction

Memory

Apr. 17

Memory

Apr. 19

More memory

Apr. 21

Lab 10: Vote for Python

Dictionaries

Apr. 24

Dictionaries

Apr. 26

JSON and Web APIs

Apr. 28

Lab 11: The art of gathering data

Computational thinking

  • CEQs
  • Exam 2 review will be scheduled during study week

May 1

Computer Science I

May 3

๐Ÿ“š

May 5

๐Ÿ“š

Final exams

May 8

๐Ÿ“š

May 10

๐Ÿ“

May 12

๐Ÿ“

Final exams

May 15

Final exam
5–7 p.m.
SC 006

Muzzy in Gondoland, 1986