Understand the principles of efficient algorithms for dealing with large scale data sets and be able to select appropriate algorithms for specific problems. Understand and be able to apply the main ...
This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) ...
Mathematical Background: We expect that the student is comfortable with basic mathematics at the level of a U.S. first-year college STEM student. This includes basic notions such as sets and functions ...