Skip to main content

Apply now! Spring registration begins October 20.

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.

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

Spring 2026

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