Computer Science I:  
Problem-Solving and Abstraction
1 Jan 15 - Jan 21
2 Jan 22 - Jan 28
3 Jan 29 - Feb 4
4 Feb 5 - Feb 11
5 Feb 12 - Feb 18
6 Feb 19 - Feb 25
7 Feb 26 - Mar 3
8 Mar 18 - Mar 24
9 Mar 25 - Mar 31
10 Apr 1 - Apr 7
11 Apr 8 - Apr 14
12 Apr 15 - Apr 21
13 Apr 22 - Apr 28
14 Apr 29 - May 5
15 May 6 - May 12

Computer Science I:
Problem-Solving and Abstraction

CMPU-101 §52
Vassar College, Spring 2024

Navigation

     

Home

     

Labs

     

Assignments

     

Resources

     

Gradescope

     

Coaching

     

     

     

     



Welcome to our course web page. It will be updated throughout the semester with important course information, so check here regularly.

Contact Information

Professor:

     

Marc Smith

Office:

     

Sanders Physics 104.5

Office Hours:

     

MW 10:30am-12pm and by appointment

Phone:

     

845 437 7497

Email:

     

mlsmith (best way to contact me!)


Course Coordinates (when and where)

Lectures:

     

MW 9-10:15am

Labs:

     

F 9-11am

Classroom:

     

Sanders Classroom 006


Weekly Schedule

1 Jan 15 - Jan 21

Introduction


Mon: No class
Wed: Problem-solving and abstraction
       Course Survey
Fri: Lab 1: Getting started

__________________________________________________________________

2 Jan 22 - Jan 28

Abstraction and evaluation


Mon: Expressions, values, and names
Wed: Evaluating functions and conditionals
Fri: Lab 2: Stormy weather

__________________________________________________________________

3 Jan 29 - Feb 4

Tabular data


Mon: Tables
Wed: Designing programs for tables
Fri: Lab 3: Candy analysis

__________________________________________________________________

4 Feb 5 - Feb 11

Data Processing


Mon: Quiz 1
Wed: Tables and lists
Fri: Lab 4: Squirrels!

__________________________________________________________________

5 Feb 12 - Feb 18

Defining data


Mon: Data definitions
Wed: Trees
Fri: Lab 5: Call the plumber

__________________________________________________________________

6 Feb 19 - Feb 25

Recursive programs


Mon: Review session PDF
Wed: Generative recursion
Fri: Exam 1

__________________________________________________________________

7 Feb 26 - Mar 3

Simulation and interaction


Mon: Reactive programs
Wed: Graphs and simulations
Fri: Lab 6: 99 red balloons

__________________________________________________________________

Mar 4 - Mar 9

Spring Break

__________________________________________________________________

Mar 11 - Mar 17

Spring Break

__________________________________________________________________

8 Mar 18 - Mar 24

Python


Mon: Python and notebooks
Wed: Lists and strings
Fri: Lab 7: Python practice

__________________________________________________________________

9 Mar 25 - Mar 31

Working with real data


Mon: Tables and arrays in Python (updated)
Wed: Data sanitizing
Fri: Lab 8: Cleaning table data

__________________________________________________________________

10 Apr 1 - Apr 7

Analysis, visualization, and prediction


Mon: Visualization: PDF / Notebook
Wed: Tables and prediction
Fri: Project work

__________________________________________________________________

11 Apr 8 - Apr 14

Changes


Mon: Iteration and mutation
Wed: Data classes and mutation
Fri: Lab 9: Abstraction

__________________________________________________________________

12 Apr 15 - Apr 21

Memory


Mon: Quiz 2
Wed: Memory
Fri: Lab 10: Vote for Python

__________________________________________________________________

13 Apr 22 - Apr 28

Dictionaries


Mon: Dictionaries
Wed: JSON and Web APIs
Fri: Lab 11: The art of gathering data

__________________________________________________________________

14 Apr 29 - May 5

Computational thinking
  • ECS

  • Review session for Exam 2 during study week


Mon: Computer Science I
Wed: Study Period
Thu: Study Period
Fri: Study Period

__________________________________________________________________

15 May 6 - May 12

Final exams


Mon: Study Period
Tue: Study Period
Fri: Final Exam: May 10, 5-7pm, New England 105


Acknowledgments

This course includes extensive material developed by Kathi Fisler and colleagues at Brown University.