Algorithms are essential to the study of computer science and are increasingly important in the natural sciences, social sciences and industry. Learn how to effectively construct and apply techniques for analyzing algorithms including sorting, searching, and selection. Gain an understanding of algorithm design technique and work on algorithms for fundamental graph problems including depth-first search, worst and average case analysis, connected components, and shortest paths.
- Recurrences and asymptotics
- Divide-and-conquer, dynamic programming, randomization
- Sequence alignment
- Minimum-cost spanning tree
- Topological sort
- Data structures
Note on Course Availability
This course is typically offered Winter quarter.
The course schedule is displayed for planning purposes – courses can be modified, changed, or cancelled. Course availability will be considered finalized on the first day of open enrollment. For quarterly enrollment dates, please refer to our graduate certificate homepage.
3.0 - 5.0
Students enrolling under the non degree option are required to take the course for 5.0 units.