CS-320: Computer language processingWe teach the fundamental aspects of analyzing and interpreting computer languages, including the techniques to build compilers. You will build a working compiler from an elegant functional language in
CS-401: Applied data analysisThis course teaches the basic techniques, methodologies, and practical skills required to draw meaningful insights from a variety of data, with the help of the most acclaimed software tools in the dat
MATH-328: Algebraic geometry I - CurvesAlgebraic geometry is the common language for many branches of modern research in mathematics. This course gives an introduction to this field by studying algebraic curves and their intersection theor
CS-210: Functional programmingUnderstanding of the principles and applications of functional programming, the fundamental models of program
execution, application of fundamental methods of program composition, meta-programming thr
CS-322: Introduction to database systemsThis course provides a deep understanding of the concepts behind data management systems. It covers fundamental data management topics such as system architecture, data models, query processing and op
CS-422: Database systemsThis course is intended for students who want to understand modern large-scale data analysis systems and database systems. It covers a wide range of topics and technologies, and will prepare students