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 Information Primarily for: Computer Science Master of Engineering students during pre-enrollment; remaining seats open to other students during the add period.

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

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

  •  7160 CS 5820   LEC 001

    • MWF
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

    For Bowers Computer and Information Science (CIS) Course Enrollment Help, please see: https://tdx.cornell.edu/TDClient/193/Portal/Home/

  •  7161 CS 5820   DIS 201

    • M
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

  •  7162 CS 5820   DIS 202

    • M
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

  •  7163 CS 5820   DIS 203

    • M
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

  •  7164 CS 5820   DIS 204

    • M
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

  •  7165 CS 5820   DIS 205

    • M
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

  •  7166 CS 5820   DIS 206

    • M
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

  •  7167 CS 5820   DIS 207

    • T
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

  •  7168 CS 5820   DIS 208

    • T
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

  •  7169 CS 5820   DIS 209

    • T
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person

  •  7170 CS 5820   DIS 210

    • T
    • Jan 25 - May 11, 2027
    • Chattopadhyay, E

      Spooner, N

  • Instruction Mode: In Person