CS 4820

CS 4820

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).


Prerequisites CS 2800 and CS 3110; or a minimum grade of A- in CS 2110 or CS 2112 and CS 2800.

Enrollment Information Enrollment limited to: Computer Science majors.

Distribution Requirements (SMR-AS)

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

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 5820

  • 4 Credits Opt NoAud

  •  6654 CS 4820   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/

  •  6655 CS 4820   DIS 201

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

      Spooner, N

  • Instruction Mode: In Person

  •  6656 CS 4820   DIS 202

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

      Spooner, N

  • Instruction Mode: In Person

  •  6657 CS 4820   DIS 203

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

      Spooner, N

  • Instruction Mode: In Person

  •  6658 CS 4820   DIS 204

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

      Spooner, N

  • Instruction Mode: In Person

  •  6659 CS 4820   DIS 205

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

      Spooner, N

  • Instruction Mode: In Person

  •  6660 CS 4820   DIS 206

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

      Spooner, N

  • Instruction Mode: In Person

  •  6661 CS 4820   DIS 207

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

      Spooner, N

  • Instruction Mode: In Person

  •  6662 CS 4820   DIS 208

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

      Spooner, N

  • Instruction Mode: In Person

  •  6663 CS 4820   DIS 209

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

      Spooner, N

  • Instruction Mode: In Person

  •  6664 CS 4820   DIS 210

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

      Spooner, N

  • Instruction Mode: In Person