The following is a list of data science-related courses. Please refer to the Directory of Courses for the most current course offerings and information.


Cross-Registration Instructions for Non-DS Students

Please note that DS students have priority registration, so enrollment will be dependent on the space available after our student registration. Non-DS students will be able to register/join a waitlist via SSOL starting September 1st for Fall 2020. Please be sure to obtain your program advisor approval before enrolling.  We encourage students to attend the first class to get the syllabus and to get a pulse for the course. The Fall 2020 Change of Program period is Tuesday, September 8th - Friday, September 18th. 

Statistics & Computer Science

STCS GR5705  Introduction to Data Science

Professor Tian Zheng (Syllabus

Data Science is a dynamic and fast growing field at the interface of Statistics and Computer Science. The emergence of massive datasets containing millions or even billions of observations provides the primary impetus for the field. Such datasets arise, for instance, in large-scale retailing, telecommunications, astronomy, and internet social media. This course will emphasize practical techniques for working with large-scale data. Specific topics covered will include statistical modeling and machine learning, data pipelines, programming languages, "big data" tools, and real world topics and case studies. The use of statistical and data manipulation software will be required. Course intended for non-quantitative graduate-level disciplines. This course will not count towards degree requirements for graduate programs such as Statistics, Computer Science, or Data Science. Students should inquire with their respective programs to determine eligibility of course to count towards minimum degree requirements. This course does not fulfill any major requirements for undergraduate degree programs offered by Computer Science. Note: this course was formerly STAT W4242.

Fall Semester: 3 credits

Computer Science

COMS W4121 Computer Systems for Data Science

Prerequisites: Students are expected to have solid programming experience in Python or with an equivalent programming language. This class is intended to be accessible for students who do not necessarily have a background in databases, operating systems or distributed systems.

The goal of this class is to provide data scientists and engineers that work with big data a better understanding of the foundations of how the systems they will be using are built. It will also give them a better understanding of the real-world performance, availability and scalability challenges when using and deploying these systems at scale. In the course we will cover foundational ideas in designing these systems, while focusing on specific popular systems that students are likely to encounter at work or when doing research. 

Spring Semester: 3 credits

COMS W4721 Machine Learning for Data Science

Prerequisites: Background in linear algebra and probability and statistics.

COMS 4721 is a graduate-level introduction to machine learning. The course covers basic statistical principles of supervised machine learning, as well as some common algorithmic paradigms. Additional topics, such as representation learning and online learning, may be covered if time permits.

Spring Semester: 3 credits

CSOR W4246 Algorithms for Data Science

Professor Eleni Drinea 

Prerequisites: basic knowledge in programming (e.g., at the level of COMS W1007), a basic grounding in calculus and linear algebra.

Methods for organizing data, e.g. hashing, trees, queues, lists, priority queues. Streaming algorithms for computing statistics on the data. Sorting and searching. Basic graph models and algorithms for searching, shortest paths, and matching. Dynamic programming. Linear and convex programming. Floating point arithmetic, stability of numerical algorithms, Eigenvalues, singular values, PCA, gradient descent, stochastic gradient descent, and block coordinate descent. Conjugate gradient, Newton and quasi-Newton methods. Large scale applications from signal processing, collaborative filtering, recommendations systems, etc.

Fall Semester: 3 credits




STAT GR5701 Probability & Statistics for Data Science

Instructor: Vince Dorie

Prerequisite: Calculus.

This course covers the following topics: Fundamentals of probability theory and statistical inference used in data science; Probabilistic models, random variables, useful distributions, expectations, law of large numbers, central limit theorem; Statistical inference; point and confidence interval estimation, hypothesis tests, linear regression.

Fall Semester: 3 credits


STAT GR5702 Exploratory Data Analysis & Visualization

Instructor: Joyce Robbins

Prerequisite: programming. Fundamentals of data visualization, layered grammar of graphics, perception of discrete and continuous variables, introduction to Mondran, mosaic pots, parallel coordinate plots, introduction to ggobi, linked pots, brushing, dynamic graphics, model visualization, clustering and classification.

Fall Semester: 3 credits


STAT GR5703 Statistical Inference & Modeling

Instructor: Marco Avella
Prerequisites: Working knowledge of calculus and linear algebra (vectors and matrices), and STAT GR5203 or equivalent.
Course covers fundamentals of statistical inference and testing, and gives an introduction to statistical modeling. The first half of the course will be focused on inference and testing, covering topics such as maximum likelihood estimates, hypothesis testing, likelihood ratio test, Bayesian inference, etc. The second half of the course will provide introduction to statistical modeling via introductory lectures on linear regression models, generalized linear regression models, nonparametric regression, and statistical computing. Throughout the course, real-data examples will be used in lecture discussion and homework problems.
Fall and Spring: 3 credits



In addition to the 21- credits of core classes, MS in Data Science students are required to complete a minimum of 9-credits of electives. In coordination with the DSI Education Committee, the Institute facilitates several elective courses for our students each term.

In addition to the DSI elective courses, MS students are encouraged to explore courses offered across the university and take advantage of the expertise in a wide range of disciplines at Columbia. Prior to registration, students receive advisement to determine if a course of interest is relevant and meets the criteria of a 4000-level or higher, technical course completed for a letter grade. You're welcome to explore the CU Directory of Classes for possible courses:

The following courses are examples of classes that MS students have used for elective credit. Elective courses and schedules are dependent on faculty availabilty and may vary each semester. Past course offerings are not guaranteed to be offered in the future.

Please note that many departments, including DSI, give registration priority to their students. Space permitting, courses are then opened up to students outside the department.

DSI Electives

COMS W4995 Topics in Computer Science: Applied Machine Learning


This class offers a hands-on approach to machine learning and data science. The class discusses the application of machine learning methods like SVMs, Random Forests, Gradient Boosting and neural networks on real world dataset, including data preparation, model selection and evaluation. This class complements COMS W4721 in that it relies entirely on available open source implementations in scikit-learn and tensor flow for all implementations. Apart from applying models, we will also discuss software development tools and practices relevant to productionizing machine learning models.


COMS W4995 Topics in Computer Science: Applied Deep Learning

Professor Josh Gordon (Syllabus)

This course provides a practical, hands-on introduction to Deep Learning. We aim to help students understand the fundamentals of neural networks (DNNs, CNNs, and RNNs), and prepare students to successfully apply them in practice. This course will be taught using open-source software, including TensorFlow 2.0. In addition to covering the fundamental methods, we will discuss the rapidly developing space of frameworks and applications, including deep learning on the web. This course includes an emphasis on fairness and testing, and teaches best practices with these in mind.


COMS W4995 Topics in Computer Science: Causal Inference for Data Science

Instructor Adam Kelleher (Syllabus)

Data scientists often have to answer questions that will lead to decisions about actions a company might take. Often, they will be able to run an experiment, and see the effect the decision might have by testing it first.  Other times, they will only have observational data at their disposal. In both cases, they need to infer the causal effect of an action on some outcomes of interest. Causal inference is an essential skill for a data scientist. Without a proper understanding, potential biases as large as 1000% have been observed in practice! This course will cover the basics of the potential outcomes framework, the Pearlian framework, and a collection of methods for observational and experimental causal inference. We'll use examples from industry applications throughout the course, especially focused on web applications.


COMS W4995 Topics in Computer Science: Data-Analytics Pipeline

Instructor Adam Kelleher 

"Data analytics pipeline" focuses on the intersection between data science, data engineering, and agile product development. In this course you'll learn some common data generating processes, how the data is transported to be stored, how analytics and compute capabilities are built on top of that storage, and how production machine learning and modeling platforms can be built in that context. There is a strong focus on good architecture design patterns, and practical implementation considerations that focus on delivering results over building perfect systems



COMS W4995 Topics in Computer Science: Elements of Data Science

Instructor: Bryan Gibson

This course is designed as an introduction to elements that constitutes the skill set of a data scientist. The course will focus on the utility of these elements in common tasks of a data scientist, rather than their theoretical formulation and properties. The course provides a foundation of basic theory and methodology with applied examples to analyze large engineering, business, and social data for data science problems. Hands-on experiments with R or Python will be emphasized.



COMS E6998 Topics in Computer Science: Machine Learning with Probabilistic Programming

Instructor:  Alp Kucukelbir (Syllabus)

The world is full of noise and uncertainty. To make sense of it, we collect data and ask questions. Is there a tumor in this x-ray scan? What affects the quality of my manufacturing plant? How old is this planet I see through the telescope? Does this drug actually work? To pose and answer such questions, data scientists must iterate through a cycle: probabilistically model a system, infer hidden patterns from data, and evaluate how well our model describes reality. By the end of this course, you will learn how to use probabilistic programming to effectively iterate  through this cycle. Specifically, you will master

  • modeling real-world phenomena using probability models,
  • using advanced algorithms to infer hidden patterns from data, and
  • evaluating the effectiveness of your analysis.

You will learn to use (and perhaps even contribute to) Edward throughout this course.



COMS E6998 NLP: Computational Models of Social Meaning

Instructor: Smaranda Muresan (Syllabus)

This applied Natural Language Processing course will focus on computational methods for extracting social and interactional meaning from large volumes of text and speech (both traditional media and social media). Topics will include:

  1. Sentiment Analysis: automatic detection of people’s sentiment towards a topic, event, product, or persons. Practical applications in various domains will be discussed (e.g., predicting stock market prices, or presidential elections)
  2. Emotion and Mood Analysis: automatic detection of people’s emotions (angry, sad, happy) by analyzing various media such as books, emails, lyrics, online discussion forums. Practical applications in various domains (such as predicting depression, categorization of songs)
  3. Belief Analysis and Hedging: automatic detection of people’s beliefs (committed belief and non-committed beliefs) from social media. Analysis of the use of hedging as a communicative device in various media: online discussions, scientific writing or legal discussions.
  4. Deception Detection (e.g., detecting fake reviews online, or deceptive speech in court proceedings)
  5. Argumentation Mining: automatic detection of arguments from text, such as online discussion or persuasive essays. Practical application for various domains (e.g., political, legal or education (e.g., improving students’ skills in writing persuasive essays)
  6. Social Power: automatic detection of power structure in organizations by analyzing people’s communications such as emails.
  7. Extracting Social Networks from text, such as networks of characters from novels, or networks from social media (e.g., people holding particular opinions, or network of friends).
  8. Personality and Interpersonal Stance


EECS E6894 Topics in Information Processing: Deep Learning for Computer Vision, Speech, and Language



IEOR E4571 Topics in Operations Research: Personalization Theory & Application

Instructor: Brett Vintch

Personalization is a key tool for enhancing customer experience across industries, thereby driving user loyalty and customer value. It is therefore no surprise that creating and enhancing personalization systems is also increasingly one of the core responsibilities of data science teams, and a key focus for many of the machine learning algorithms in the sector.

This course will focus on common personalization algorithms and theory, including behavior-based and content-based recommendation, commonly encountered issues in scaling and cold-starts, and state of the art research. It will also look at how businesses use, and misuse, these techniques in real world applications.


IEOR E4721 Topics in Quantitative Finance: Big Data in Finance

Professor Miquel Noguer Alonso (Syllabus)

The vast proliferation of data and increasing technological complexities continue to transform the way industries operate and compete. Over the last two years, 90 percent of the data in the world has been created as a result of the creation of 2.5 quintillion bytes of data on a daily basis. Commonly referred to as big data, this rapid growth and storage creates opportunities for collection, processing and analysis of structured and unstructured data. Financial services, in particular, have widely adopted big data analytics to inform better investment decisions with consistent returns. In conjunction with big data, algorithmic trading uses vast historical data with complex mathematical models to maximize portfolio returns. The continued adoption of big data will inevitably transform the landscape of financial services. However, along with its apparent benefits, significant challenges remain in regards to big data’s ability to capture the mounting volume of data. The increasing volume of market data poses a big challenge for financial institutions. Along with vast historical data, banking and capital markets need to actively manage ticker data. Likewise, investment banks and asset management firms use voluminous data to make sound investment decisions. Insurance and retirement firms can access past policy and claims information for active risk management. The course will be a mix of Theory and practice with real big data cases in finance. We will invite guest lecturers mostly for real Big Data Finance Applications. We will give MATLAB, R or Python examples.


STATS GR5293 Topics in Modern Statistics: Applied Machine Learning for Financial Modeling and Forecasting

Instructor: Michel Leonard

The course focuses on translating technical expertise into work-place solutions by teaching students to: (1) identify relevant shortfalls in  traditional processes; (2) precisely match datasets and machine learning features to overcome these shortfalls; (3) narrowly define value to fit work place processes, analytical framework, and bottom line.  Each class will be structured as an actual end-to-end work-place project and use concrete examples to teach students to design, build and deliver solutions  that integrate these considerations. A combination of assignments, presentation, and research paper will be sued to evaluation students' progress in bridging technical and applied solutions with evaluation criteria matching those of a work-place project.


STATS GR5293 Topics in Modern Statistics: Applied Machine Learning for Image Analysis

Instructor: Xiaofu He

Images are everywhere. How to deal with image data, especially with big data, is an urgent problem for data analysts.  Machine learning has proven to be a powerful technology to process and analyze such big data.  The course will discuss how machine learning methods are use in the field of image analysis, including biometrics (iris and face recognition), natural images (object identification/recognition), brain images (encoding and decoding), and handwritten digit recognition.  Students will learn how to sue traditional machine learning methods in image data processing and analysis, and develop techniques to improve these methods.  The aim of this course is to prepare students with basis knowledge and skills to explore opportunities using machine learning in the field of image analysis.


Capstone Project

ENGI E4800 Data Science Capstone & Ethics

Prerequisites: CSOR W4246 Algorithms for Data Science, STAT W4105 Probability, COMS W4121 Computer Systems for Data Science, or equivalent as approved by faculty advisor. Corequisites: to be completed along side of or after: STAT W4702 Statistical Inference and Modeling, COMS W4721 Machine Learning for Data Science, STAT W4701 Exploratory Data Analysis and Visualization, or equivalent as approved by faculty advisor.

This course provides a unique opportunity for students in the M.S. in Data Science program to apply their knowledge of the foundations, theory and methods of data science to address data science problems in industry, government and the non-profit sector. The course activities focus on a semester-length data science project sponsored by a faculty member or local organization. The project synthesizes the statistical, computational, engineering challenges and social issues involved in solving complex real-world problems.

Fall and Spring Semesters: 3 credits


BACK TO TOP                   

550 West 120th Street, Northwest Corner Building, Suite 1401, New York, N.Y. 10027    212.854.5660
©2020 Columbia University