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    
1/5 Start of Class Prep Slides, Intro to the class  
1/7 Intro Python Prep Slides, Starting with Python HW1: Input
1/9 Building Blocks Prep Slides, Building Blocks Lab  
Week 2 Building Blocks Part 1    
1/12 Variables Prep Slides, Variables and Evaluation  
1/14 Modules Prep; HW1 Slides, Random Turtles HW2: Solar
1/16 Sequences PrepIteration Prep Slides, Sequences and Iteration Iteration Lab  
Week 3 Building Blocks Part 2    
1/19 Study Slides, Exam 1  
1/21 Conditionals Prep; HW2 Slides, Conditionals Lab HW3: Bikes
1/23 Debugging Prep Slides, Debugging Strategies and Nested Structures  
Week 4 Advanced Blocks    
1/26 Mutating Lists Prep Slides, Working with Lists  
1/28 Files Prep; HW3 Slides, Working with Files HW4: Weather
1/30 Functions Prep 1 Slides, Function Basics  
Week 5 Functions    
2/2 Functions 2 and Indefinite Iteration Prep Slides, More Functions and Loops  
2/4 Study; HW4 Slides, Exam 2 HW5: Scrabble
2/6 Dictionaries Prep Slides, Using Dictionaries  
Week 6 Objects and Classes    
2/9   Midterm break!  
2/11 OOP Preparation Slides, Graphics Intro Lab  
2/13 Working with Classes Prep; HW5 Slides, Creating Flower Classes HW6: GIS
Week 7 Final Project    
2/16 Final Project Info Prep, Partner preference form due 6am Final Project Overview, Making Simulations Final Project Proposal
2/18 Final Project Proposal Minimum Viable Product and Agile  
2/20 Study, HW6 Exam 3 Final Project
Week 8 Recursion and Analysis    
2/23 Algorithm Analysis Prep; Slides, Analyzing Algorithms  
2/25 Recursion Prep Slides, Intro to Recursion  
2/27 Searching Prep Slides, Sequential and Binary Search  
Week 9 Searching and Sorting    
3/2 Sorting Prep 1; Final Project MVP due 10pm Slow(ish) Sorting Algorithms  
3/4 Sorting Prep 2; Mergesort  
3/6 Study Exam 4  
Week 10 Wrapping Up    
3/9   Final project peer review  
3/11 Study! Mini-Exam 5, Wrap-up and course evals All homework revisions (including final project) due 10pm
Exams      
Self-scheduled Exam 6 (No new content, all retakes) 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.