Fundamental AlgorithmsCSc I0600–Fall 2024 |
The City College of CUNY Department of Computer Science |
Instructor:
Prof. Nelly Fazio
Lectures: Tuesdays, 2:00–4:30pm, Room NAC 6/306
Office hours: Tu/Th, 12:30–1:30pm (and by appointment)
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 | Sep 3 | Overview. Growth of functions. Asymptotic
notation. InsertionSort. Divide-and-Conquer. Examples. MergeSort. |
CLRS 1–3 Review CLRS 10, 11, 12 |
2 | Sep 10 | 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 | Sep 17 | Solving recurrences: Substitution method. Examples. Solving recurrences: Master method. Examples. |
CLRS 4.3, 4.5 |
4 | Sep 24 | Sorting Algorithms: Heapsort. | CLRS 6 |
5 | Oct 1 | Sorting Algorithms: Quicksort. | CLRS 7 |
6 | Oct 8 | More on sorting: Lower bound and beyond. |
CLRS 8 |
7 | Oct 22 | Balanced Search Trees: B-Trees. Review |
CLRS 18 |
8 | Oct 29 | Midterm Exam. | |
9 | Nov 5 | Dynamic Programming (I). Example: Rod Cutting. | CLRS 15 |
10 | Nov 12 | Dynamic Programming (II). Example: Longest Common Subsequence. | CLRS 15 |
11 | Nov 19 | Greedy Algorithms. Huffman Codes. | CLRS 16 |
12 | Nov 26 | Graphs. BFS and DFS. Topological Sort. SCC. | CLRS 22 |
13 | Dec 3 |
Shortest Paths: Bellman-Ford algorithm. Single-Source Shortest Paths for DAGs. |
CLRS 24 |
14 | Dec 10 |
Dijkstra. All-Pairs Shortest Paths: Floyd-Warshall. |
CLRS 24, 25 |
Dec 17 | Final Exam, 2:00-4:30pm |
Copyright © Nelly Fazio