- Lab0 : Write specific sorting algorithms and print out runtime for various array sizes
- Project1 : Write more sorting algorithms and print out runtime plus comparison counts for various array sizes
- Project2 (Part 1) : Iterative Matrix Multiplication Algorithm
- Project2 (Part 2) : Strassen Algorithm and Divide and Conquer Matrix Multiplication
- Project3 : Use Dynamic Programming to solve the Assembly Line Scheduling problem and another Game.
- Project4 : Use Dynamic & Greedy Programming to solve Change Making Problem.
- Project5 : Implement Topological Sort, Breadth First Search, and Graph Traversal.
Term Typically Offered: F, SP
Prerequisite: CSC 141 and MATH 142; or CSC 348 and MATH 142; or CPE/CSC 102 and CPE/ CSC 103 and MATH 248; or CPE/CSC 202 and CPE/ CSC 203 and MATH 248.
Intermediate and advanced algorithms and their analysis. Mathematical, geometrical, and graph algorithms. NP-complete problems. Additional topics will be chosen from pattern matching, file compression, cryptology, dynamic and linear programming, and exhaustive search. Course may be offered in classroom-based or online format. 3 lectures, 1 laboratory.