Students build upon the concepts covered in CS 2500. Various techniques for designing algorithms, analyzing their time and space complexity, and demonstrating their correctness will be covered. These techniques include divide-and-conquer, greedy algorithms, dynamic programming, randomized algorithms, string processing algorithms, and parallel algorithms. Analysis of algorithms will include computational models, case analysis, and computational complexity. Students will create proofs as well as perform programming code. There will be more rigor in the theoretical analysis of algorithms.
CS 2500
Course Code: CS 4000
Credit Hours: 3
Level: Upper-Level
Program Placement: Semester VII
Course description sourced verbatim from the official Northwood University 2025–2026 Academic Catalog and program curriculum guide. Northwood reserves the right to revise course content between publications.