Schedule

MCS-178, Spring 2026

Date Reading Topic LabReading Exercises Due
1/12NotesIntroduction
Going over the Syllabus
Python Review
--
1/13--Set up
Project 1
-
1/14Notes Python Review--
1/15--Set Up
Project 1
-
1/16NotesReview of Object Oriented Programming in Python-2.1 - 2.4

1/19-No Class (MLK Day)
Project 1 due before 11pm
--
1/20--Project 2-
1/212.1, 2.16Basic Data Structures--
1/22--Project 2-
1/232.2 - 2.6Link Lists-2.6 - 2.9

1/262.7 - 2.10Double Link Lists--
1/27--Project 2-
1/28NotesSkip Lists--
1/29--Project 2-
1/303.1 - 3.3Basic data structures: stacks-3.1, 3.3

2/23.1 - 3.3Basic data structures: stacks
Project 2 due before the start of lecture
--
2/3--Project 3-
2/43.4 - 3.6Basic data structures: Queues--
2/5--Project 3-
2/63.4 - 3.6Basic data structures: Queues-3.4, 3.6

2/9NotesVariations of stacks and queues--
2/10--Project 3-
2/114.1 - 4.3Recursion--
2/12--Project 3-
2/13-Test # 1 Preparation Lecture-4.8, 4.9

2/16-Test # 1
Project 3 due before the start of lecture
--
2/17--Project 4-
2/184.1 - 4.3Recursion--
2/19--Project 4-
2/20NotesBacktracking-5.2, 5.4

2/23NotesBacktracking--
2/24--Project 4-
2/255.1 - 5.3Selection sort
Running time analysis
--
2/26--Project 4-
2/275.4 - 5.5Insertion sort
Running time analysis
-5.8, 5.10

3/2-No Class (Spring Break)--
3/3--No Lab (Spring Break)-
3/4-No class (Spring Break)--
3/5--No Lab (Spring Break)-
3/6-No Class (Spring Break)--

3/95.10 - 5.11Merge sort
Project 4 due before the start of lecture
--
3/10--Project 5-
3/115.10 - 5.11
5.8 - 5.9
Merge sort
Quick sort
--
3/12--Project 5-
3/135.8 - 5.9Quicksort-15.1, 15.3

3/164.6, 4.7Runtime analysis--
3/17--Project 5-
3/18-No Class (Advising Day)--
3/19--Project 5-
3/2015.1 - 15.3Dynamic programing vs Memoization-15.6, 15.7

3/2315.1 - 15.3Dynamic programing vs Memoization
Project 5 due before the start of lecture
--
3/24--Project 6-
3/2515.4, 15.5Dynamic programing vs Memoization--
3/26--Project 6-
3/27-Test # 2 preparation lecture-18.1 - 18.3

3/30-Test # 2--
3/31--Project 6-
4/115.6LCS--
4/2--Project 6-
4/3-No Class (Semester Break)-19.1 - 19.3 due by 11pm

4/615.6LCS--
4/7--Project 6-
4/818.1 - 18.3Object Oriented Programming in Python--
4/9--Project 6-
4/1018.1 - 18.3Object Oriented Programming in Python-19.5, 19.10, 19.11

4/13noteObject Oriented Programming in Java
Project 6 due before the start of lecture
--
4/14--Project 7-
4/15noteObject Oriented Programming in Java--
4/16--Project 7-
4/17noteObject Oriented Programming in Java-TBD

4/20noteObject Oriented Programming in Java--
4/21--Project 7-
4/22-Final exam preparation lecture--
4/23--Project 7-
4/24-Final exam preparation lecture--

4/27-Written test # 3--
4/28--Porgramming test # 3
Project 7 is due by 11pm (no late projects will be accepted!!!!)
-