Daily Schedule

Unit 1: Basics

Lesson 1 - Computers and programs and chaos, oh my!
Lesson 2 - Writing simple programs
Lesson 3 - What’s in a number?
Lesson 4 - Sequences and secrets
Lesson 5 - Listing and looping

Quiz 1 Practice questions - quiz on Friday January 17, first half of class

Unit 2: Control Flow

Lesson 6 - Graphics and objects, Part I
Lesson 7 - Oh, the things you can draw!
Lesson 8 - The function of functions
Lesson 9 - Making decisions
Lesson 10 - Looping, maybe
Lesson 11 - Telling the truth

Quiz 2 Practice questions - quiz on Friday January 31, first half of class

Unit 3: Applications

Lesson 12 - What’s in a computer?
Lesson 13 - Painting a picture
Lesson 14 - File I/O
Lesson 15 - Visualizing fairness
Lesson 16 - Designing software

Quiz 3 Practice questions - quiz on Friday February 14, first half of class

Unit 4: Software and Algorithm Design

Lesson 17 - A new objective
Lesson 18 - Projecting a little class
Lesson 19 - Activity planning
Lesson 20 - Some key functionality
Lesson 21 - Taking after one’s parent
Lesson 22 - Hard problems and greedy solutions

Quiz 4 Practice questions - quiz on Friday February 28, first half of class

Unit 5: Applications

Lesson 23 - Collecting non-sequential data
Lesson 24 - Oh where, oh where has my little element gone?
Lesson 25 - A lesson in delegation
Lesson 26 - A simple sort of selection
Lesson 27 - Divided we conquer
Lesson 28 - What cannot be computed

Quiz 5 Practice questions - quiz as part of final exam (in CMC 210)

Calendar view:

<image: high-level daily schedule>

Schedule by Week

# Unit 1: Basics

  • Weeks 1-2: Basic data types in Python
  • Week 2: Quiz 1

# Unit 2: Control Flow

  • Weeks 2-3: Graphics and objects
  • Weeks 3-4: Control flow
  • Week 4: Quiz 2

# Unit 3: Applications

  • Week 4: What is in a computer?
  • Week 5: Image processing
  • Weeks 5-6: Simulation and data visualization
  • Week 6: Quiz 3

# Unit 4: Software and Algorithm Design

  • Weeks 6-8: Creating your own objects
  • Week 7: List methods and sorting
  • Week 8: Hard problems and greedy solutions
  • Week 8: Quiz 4

# Unit 5: Applications

  • Week 8: Unordered data collections
  • Week 9: Searching
  • Week 9: Recursive problem solving
  • Weeks 9-10: Sorting
  • Week 10: Hard problems

Exams

There will be four in-class quizzes (30 minutes each), and a final exam. The final is scheduled according to the Carleton College final exam schedule.

  • Quiz 1: Friday, January 17th (first half of class)
  • Quiz 2: Friday, January 31st (first half of class)
  • Quiz 3: Friday, February 14th (first half of class)
  • Quiz 4: Friday, February 28th (first half of class)
  • Final: Saturday, March 14th (3:30pm-6:00pm in CMC 210)