Daily Schedule
Unit 1: Course and Kotlin Foundations
Mar. 31: Lesson 1 - Introduction to KotlinApr. 02: Lesson 2 - Kotlin Control Flow
Apr. 04: Lesson 3 - Kotlin Functions and Classes
Apr. 07: Lesson 4 - Object-Oriented Design
Apr. 09: Lesson 5 - Interfaces
Apr. 11: Lesson 6 - Computational Complexity
Apr. 14: Lesson 7 - Big-O, Formally
Unit 2: Linear ADTs
Apr. 16: Lesson 8 - Stack ADTApr. 18: Lesson 9 - Linked Lists
Apr. 21: Lesson 10 - Queue ADT
Apr. 23: Lesson 11 - Queue and list implementations
Apr. 25: Lesson 12 - Exam Day #1
Apr. 28: Lesson 13 - More General Linked Lists
Unit 3: Set ADT and Hashing
Apr. 30: Lesson 14 - Map/Set ADTs and HashingMay. 02: Lesson 15 - Hashing Review
Unit 4: Recursion and Trees
May. 07: Lesson 16 - RecursionMay. 09: Lesson 17 - Recursion and Trees
May. 12: Lesson 18 - Binary Search Trees
May. 14: Lesson 19 - BSTs and Prefix Trees
May. 30: Lesson 26 - Self-Balancing Trees
Unit 5: Sorting, Heaps, and Priority Queues
May. 16: Lesson 20 - Mergesort and QuicksortMay. 19: Lesson 21 - Heaps
May. 21: Lesson 22 - Heapsort and Priority Queues
May. 23: Lesson 23 - Exam Day #2
Unit 6: Graphs
May. 26: Lesson 24 - Graph ADT and Shortest PathsMay. 28: Lesson 25 - Adjacency Matrices and DFS
Unit 7: Extra Topics
Jun. 02: Lesson 27 - Priority QueuesJun. 04: Lesson 28 - Huffman Coding
Labs
Lab 1: Kotlin Scavenger HuntLab 2: Interfaces
Lab 3: Doubly Linked Lists
Lab 4: Recursive Queue
Quizzes and Exams
In place of large, cumulative exams, you will have the opportunity to demonstrate your mastery of the Quiz Learning Objectives through a series of several quizzes. Every four weeks, there will also be an “Exam Day” when you can take new versions of old quiz questions to demonstrate mastery of any missing Learning Objectives.
The final exam, which is scheduled according to the Carleton College final exam schedule, will be similar to Exam Days, except that there will be a new quiz covering the last week of class.
- Exam Day #1: Friday, April 25th (in class)
- Exam Day #2: Friday, May 23rd (in class)
- Final: Saturday, June 7th (8:30am-11:00am)