Schedule

MCS-178, Spring 2025

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

1/20NotesReview of Object Oriented Programming in Python
Testing and Debugging
Project 1 due before the start of lecture
--
1/21--Project 2-
1/222.1, 2.16Basic Data Structures--
1/23--Project 2-
1/242.2 - 2.6Link Lists-2.6 - 2.9

1/272.7 - 2.10Double Link Lists--
1/28--Project 2-
1/29NotesSkip Lists--
1/30--Project 2-
1/313.1 - 3.3Basic data structures: stacks-3.1, 3.3

2/33.1 - 3.3Basic data structures: stacks
Project 2 due before the start of lecture
--
2/4--Project 3-
2/53.4 - 3.6Basic data structures: Queues--
2/6--Project 3-
2/73.4 - 3.6Basic data structures: Queues-3.4, 3.6

2/10NotesVariations of stacks and queues--
2/11--Project 3-
2/124.1 - 4.3Recursion--
2/13--Project 3-
2/14-Test # 1 Preparation Lecture-4.8, 4.9

2/17-Test # 1
Project 3 due before the start of lecture
--
2/18--Project 4-
2/194.1 - 4.3Recursion--
2/20--Project 4-
2/21NotesBacktracking-5.2, 5.4

2/24NotesBacktracking--
2/25--Project 4-
2/265.1 - 5.3Selection sort
Running time analysis
--
2/27--Project 4-
2/285.4 - 5.5Insertion sort
Running time analysis
-5.8, 5.10

3/3-No class (Spring Break)--
3/4--No lab (Spring Break)-
3/5-No class (Spring Break)--
3/6--No lab (Spring Break)-
3/7-No class (Spring Break)--

3/105.10 - 5.11Merge sort
Project 4 due before the start of lecture
--
3/11--Project 5-
3/125.10 - 5.11
5.8 - 5.9
Merge sort
Quick sort
--
3/13--Project 5-
3/145.8 - 5.9Quicksort-15.1, 15.3

3/174.6, 4.7Runtime analysis--
3/18--Project 5-
3/19-No class (Advising Day)--
3/20--Project 5-
3/2115.1 - 15.3Dynamic programing vs Memoization-15.6, 15.7

3/2415.1 - 15.3Dynamic programing vs Memoization
Project 5 due before the start of lecture
--
3/25--Project 6-
3/2615.4, 15.5Dynamic programing vs Memoization--
3/27--Project 6-
3/28-Test # 2 preparation lecture-18.1 - 18.3

3/31-Test # 2--
4/1--Project 6-
4/215.6LCS--
4/3--Project 6-
4/415.6LCS-19.1 - 19.3

4/715.6LCS--
4/8--Project 6-
4/918.1 - 18.3Object Oriented Programming in Python--
4/10--Project 6-
4/1118.1 - 18.3Object Oriented Programming in Python-19.5, 19.10, 19.11

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

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

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