Skip to Secondary Navigation | Skip To Content

605.421 Foundations of Algorithms

This follow-on course to data structures (e.g., 605.202) provides a survey of computer algorithms, examines fundamental techniques in algorithm design and analysis, and develops problem-solving skills required in all programs of study involving computer science. Topics include advanced data structures (red-black and 2-3-4 trees, union-find), recursion and mathematical induction, algorithm analysis and computational complexity (recurrence relations, big-O notation, NP-completeness), sorting and searching, design paradigms (divide and conquer, greedy heuristic, dynamic programming, amortized analysis), and graph algorithms (depth-first and breadth-first search, connectivity, minimum spanning trees, network flow). Advanced topics are selected from among the following: randomized algorithms, information retrieval, string and pattern matching, and computational geometry.

Prerequisites: 605.202 Data Structures or equivalent.

Spring 2010 Course Schedule

The current scheduled offerings for this course for the Spring 2010 term are listed below.

Computer Science

Applied Physics Laboratory (more info)

605.421.31 Foundations of Algorithms  (Open)
TU 7:20PM - 10:00PM
01/26/2010 - 05/04/2010 Room: K2 $2,750 Sadowsky, J.

Montgomery County Campus (more info)

605.421.71 Foundations of Algorithms  (Open)
F 4:30PM - 7:10PM
01/29/2010 - 05/07/2010 Room: Gilchrist201 $2,750 Lew, W.