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 and responded to them on Moodle.

Date Homework/Reading Due In Class Homework Out
Week 1 Algorithmic Thinking    
W 1/3 Start of Class Prep Slides, Intro to the class  
F 1/5 Intro Python Prep Slides, Starting with Python HW1
Week 2 Building Blocks Part 1    
1/8 Building Blocks Prep Quiz 1; Slides, Building Blocks Lab  
1/10 Variables Prep Slides, Variables and Evaluation  
1/12 Modules Prep; HW1 Slides, Random Turtles HW2
Week 3 Building Blocks Part 2    
1/15 Sequences Prep Quiz 2; Using Sequences  
1/17 Iteration Prep Slides, Iteration Lab  
1/19 Conditionals Prep; HW2 SlidesConditionals Lab HW3
Week 4 Advanced Blocks    
1/22 Debugging Prep Quiz 3; Slides, Debugging Strategies and Nested Structures  
1/24 Mutating Lists Prep Slides, Working with Lists  
1/26 Files Prep; HW3 Slides, Working with Files HW4
Week 5 Functions    
1/29 Functions Prep 1 Slides, Quiz 4; Function Basics  
1/31 Functions Prep 2 Slides, Return of the Functions  
2/2 Indefinite Loops Prep; HW4 Slides, Using While Loops HW5
Week 6 Objects and Classes    
2/5   Midterm break!  
2/7 Dictionaries Prep Slides, Quiz 5;Using Dictionaries  
2/9 OOP Preparation; HW5 Slides, Graphics Intro Lab HW6
Week 7 Recursion and Efficiency    
2/12 Working with Classes Slides, Quiz 6; Creating Flower Classes  
2/14 Recursion Prep Slides, Intro to Recursion  
2/16 Algorithm Analysis Prep; HW6 Slides, Analyzing Algorithms HW7
Week 8 Searching and Sorting    
2/19 Lists and Dictionary Analysis Prep Quiz 7;Slides, Structures Efficiency  
2/21 Searching Prep Slides, Sequential and Binary Search  
2/23 Sorting Prep 1; HW7 Slides, Slow(ish) Sorting Algorithms  
Week 9 Final Project    
2/26 Sorting Prep 2; Final Project Info Slides, Mergesort and Final Project Final Project Proposal
2/28 Final Project Proposal Slides, Making Simulations  
3/1 Study! Slides, Quiz 8 Final Project
Week 10 Wrapping Up    
3/4 Final project initial submission Slides, Minimum Viable Product  
3/6   Slides, Final project peer review  
3/8 Study! Slides, Quiz 9; Wrap-up and course evals  
Exam Period      
W 3/13 12-2:30pm   Quiz 10 (No new learning objectives)  
    All revisions due Wednesday, 3/13, 6pm. 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.