This course covers algorithmic techniques for solving problems with respect to data science applications. The main objective of this course is to design algorithms and primitive/complex data structures, and estimate their complexity and costs.