Syllabus

This is a rough schedule of topics for each day and the release and due dates for each homework assignment.

Class topics and homework information may change over the course of the term. Please treat this schedule as a rough guide for seeing what we’ll be focusing on, and expect that there will be shifts as the term progresses. Most of the links will be dead until closer to the date.

Preparation should be completed before the class day that they are listed. Class is structured expecting that you have completed the preparation activities.

Date Homework/Reading Due In Class Homework Out
Week 1 Algorithmic Thinking    
9/16 Start of Class Prep Slides, Intro to the class  
9/18 Intro Python Prep Slides, Quiz 1, Starting with Python HW1
9/20 Building Blocks Prep Slides, Building Blocks Lab  
Week 2 Building Blocks Part 1    
9/23 Variables Prep Slides, Variables and Evaluation  
9/25 Modules Prep; HW1 Slides, Quiz 2, Random Turtles HW2
9/27 Sequences Prep Slides, Using Sequences  
Week 3 Building Blocks Part 2    
9/30 Iteration Prep Slides, Iteration Lab  
10/2 Conditionals Prep; HW2 Slides, Quiz 3, Conditionals Lab HW3
10/4 Debugging Prep Slides, Debugging Strategies and Nested Structures  
Week 4 Advanced Blocks    
10/7 Mutating Lists Prep Slides, Working with Lists  
10/9 Files Prep; HW3 Slides, Quiz 4, Working with Files HW4
10/10 Early voting at Carleton Vote if you are eligible!  
10/11 Functions Prep 1 Slides, Function Basics  
Week 5 Functions    
10/14 Functions 2 and Indefinite Iteration Prep Slides, More Functions and Loops  
10/16 Study; HW4 Slides, Quiz 5 HW5
10/18 Dictionaries Prep Slides, Using Dictionaries  
Week 6 Objects and Classes    
10/21   Midterm break!  
10/23 OOP Preparation; HW5 Slides, Quiz 6, Graphics Intro Lab HW6
10/25 Working with Classes Prep Slides, Creating Flower Classes  
Week 7 Recursion and Efficiency    
10/28 Recursion Prep Visitor! Intro to Recursion  
10/30 Algorithm Analysis Prep; HW6 Slides, Quiz 7, Analyzing Algorithms HW7
11/1 Lists and Dictionary Analysis Prep Slides, Structures Efficiency  
Week 8 Searching and Sorting    
11/4 Searching Prep Slides, Sequential and Binary Search  
11/5 Election Day! Vote if you are eligible!  
11/6 Sorting Prep 1; HW7 Quiz 8, Slow(ish) Sorting Algorithms  
11/8 Sorting Prep 2; Final Project Info Mergesort and Final Project Final Project Proposal
Week 9 Final Project    
11/11 Final Project Proposal Making Simulations  
11/13 Study! Quiz 9 Final Project
11/15 Final project initial submission Minimum Viable Product  
Week 10 Wrapping Up    
11/18   Final project peer review  
11/20 Study! Quiz 10, Wrap-up and course evals All homework revisions due 10pm
Exams      
    Final project due Monday Nov 25th at 8:30pm. Any request for an extension must go through the Dean of Students office as I am not otherwise permitted to consider work submitted after this time.