| Section | 1 |
|---|---|
| Instructor(s) | Chaudhary, Amitabh (amitabh) |
| Location | Ryerson 177 |
| Meeting Times | Tuesday 2pm - 3:20pm Thursday 2pm - 3:20pm |
| Fulfills | Core Theory |
A PASS on the Math Placement Exam AND previous Algorithms coursework as shown on verified transcripts.
The prior course in introductory algorithms must cover---
-- Basic time and space complexity of algorithms, asymptotic order of growth, and solving recurrences.
-- Basic graph definitions, breadth-first and depth-first search, and topological ordering.
-- Greedy algorithms, shortest paths in a graph, and minimum spanning trees.
-- Divide and conquer algorithms, sorting and median selection algorithms.
-- Basic data structures, arrays, linked lists, balanced trees, and heaps.
If your prior course doesn't cover just one or two of the above topics, you may be allowed to take the course if you are committed to learning those on your own. In that case, or if you have other questions, please email the instructor. In you email include the exact topics covered in your prior course, and a copy of your transcript.
The following books are recommended to brush up on the prerequisite
material---
-- Discrete Mathematics and Its Applications by Kenneth Rosen.
-- Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.
This class CANNOT be taken if you have taken MPCS 55501 Algorithms.
This course requires competency in Unix and Linux. New students must attend the MPCS Unix Bootcamp during orientation. Continuing students who previously attended the MPCS Unix Bootcamp have covered the required material. Continuing students who did not attend the MPCS Unix Bootcamp may review the UChicago CS Student Resource Guide here: https://uchicago-cs.github.io/student-resource-guide/.
This class is scheduled at a time that conflicts with these other classes: