Design and Analysis of Algorithms


Stanford School of Engineering



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.


  • Reyna Hulett


CS103CS109 or STATS116

Topics include

  • Recurrences and asymptotics
  • Divide-and-conquer, dynamic programming, randomization
  • Sequence alignment
  • Minimum-cost spanning tree
  • Topological sort
  • Data structures

Note on Course Availability

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.

064 Summer 2018-19 Online

Enroll Now

Dates:June 25 - August 15, 2019
Days: Tue, Thu
Times:9:30 am - 11:20 am
Units: 3.00-5.00
Instructors: Reyna Hulett
Delivery Option:
For Credit $6,300.00 ?


Enrollment Dates: April 14 to June 17, 2019

Computer Science Department Requirement
Students taking graduate courses in Computer Science must enroll for the maximum number of units and maintain a B or better in each course in order to continue taking courses under the Non Degree Option.

This course may not currently be available to residents of certain states.