To introduce students to the theory and design of algorithms to acquire and process large dimensional data. Advanced data structures, graph algorithms, and algebraic algorithms. Complexity analysis, complexity classes, and NP-completeness, approximation algorithms and parallel algorithms. Study of algorithmic techniques and modeling frameworks that facilitate the analysis of massively large amounts of data. Introduction to information retrieval, streaming algorithms and analysis of web searches and crawls.