![]() |
AlgorithmsCSc 22000–Spring 2023 |
The City College of CUNY Department of Computer Science |
Instructor:
Prof. Nelly Fazio
Lectures: T/Th, 11:00am–12:15pm, NAC-6113
Office hours: Mondays, 11:00am–12:00pm (and by
appointment), ONLINE
Email: fazio AT cs DOT 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 | Jan 26 | Overview. Growth of functions. Asymptotic notation. InsertionSort. | CLRS 1, 2.1, 2.2, 3 Review CLRS 10, 11 |
2 | Jan 31 | Divide-and-Conquer. Examples. MergeSort. | CLRS 2.3, Appendix A |
3 | Feb 2 | Solving recurrence: Recursion-tree method. Examples. | CLRS 4.4. |
4 | Feb 7 | More on Divide-and-Conquer: Maximum Subarray. | CLRS 4.1 |
5 | Feb 9 | Solving recurrences: Substitution method. Examples. | CLRS 4.3 |
6 | Feb 14 | Solving recurrences: Master method. Examples. | CLRS 4.5 |
7 | Feb 16 | Sorting Algorithms: Heapsort. | CLRS 6 |
Feb 21 | No class! Monday Schedule | ||
8 | Feb 23 | Sorting Algorithms: Quicksort. | CLRS 7 |
9 | Feb 28 | More on sorting: Lower bound and beyond. |
CLRS 8 |
10 | Mar 2 | More on sorting: Lower bound and beyond. |
CLRS 8 |
11 | Mar 7 | Balanced Search Trees: Red-Black Trees (I). | Review CLRS 12 CLRS 13 |
12 | Mar 9 | Balanced Search Trees: Red-Black Trees (II). | CLRS 13 |
13 | Mar 14 | Balanced Search Trees: B-Trees (I). | CLRS 18 |
14 | Mar 16 | Balanced Search Trees: B-Trees (II). | CLRS 18 |
15 | Mar 21 | Review | |
16 | Mar 23 | Midterm Exam. (tentative) | |
17 | Mar 28 | Dynamic Programming (I). Example: Rod Cutting. | CLRS 15 |
18 | Mar 30 | Dynamic Programming (III). Example: Longest Common Subsequence. | CLRS 15 |
19 | Apr 4 | Greedy Algorithms. | CLRS 16 |
Apr 5-13 | No classes! Spring recess | ||
20 | Apr 18 | More on Greedy Algorithms. Huffman Codes. | CLRS 16 |
21 | Apr 20 | Graphs. BFS and DFS. | CLRS 22 |
22 | Apr 25 | Topological Sort. | CLRS 22 |
23 | Apr 27 | Strongly Connected Components. | CLRS 22 |
24 | May 2 | Minimum Spanning Trees. | CLRS 23 |
25 | May 4 | Single-Source Shortest Paths: Bellman-Ford algorithm. | CLRS 24 |
26 | May 9 | Single-Source Shortest Paths for DAGs + Dijkstra. | CLRS 24 |
27 | May 11 | All-Pairs Shortest Paths: Floyd-Warshall. | CLRS 25 |
28 | May 16 | Review | |
May 18 | Final Exam, 11:00am—12:15pm, Room NAC-6113 |
Copyright © Nelly Fazio