CSEN214 Algorithms and Data Structures
2026 - Today
American University of Beirut - Mediterraneo
Campus
This course introduces systematic methods for the design and (asymptotic) analysis of advanced algorithms and data structures. Topics include searching, sorting, order statistics, divide-and-conquer, greedy algorithms, dynamic programming, multi-threaded algorithms, matrix algorithms, as well as (advanced) graph algorithms. Several data structures are also studied, e.g., red-black trees, binomial heaps, Fibonacci heaps, and suffix trees. Students are required to have a basic knowledge of data structures (CMPS 202), discrete mathematics (CMPS 211), and calculus. A working knowledge of at least one high-level programming language (C, C++, Java, and Python) is also expected.