Search courses · All instructors
CSCI 405: Data Structures and Algorithms II
This course examines the design and analysis of algorithms through an applications-oriented lens. Topics include analysis of time and space complexity, algorithmic strategies for network and optimization problems such as shortest paths, spanning trees, and flows, as well as advanced approaches including dynamic programming, greedy methods, and randomized algorithms. The course also addresses formal proofs of correctness and the theory of NP-Completeness.
Offered in 24 of the 26 listed terms (Winter 2021 to Spring 2027).
Catalog entryBrowse ClassesTextbooks (WWU Bookstore)
Prerequisites
CSCI 305 and (MATH 341 or MATH 441)
Prerequisite tree
Each course's own prerequisites, down to the first courses in the chain.
- CSCI 305 Data Structures and Algorithms I
requires CSCI 201 or CSCI 301- CSCI 201 Discrete Math and Functional Programming for Computer Scientists
requires CSCI 145 and (MATH 124 or MATH 125 or MATH 134 or MATH 135 or MATH 138 or Calculus AB AP Exam (AP66), score 3 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 3)- CSCI 145 Computer Programming and Linear Data Structures
requires CSCI 141 and (MATH 115 or MATH 118 or MATH 124 or MATH 125 or MATH 138 or MATH 156 or MATH 157 or Precalculus AP Exam (AP65), score 5 or Calculus AB AP Exam (AP66), score 2 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 2 or Pre-Calculus 2 (PC2), score 1.70 or MPT - Advanced - Scaled Score, score 153 or ALEKS Math Placement Assessmnt, score 80)- CSCI 141 Computer Programming I
requires MATH 112 or MATH 114 or MATH 115 or MATH 118 or MATH 124 or MATH 125 or MATH 134 or MATH 138 or MATH 156 or MATH 204 or Pre-Calculus 1 (PC1), score 1.70 or Precalculus AP Exam (AP65), score 3 or Calculus AB AP Exam (AP66), score 2 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 2 or Pre-Calculus (PC), score 1.70 or Pre-Calculus 2 (PC2), score 1.70 or College Algebra (CA), score 1.70 or MPT General - Scaled Score, score 152 or MPT - Advanced - Scaled Score, score 143 or ALEKS Math Placement Assessmnt, score 55- MATH 112 Functions and Algebraic Methods
requires MPT - Advanced - Scaled Score, score 143 or MATH 099 (minimum grade YP) or College Algebra (CA), score 1.70 or Intermediate Algebra (IA), score 1.70 or MPT General - Scaled Score, score 148 or ALEKS Math Placement Assessmnt, score 35 or Precalculus AP Exam (AP65), score 2 or MATH 197C (minimum grade S) or MATH 109 (minimum grade S) - MATH 114 Precalculus I
requires MPT General - Scaled Score, score 153 or MPT - Advanced - Scaled Score, score 143 or ALEKS Math Placement Assessmnt, score 55 or MATH 112 or Precalculus AP Exam (AP65), score 3 or College Algebra (CA), score 1.70 or Pre-Calculus 1 (PC1), score 1.70- MATH 112 Functions and Algebraic Methods (shown above)
- MATH 115 Precalculus II
requires MATH 114 or Precalculus AP Exam (AP65), score 4 or ALEKS Math Placement Assessmnt, score 65- MATH 114 Precalculus I (shown above)
- MATH 118 Accelerated Precalculus
requires MPT General - Scaled Score, score 158 or MPT - Advanced - Scaled Score, score 149 or Precalculus AP Exam (AP65), score 4 or Calculus AB AP Exam (AP66), score 2 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 2 or ALEKS Math Placement Assessmnt, score 70 - MATH 124 Calculus and Analytic Geometry I
requires MPT - Advanced - Scaled Score, score 153 or MATH 115 or MATH 118 or Precalculus AP Exam (AP65), score 5 or Calculus BC AP Exam (AP68), score 3 or Calculus AB AP Exam (AP66), score 2 or Calc AB Subscore AP Exm (AP69), score 2 or Pre-Calculus 2 (PC2), score 2.30 or ALEKS Math Placement Assessmnt, score 80 - MATH 125 Calculus and Analytic Geometry II
requires MATH 124 or MATH 134 or Calculus AB AP Exam (AP66), score 4 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 4 - MATH 134 Calculus I Honors
requires MATH 115 (minimum grade A) or MATH 118 (minimum grade A) or Math Placement - Advanced 2, score 20 or Precalculus AP Exam (AP65), score 5 - MATH 138 Accelerated Calculus
requires Calculus AB AP Exam (AP66), score 4 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 4 or (Calculus BC AP Exam (AP68), score 2 and Calc AB Subscore AP Exm (AP69), score 3) - MATH 156 Algebra With Applications to Business and Economics
requires MPT General - Scaled Score, score 152 or MPT - Advanced - Scaled Score, score 143 or ALEKS Math Placement Assessmnt, score 55 or Precalculus AP Exam (AP65), score 3 or College Algebra (CA), score 1.70 or Pre-Calculus 1 (PC1), score 1.70 or MATH 112- MATH 112 Functions and Algebraic Methods (shown above)
- MATH 204 Elementary Linear Algebra
requires MATH 125 or MATH 135 or MATH 138
- MATH 112 Functions and Algebraic Methods
- MATH 115 Precalculus II
requires MATH 114 or Precalculus AP Exam (AP65), score 4 or ALEKS Math Placement Assessmnt, score 65- MATH 114 Precalculus I (shown above)
- MATH 118 Accelerated Precalculus
requires MPT General - Scaled Score, score 158 or MPT - Advanced - Scaled Score, score 149 or Precalculus AP Exam (AP65), score 4 or Calculus AB AP Exam (AP66), score 2 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 2 or ALEKS Math Placement Assessmnt, score 70 - MATH 124 Calculus and Analytic Geometry I
requires MPT - Advanced - Scaled Score, score 153 or MATH 115 or MATH 118 or Precalculus AP Exam (AP65), score 5 or Calculus BC AP Exam (AP68), score 3 or Calculus AB AP Exam (AP66), score 2 or Calc AB Subscore AP Exm (AP69), score 2 or Pre-Calculus 2 (PC2), score 2.30 or ALEKS Math Placement Assessmnt, score 80 - MATH 125 Calculus and Analytic Geometry II
requires MATH 124 or MATH 134 or Calculus AB AP Exam (AP66), score 4 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 4 - MATH 138 Accelerated Calculus
requires Calculus AB AP Exam (AP66), score 4 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 4 or (Calculus BC AP Exam (AP68), score 2 and Calc AB Subscore AP Exm (AP69), score 3) - MATH 156 Algebra With Applications to Business and Economics
requires MPT General - Scaled Score, score 152 or MPT - Advanced - Scaled Score, score 143 or ALEKS Math Placement Assessmnt, score 55 or Precalculus AP Exam (AP65), score 3 or College Algebra (CA), score 1.70 or Pre-Calculus 1 (PC1), score 1.70 or MATH 112- MATH 112 Functions and Algebraic Methods (shown above)
- MATH 157 Calculus with Applications to Business and Economics
requires MPT - Advanced - Scaled Score, score 148 or MATH 156 or MATH 114 or MATH 118 or Pre-Calculus 2 (PC2), score 2.30 or ALEKS Math Placement Assessmnt, score 65 or Pre-Calculus 1 (PC1), score 2.3 or Pre-Calculus (PC), score 2.3 or Precalculus AP Exam (AP65), score 4 or Calculus AB AP Exam (AP66), score 2 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 2
- CSCI 141 Computer Programming I
- MATH 124 Calculus and Analytic Geometry I
requires MPT - Advanced - Scaled Score, score 153 or MATH 115 or MATH 118 or Precalculus AP Exam (AP65), score 5 or Calculus BC AP Exam (AP68), score 3 or Calculus AB AP Exam (AP66), score 2 or Calc AB Subscore AP Exm (AP69), score 2 or Pre-Calculus 2 (PC2), score 2.30 or ALEKS Math Placement Assessmnt, score 80 - MATH 125 Calculus and Analytic Geometry II
requires MATH 124 or MATH 134 or Calculus AB AP Exam (AP66), score 4 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 4 - MATH 134 Calculus I Honors
requires MATH 115 (minimum grade A) or MATH 118 (minimum grade A) or Math Placement - Advanced 2, score 20 or Precalculus AP Exam (AP65), score 5 - MATH 135 Calculus II Honors
- MATH 138 Accelerated Calculus
requires Calculus AB AP Exam (AP66), score 4 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 4 or (Calculus BC AP Exam (AP68), score 2 and Calc AB Subscore AP Exm (AP69), score 3)
- CSCI 145 Computer Programming and Linear Data Structures
- CSCI 301 Formal Languages and Functional Programming
requires CSCI 145- CSCI 145 Computer Programming and Linear Data Structures (shown above)
- CSCI 201 Discrete Math and Functional Programming for Computer Scientists
- MATH 341 Probability and Statistical Inference
requires MATH 125 or MATH 135 or MATH 138- MATH 125 Calculus and Analytic Geometry II
requires MATH 124 or MATH 134 or Calculus AB AP Exam (AP66), score 4 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 4 - MATH 135 Calculus II Honors
- MATH 138 Accelerated Calculus
requires Calculus AB AP Exam (AP66), score 4 or Calculus BC AP Exam (AP68), score 3 or Calc AB Subscore AP Exm (AP69), score 4 or (Calculus BC AP Exam (AP68), score 2 and Calc AB Subscore AP Exm (AP69), score 3)
- MATH 125 Calculus and Analytic Geometry II
- MATH 441 Probability
requires MATH 204 and (MATH 224 or MATH 225) and (MATH 302 or MATH 309) and MATH 226- MATH 204 Elementary Linear Algebra
requires MATH 125 or MATH 135 or MATH 138 - MATH 224 Multivariable Calculus and Geometry I
requires MATH 125 or MATH 135 or MATH 138 or Calculus AB AP Exam (AP66), score 5 or Calculus BC AP Exam (AP68), score 4 or Calc AB Subscore AP Exm (AP69), score 5 - MATH 225 Multivariable Calculus and Geometry II
requires MATH 224- MATH 224 Multivariable Calculus and Geometry I (shown above)
- MATH 302 Introduction to Proofs Via Number Theory
requires MATH 125 or MATH 135 or MATH 138 - MATH 309 Introduction to Proof in Discrete Mathematics
- MATH 226 Limits and Infinite Series
requires MATH 125 or MATH 135 or MATH 138
- MATH 204 Elementary Linear Algebra
From Banner's catalog for Spring 2027. Banner lists only the requisites it enforces, so check the catalog entry too.
Required by (0)
No course lists it as a prerequisite.
Syllabi and course websites
None listed yet.
Instructors
| Instructor | Sections | Terms |
|---|---|---|
| Akter, Syeda | 15 | Spring 2021 to Spring 2027 |
| Harris, Kameron | 8 | Fall 2021 to Winter 2026 |
| Hearne, James | 5 | Winter 2021 to Winter 2023 |
| Nilles, Alex | 5 | Fall 2025 to Spring 2027 |
| Fizzano, Perry | 3 | Winter 2021 to Fall 2021 |
| Hao, Qiang | 1 | Fall 2026 |
| Hong, Hsiang - Jen | 1 | Spring 2024 |
Every offering in the listed terms (38 sections)
| Term | Sec | CRN | Type | Meets | Instructor | Enrolled | Delivery |
|---|---|---|---|---|---|---|---|
| Spring 2027 | 0 | 20189 | Lecture | MTWF 2:00pm-2:50pm · AW 205 | Nilles, Alex | 0/35 | Face to Face Instruction |
| Spring 2027 | 0 | 23274 | Lecture | MTWF 12:00pm-12:50pm · BH 106 | Akter, Syeda | 0/35 | Face to Face Instruction |
| Winter 2027 | 0 | 11593 | Lecture | MTWF 11:00am-11:50am · CF 225 | Nilles, Alex | 0/35 | Face to Face Instruction |
| Winter 2027 | 0 | 13411 | Lecture | MTWF 9:00am-9:50am · CF 314 | Nilles, Alex | 0/35 | Face to Face Instruction |
| Fall 2026 | 0 | 41045 | Lecture | TR 12:00pm-1:40pm · CF 227 | Hao, Qiang | 29/34 | Face to Face Instruction |
| Summer 2026 | S01 Analysis of Algorithms and Data Structures II | 30704 | Lecture | MWR 10:00am-11:50am · CF 226 | Nilles, Alex | 23/25 | Face to Face Instruction |
| Spring 2026 | 0 Analysis of Algorithms and Data Structures II | 20199 | Lecture | TR 12:00pm-1:40pm · CF 105 | Akter, Syeda | 33/35 | Face to Face Instruction |
| Winter 2026 | 0 Analysis of Algorithms and Data Structures II | 11772 | Lecture | TR 2:00pm-3:40pm · CF 314 | Harris, Kameron | 34/35 | Face to Face Instruction |
| Fall 2025 | 0 Analysis of Algorithms and Data Structures II | 41136 | Lecture | MTWF 11:00am-11:50am · KB 311 | Nilles, Alex | 32/32 | Face to Face Instruction |
| Fall 2025 | 0 Analysis of Algorithms and Data Structures II | 43627 | Lecture | TR 2:00pm-3:40pm · CF 125 | Harris, Kameron | 31/35 | Face to Face Instruction |
| Spring 2025 | 0 Analysis of Algorithms and Data Structures II | 20207 | Lecture | MTWF 10:00am-10:50am · CF 314 | Akter, Syeda | 29/35 | Face to Face Instruction |
| Spring 2025 | 0 Analysis of Algorithms and Data Structures II | 22919 | Lecture | MTWF 12:00pm-12:50pm · CF 105 | Akter, Syeda | 19/35 | Face to Face Instruction |
| Winter 2025 | 0 Analysis of Algorithms and Data Structures II | 11952 | Lecture | TR 10:00am-11:40am · KB 307 | Akter, Syeda | 7/32 | Face to Face Instruction |
| Winter 2025 | 0 Analysis of Algorithms and Data Structures II | 13439 | Lecture | MTWF 1:00pm-1:50pm · CF 316 | Harris, Kameron | 34/35 | Face to Face Instruction |
| Fall 2024 | 0 Analysis of Algorithms and Data Structures II | 41234 | Lecture | MTWF 12:00pm-12:50pm · ES 413 | Harris, Kameron | 34/35 | Face to Face Instruction |
| Summer 2024 | SOL Analysis of Algorithms and Data Structures II | 30833 | Lecture | MWF 10:00am-11:50am · ONLINE SYNC | Akter, Syeda | 9/35 | Distance Instr-OnLine |
| Spring 2024 | 0 Analysis of Algorithms and Data Structures II | 20244 | Lecture | TR 2:00pm-3:40pm · CF 120 | Harris, Kameron | 35/35 | Face to Face Instruction |
| Spring 2024 | 0 Analysis of Algorithms and Data Structures II | 23709 | Lecture | MTWF 1:00pm-1:50pm · BI 212 | Hong, Hsiang - Jen | 35/35 | Face to Face Instruction |
| Winter 2024 | 0 Analysis of Algorithms and Data Structures II | 12312 | Lecture | TR 10:00am-11:40am · CF 025 | Harris, Kameron | 33/35 | Face to Face Instruction |
| Fall 2023 | 0 Analysis of Algorithms and Data Structures II | 41446 | Lecture | MTWF 12:00pm-12:50pm · CF 110 | Akter, Syeda | 24/35 | Face to Face Instruction |
| Fall 2023 | 0 Analysis of Algorithms and Data Structures II | 43612 | Lecture | MTWF 2:00pm-2:50pm · CF 225 | Akter, Syeda | 18/35 | Face to Face Instruction |
| Spring 2023 | 01 Analysis of Algorithms and Data Structures II | 20249 | Lecture | MTWF 1:00pm-1:50pm · HH 353 | Akter, Syeda | 36/35 | Face to Face Instruction |
| Winter 2023 | 0 Analysis of Algorithms and Data Structures II | 12616 | Lecture | MTWF 1:00pm-1:50pm · CF 023 | Akter, Syeda | 21/35 | Face to Face Instruction |
| Winter 2023 | 0 Analysis of Algorithms and Data Structures II | 13795 | Lecture | MTWF 10:00am-10:50am · CF 225 | Hearne, James | 34/35 | Face to Face Instruction |
| Fall 2022 | 0 Analysis of Algorithms and Data Structures II | 41584 | Lecture | MTWF 1:00pm-1:50pm · CF 314 | Hearne, James | 32/35 | Face to Face Instruction |
| Fall 2022 | 0 Analysis of Algorithms and Data Structures II | 44511 | Lecture | MTWF 9:00am-9:50am · CF 316 | Akter, Syeda | 4/35 | Face to Face Instruction |
| Summer 2022 | S13 Analysis of Algorithms and Data Structures II | 30866 | Lecture | MTW 12:00pm-1:50pm · CF 225 | Hearne, James | 8/35 | Face to Face Instruction |
| Spring 2022 | 01 Analysis of Algorithms and Data Structures II | 20267 | Lecture | MTW 11:00am-11:50am · CF 023 TBA · ONLINE ASNC | Akter, Syeda | 27/35 | Face to Face Instruction |
| Spring 2022 | 0 Analysis of Algorithms and Data Structures II | 21338 | Lecture | MTW 10:00am-10:50am · CF 023 TBA · ONLINE ASNC | Akter, Syeda | 17/35 | Face to Face Instruction |
| Winter 2022 | 0 Analysis of Algorithms and Data Structures II | 13047 | Lecture | MTWF 11:00am-11:50am · CF 420 | Harris, Kameron | 35/35 | Face to Face Instruction |
| Fall 2021 | 0 Analysis of Algorithms and Data Structures II | 41769 | Lecture | MTWF 10:00am-10:50am · CF 227 | Harris, Kameron | 26/35 | Face to Face Instruction |
| Fall 2021 | 0 Analysis of Algorithms and Data Structures II | 44186 | Lecture | MTWF 9:00am-9:50am · CF 316 | Fizzano, Perry | 30/35 | Face to Face Instruction |
| Fall 2021 | 0 Analysis of Algorithms and Data Structures II | 44699 | Lecture | MTWF 9:00am-9:50am · REMOTE SYNC | Fizzano, Perry | 1/1 | Face to Face Instruction |
| Summer 2021 | S13 Analysis of Algorithms and Data Structures II | 31150 | Lecture | F 2:00pm-3:20pm · REMOTE SYNC TBA · REMOTE ASNC | Akter, Syeda | 8/35 | Face to Face Instruction |
| Spring 2021 | 01 Analysis of Algorithms and Data Structures II | 20276 | Lecture | MTWF 2:00pm-2:50pm · REMOTE SYNC | Akter, Syeda | 32/35 | Face to Face Instruction |
| Spring 2021 | 0 Analysis of Algorithms and Data Structures II | 21436 | Lecture | F 10:00am-10:50am · REMOTE SYNC TBA · REMOTE ASNC | Hearne, James | 32/35 | Face to Face Instruction |
| Winter 2021 | 0 Analysis of Algorithms and Data Structures II | 10624 | Lecture | TBA · REMOTE ASNC | Hearne, James | 27/35 | Face to Face Instruction |
| Winter 2021 | 0 Analysis of Algorithms and Data Structures II | 13592 | Lecture | W 12:00pm-12:50pm · REMOTE SYNC TBA · REMOTE ASNC | Fizzano, Perry | 33/35 | Face to Face Instruction |