Apr 30, 2026  
2024-2025 Undergraduate Bulletin 
    
2024-2025 Undergraduate Bulletin [ARCHIVED CATALOG]

C_S 4460 - Algorithms (3)


When Offered: Spring, Even-numbered years.
We study common algorithm design techniques like divide and conquer and dynamic programming, and gain experience in the art of abstraction – to decompose bigger problems into smaller problems so that they can be solved efficiently. We study advanced data structures, like those for storing disjoint sets and multi-dimensional datasets, and see their applications to real-world problems, like finding nearest neighbors, predictive text completion and recommendation systems. We study algorithms to problems in application areas like computational geometry, bioinformatics, cryptography, streaming algorithms, network optimizations, and more. Over the past several decades, research in algorithmic computer science has advanced at a rapid pace and its contributions have had a profound impact on almost every area of science and industry.
Prerequisites: C_S 3460 Â with a minimum grade of C- (1.7).