Schedule

MCS-178, Fall 2025

Date Reading Topic LabReading Exercises Due
9/2--Set up
Project 1
-
9/3NotesIntroduction
Going over the Syllabus
Python Review
--
9/4--Set Up
Project 1
-
9/5NotesReview of Object Oriented Programming in Python--

9/8NotesReview of Object Oriented Programming in Python
Testing and Debugging
Project 1 due before the start of lecture
--
9/9--Project 2-
9/102.1, 2.16Basic Data Structures--
9/11--Project 2-
9/122.2 - 2.6Link Lists-2.1 - 2.4

9/152.7 - 2.10Double Link Lists
Project 2 due before the start of lecture
--
9/16--Project 3-
9/17NotesSkip Lists--
9/18--Project 3-
9/193.1 - 3.3Basic data structures: stacks-2.6 - 2.9

9/223.1 - 3.3Basic data structures: stacks--
9/23--Project 3-
9/243.4 - 3.6Basic data structures: Queues--
9/25--Project 3-
9/263.4 - 3.6Basic data structures: Queues-3.1, 3.3

9/29NotesVariations of stacks and queues
Project 3 due before the start of lecture
--
9/30--Project 4-
10/14.1 - 4.3Recursion--
10/2--Project 4-
10/3-Test # 1 Preparation Lecture-3.4, 3.6

10/6-Test # 1--
10/7--No labs (Nobel)-
10/8-No class (Nobel)--
10/9--No labs-
10/104.1 - 4.3Recursion-4.8, 4.9

10/13NotesBacktracking--
10/14--Project 4-
10/15NotesBacktracking--
10/16--Project 4-
10/175.1 - 5.3Selection sort
Running time analysis
Project 4 due before the start of lecture
-5.2, 5.4

10/20-No class (Fall Break)--
10/21--No lab (Fall Break)-
10/22-No class (Fall Break)--
10/23--No lab (Fall Break)-
10/24-No class (Fall Break)--

10/275.4 - 5.5Insertion sort
Running time analysis
--
10/28--Project 5-
10/295.10 - 5.11Merge sort--
10/30--Project 5-
10/315.10 - 5.11
5.8 - 5.9
Merge sort
Quick sort
-5.8, 5.10

11/35.8 - 5.9Quicksort--
11/4--Project 5-
11/54.6, 4.7Runtime analysis--
11/6--Project 5-
11/715.1 - 15.3Dynamic programing vs Memoization-15.1, 15.3

11/1015.1 - 15.3Dynamic programing vs Memoization
Project 5 due before the start of lecture
--
11/11--Project 6-
11/12-No class (Advising Day)--
11/13--Project 6-
11/1415.4, 15.5Dynamic programing vs Memoization-15.6, 15.7

11/1715.6LCS--
11/18--Project 6-
11/1915.6LCS--
11/20--Project 6-
11/21-Test # 2 preparation lecture-18.1 - 18.3

11/24-Test # 2
Project 6 due before the start of lecture
--
11/25--No labs-
11/26-No class (Thanksgiving)--
11/27--No labs (Thankgiving)-
11/28-No class (Thanksgiving)--

12/118.1 - 18.3Object Oriented Programming in Python--
12/2--Project 7-
12/318.1 - 18.3Object Oriented Programming in Python--
12/4--Project 7-
12/518.1 - 18.3Object Oriented Programming in Python-19.1 - 19.3

12/8notes Polymorphism--
12/9--Project 7-
12/10notesJava Generics--
12/11--Project 7-
12/1219.5, 19.10Test 3 preparation lecture-19.5, 19.10, 19.11

12/15-Test # 3
Project 7 is due by midnight (no late projects will be accepted!!!!)
-