ICS 340 Algorithm Design and Analysis
Exploration of the design and implementation of data structures and algorithms fundamental to computer systems and applications and to software engineering. Topics include trees, graphs, basic analysis of algorithmic complexity, fundamental questions of computability, and introduction to the algorithmic basis of intelligent systems. Programming projects.
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.
Prerequisites
Special information
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
- Analyze asymptotical complexities (O(n), O(n2), O(log n), and O(n log n), etc.) of algorithms.
- Design and implement different hashing algorithms and be able to use them to store or retrieve data.
- Design and implement non-linear abstract data types such as trees, heaps, and apply them to appropriate problems.
- Implement and apply different graph algorithms (such as depth first, breadth first, shortest path, and minimum spanning tree, etc.) to solve problems.
- Select, implement, and apply appropriate sorting algorithms to solve problems.
- Use pseudo-code to describe algorithms at an intermediate/advanced level.
- Write programs using recursion at an intermediate/advanced level.
- Design and implement algorithmic strategies such as Dynamic Programming and Greedy Strategies to solve problems.
Fall 2024
Section | Title | Instructor | books | eservices |
---|---|---|---|---|
01 | Algorithm Design and Analysis | Armitage, Bradford C | Books for ICS-340-01 Fall 2024 | Course details for ICS-340-01 Fall 2024 |
02 | Algorithm Design and Analysis | Stein, Michael | Books for ICS-340-02 Fall 2024 | Course details for ICS-340-02 Fall 2024 |
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 |