Fundamental AlgorithmsCSc I0600–Spring 2023 |
The City College of CUNY Department of Computer Science |
Instructor:
Prof. Nelly Fazio
Lectures: Wednesday, 2:00–4:30pm, Online
Office hours: Mondays, 11:00am–12:00pm (and by
appointment), Online
Email: fazio AT cs DOT ccny DOT cuny DOT edu
[Put CScI0600 in Subject line]
[ Course Description | List of Topics | Textbook | Work Load & Grading | CUNY Academic Integrity Policy | Assignments | Weekly Schedule ]
Prerequisites: CSc 220.
Lecture | Date | Topic | Readings |
1 | Jan 25 | Overview. Growth of functions. Asymptotic
notation. InsertionSort. Divide-and-Conquer. Examples. MergeSort. |
CLRS 1–3 Review CLRS 10, 11, 12 |
2 | Feb 1 | Solving recurrence: Recursion-tree method. Examples. More on Divide-and-Conquer: Maximum Subarray. Matrix multiplication. |
CLRS 4.1–4.2, 4.4. Review Appendix A |
3 | Feb 8 | Solving recurrences: Substitution method. Examples. Solving recurrences: Master method. Examples. |
CLRS 4.3, 4.5 |
4 | Feb 15 | Sorting Algorithms: Heapsort. | CLRS 6 |
5 | Feb 22 | Sorting Algorithms: Quicksort. | CLRS 7 |
6 | Mar 1 | More on sorting: Lower bound and beyond. |
CLRS 8 |
7 | Mar 8 | Balanced Search Trees: B-Trees. | CLRS 18 |
8 | Mar 15 | Review | |
9 | Mar 22 | Midterm Exam. | |
10 | Mar 29 | Dynamic Programming (I). Example: Rod Cutting. | CLRS 15 |
11 | Apr 19 | Dynamic Programming (II). Example: Longest Common Subsequence. | CLRS 15 |
12 | Apr 26 | Greedy Algorithms. Huffman Codes. | CLRS 16 |
13 | May 3 | Graphs. BFS and DFS. Topological Sort. SCC. | CLRS 22 |
14 | May 10 | Shortest Paths: Bellman-Ford algorithm. Single-Source Shortest Paths for DAGs + Dijkstra. All-Pairs Shortest Paths: Floyd-Warshall. |
CLRS 24, 25 |
May 17 | Final Exam, May 17, 2023, 2:00-4:30pm (tentative) |
Copyright © Nelly Fazio