In this computer science course, students deepen their understanding of data structures and algorithms by focusing on real-world applications drawn from graph theory. Topics include undirected and directed graphs, graph traversals, minimum spanning trees, and shortest-path algorithms. Students will also explore core algorithmic strategies such as divide & conquer, dynamic programming, and problem reductions, as well as concepts related to NP-complete problems and undecidable problems. Throughout the course, emphasis is placed on analyzing algorithmic efficiency within practical problem-solving contexts.
Prerequisites
Completion of IT-CS 265 with a grade of 2.0 or higher; AND admission to the Bachelor of Science Computer Science Degree; OR permission from a Computer Science program advisor.