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. However, I will put all relevant links on this page, so consider this a quick reference for what we have seen so far (that is easier to search than Moodle). Many of the links for future content will be invalid until we get closer to that 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/Preparation Due In Class Homework Out
Week 1   Intro to Kotlin  
3/30 Intro Prep Slides, Kotlin Scavenger Hunt  
4/1 Kotlin Basics Prep Slides, Mutables and Functions, Predictions Lab  
4/3 Classes and Null Safety Slides, Kotlin Classes Lab HW1: Lunar Lander
Week 2   Analysis  
4/6 Inheritance and Interfaces Prep Slides, Interfaces Lab  
4/8 Analysis Prep Slides, Analysis Lab  
4/10 HW1; Recursion Prep Slides, Recursion Lab HW2: Computational Complexity
Week 3   Stacks and Linked Lists  
4/13 Study! Slides, Exam 1  
4/15 Stacks and Backtracking Prep Slides, Stack Lab  
4/17 HW2;Linked Lists Prep Slides, Linked List Lab HW3: Solving Mazes
Week 4   Queues and Hashing  
4/20 Queues Prep Slides, Queues Lab  
4/22 Doubly-linked Lists and Deques Prep Slides, Doubly-Linked List Lab  
4/24 HW3, Study! Slides, Exam 2 HW4: Deck of Card Operations
Week 5   Hashing  
4/27 Sets and Hashing Prep Slides, Hashing Lab  
4/29 Rehashing Prep Slides  
5/1 HW4, Trees and Traversals Prep Slides, Tree Traversals Lab HW5: Cuckoo Hashing
Week 6   Trees  
5/4   Midterm break!  
5/6 Prefix Trees Prep Slides, Prefix Tree Lab  
5/8 HW5; Study! Slides, Exam 3 HW6: Word Counter
Week 7   Search Trees and Graphs  
5/11 Binary Search Trees Prep Slides, BST Lab  
5/13 2-3 Trees Prep Slides, 2-3 Tree Lab  
5/15 HW6; Graphs Prep Slides, Graph Implementation Lab  
Week 8   Graphs and Heaps  
5/18 Graph Searches Prep Slides, Traversal Lab HW7: IMDB Graph
5/20 Heaps and PQs Prep Slides, Heap Lab  
5/22 Study! Slides, Exam 4  
Week 9   Sorting  
5/25 Mergesort Prep Slides, Mergesort Lab  
5/27 HW7; Quicksort Prep Slides, Quicksort Analysis Lab HW8: Sorting
5/29 Heapsort Prep Slides, Heapsort Lab  
Week 10   Wrapping up  
6/1 Radix Sort Prep Slides, Radix Sort Lab  
6/3 HW8; All revisions due 10pm, Submit checklist for SS exam Slides, Mini-Exam 5, course evals  
6/5   Reading days!  
Exam Period      
6/6-6/8 Self-scheduled Exam