|
AlgorithmsCSc 22000–Fall 2025 |
The City College of CUNY Department of Computer Science |
Instructor:
Prof. Nelly Fazio
Lectures: T/Th, 11:00am–12:15pm, Shepard S-379
Office hours: Tuesdays, 12:30–1:30pm (and by
appointment), NAC 8/201
Email: nfazio AT ccny DOT cuny DOT edu
[Put CSc220 in Subject line]
[ Course Description | List of Topics | Textbook | Work Load & Grading | CUNY Academic Integrity Policy | Assignments | Weekly Schedule ]
Prerequisites: CSc 212, and (CSc 217 or EE 311).
| Lecture | Date | Topic | Readings |
| 1 | Aug 26 | Overview. Growth of functions. Asymptotic notation. InsertionSort. | CLRS 1, 2.1, 2.2, 3 Review CLRS 10, 11 |
| 2 | Aug 28 | Divide-and-Conquer. Examples. MergeSort. | CLRS 2.3. Appendix A |
| 3 | Sep 2 | Solving recurrence: Recursion-tree method. Examples. | CLRS 4.4 |
| 4 | Sep 4 | More on Divide-and-Conquer: Maximum Subarray. | CLRS 4.1 |
| 5 | Sep 9 | Solving recurrences: Substitution method. Examples. | CLRS 4.3 |
| 6 | Sep 11 | Solving recurrences: Master method. Examples. | CLRS 4.5 |
| 7 | Sep 16 | Sorting Algorithms: Heapsort. | CLRS 6 |
| 8 | Sep 18 | Sorting Algorithms: Quicksort. | CLRS 7 |
| 9 | Sep 25 | More on sorting: Lower bound and beyond. | CLRS 8 |
| 10 | Sep 30 | More on sorting: Lower bound and beyond. | CLRS 8 |
| 11 | Oct 7 | Balanced Search Trees: Red-Black Trees (I). | Review CLRS 12 CLRS 13 |
| 12 | Oct 9 | Balanced Search Trees: B-Trees (I). | CLRS 18 |
| 13 | Oct 16 | Balanced Search Trees: B-Trees (II). | CLRS 18 |
| 14 | Oct 21 | Review | |
| 15 | Oct 23 | Midterm Exam. | |
| 16 | Oct 28 | Introduction to Dynamic Programming (I). | CLRS 15 |
| 17 | Oct 30 | Dynamic Programming (II). Example: Rod Cutting. | CLRS 15 |
| 18 | Nov 4 | Dynamic Programming (III). Example: Longest Common Subsequence. | CLRS 15 |
| 19 | Nov 6 | Greedy Algorithms. | CLRS 16 |
| 20 | Nov 11 | More on Greedy Algorithms. Huffman Codes. | CLRS 16 |
| 21 | Nov 13 | Graphs. BFS and DFS. | CLRS 22 |
| 22 | Nov 18 | Topological Sort. | CLRS 22 |
| 23 | Nov 20 | Strongly Connected Components. | CLRS 22 |
| 24 | Nov 25 | Minimum Spanning Trees. | CLRS 23 |
| 25 | Dec 2 | Single-Source Shortest Paths: Bellman-Ford algorithm. | CLRS 24 |
| 26 | Dec 4 | Single-Source Shortest Paths for DAGs + Dijkstra. | CLRS 24 |
| 27 | Dec 9 |
All-Pairs Shortest Paths: Floyd-Warshall. Transitive closure of a graph. |
CLRS 25 |
| 28 | Dec 11 | Review | |
| Dec 18 | Final Exam, 11:00am—12:15pm |
Copyright © Nelly Fazio