CPL-301: Algorithms & Data Structures introduces students to the foundational concepts that drive computer science and software engineering. Using Introduction to Algorithms and Data Structures by Cengage, learners will study how algorithms are designed, evaluated, and optimized, while gaining hands-on experience with the data structures that power modern computing.
The course begins with recursion, problem decomposition, and efficiency analysis before moving into classic searching and sorting methods. Students will implement and compare data structures such as arrays, linked lists, stacks, queues, hash tables, trees, and graphs, evaluating their performance using Big O notation. Advanced algorithmic strategies—including greedy algorithms, dynamic programming, and shortest-path solutions—are also explored.
Through practical coding projects and analytical exercises, learners will develop problem-solving skills that prepare them for advanced coursework in computer science, artificial intelligence, and software engineering. By the end of the course, students will be able to design efficient solutions to complex computational problems while building a strong foundation in algorithmic thinking.