CS 5820

CS 5820

Course information provided by the 2026-2027 Catalog.

The course develops techniques used in the design and analysis of algorithms, with an emphasis on problems arising in computing applications. Example applications are drawn from systems and networks, artificial intelligence, computer vision, data mining, and computational biology. This course covers four major algorithm design techniques (greedy algorithms, divide-and-conquer, dynamic programming, and network flow), undecidability and NP-completeness and its application for cryptography, and algorithmic techniques for intractable problems (such as identification of structured special cases, approximation algorithms, local search heuristics, and online algorithms).


Enrollment Priority Primarily for: Graduate Students.

Last 4 Terms Offered 2026SP, 2025FA, 2025SP, 2024FA

Learning Outcomes

  • Identify problems solvable with a greedy algorithm, design and prove the correctness of such an algorithm, and supply asymptotic running time for a variety of given algorithms.
  • Recognize problems to which divide and conquer or dynamic programming approaches may apply, design algorithms with these approaches, and analyze their computational efficiency.
  • Recognize resource management as well as partition problems that can be reduced to network flow or cut problems, implement correct strategies for finding optimal flows/cuts, and understand the properties of these strategies.
  • Apply randomization to produce tractable algorithms for several specific computationally challenging problems.
  • Recognize whether or not certain problems are computationally intractible (e.g. NP-Hard, undecidable), and use reductions from known problems to establish intractability.
  • Use approximation algorithms to efficiently produce near-optimal solutions for intractable problems, and bound how close these algorithms are to being optimal.
  • Be able to recognize, implement, and understand the properties of several famous and important algorithms including: Gale-Shapley method for stable matchings, Prim's and Kruskal's algorithms for finding minimum spanning trees, Bellman-Ford's algorithm for finding shortest paths in a graph, and Ford-Fulkerson's algorithm for finding max flows in networks.

View Enrollment Information

Syllabi: none
  •   Regular Academic Session.  Choose one lecture and one discussion. Combined with: CS 4820

  • 4 Credits Opt NoAud

  • 17918 CS 5820   LEC 001

    • MWF
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

    Direct enrollment is restricted to Computer Science (CS), Doctor of Philosophy (PhD), Master of Science (MS), and Master of Engineering (M.Eng.) students. Seniors taking courses for M.Eng credit and all other graduate and professional students must add themselves to the waitlist during add/drop. See website for details: http://www.cs.cornell.edu/courseinfo/enrollment/cs-4000-5000-level-courses
    For Bowers Computer and Information Science (CIS) Course Enrollment Help, please see: https://tdx.cornell.edu/TDClient/193/Portal/Home/

  • 17919 CS 5820   DIS 201

    • M
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

  • 17920 CS 5820   DIS 202

    • M
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

  • 17921 CS 5820   DIS 203

    • M
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

  • 17922 CS 5820   DIS 204

    • M
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

  • 17923 CS 5820   DIS 205

    • M
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

  • 17924 CS 5820   DIS 206

    • T
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

  • 17925 CS 5820   DIS 207

    • T
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

  • 17926 CS 5820   DIS 208

    • T
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

  • 17927 CS 5820   DIS 209

    • T
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person

  • 17928 CS 5820   DIS 210

    • T
    • Aug 24 - Dec 7, 2026
    • Kleinberg, R

  • Instruction Mode: In Person