Skip to main content

Apply now! Spring priority deadline is October 1.

ICS 340 Algorithm Design and Analysis

Design, analysis, and programming of algorithms fundamental to computer systems and their development. Emphasis on graph algorithms (search, shortest path, spanning tree) and design techniques (dynamic programming, divide and conquer, greedy algorithms). Introduction to theory of computability and NP-Completeness.

Prerequisites

Special information

First day attendance is mandatory.
Note: Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.
4 Undergraduate credits

Effective August 19, 2024 to present

Learning outcomes

General

  • Compare traditional and informed graph search algorithms (depth-first, breadth-first, shortest-path-first, A*, iterative deepening, branch-and-bound).
  • Implement programs to perform graph search.
  • Explain high-level algorithm design paradigms (dynamic programming, greedy, and divide-and-conquer algorithms).
  • Implement algorithms using high-level design paradigms.
  • Design solutions to problems involving minimization and maximization (shortest path, minimum spanning tree, maximum flow).
  • Implement solutions to problems involving minimization and maximization.
  • Interpret the theoretical concepts of NP-Completeness and computability.

Spring 2025

Section Title Instructor books eservices
01 Algorithm Design and Analysis Stein, Michael Books for ICS-340-01 Spring 2025 Course details for ICS-340-01 Spring 2025
02 Algorithm Design and Analysis Armitage, Bradford C Books for ICS-340-02 Spring 2025 Course details for ICS-340-02 Spring 2025

Summer 2025

Section Title Instructor books eservices
01 Algorithm Design and Analysis Foy, Ralph Alex Books for ICS-340-01 Summer 2025 Course details for ICS-340-01 Summer 2025

Fall 2025

Section Title Instructor books eservices
01 Algorithm Design and Analysis Tian, Baozhong Books for ICS-340-01 Fall 2025 Course details for ICS-340-01 Fall 2025
02 Algorithm Design and Analysis Tian, Baozhong Books for ICS-340-02 Fall 2025 Course details for ICS-340-02 Fall 2025