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.

*Courses:*

STATISTICS & COMPUTER SCIENCE

COMPUTER SCIENCE

STATISTICS

ELECTIVES

CAPSTONE

## Statistics & Computer Science

STCS GR5705 *(formerly STAT W4242)*

### 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 date. 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.

**Fall Semester: 3 credits **

## Computer Science

### Computer Systems for Data Science

Professors Eugene Wu and Sambit Sahu. (Syllabus)

**Prerequisites: Background in Computer System Organization and good working knowledge of C/C++. Corequisites: CSOR W4246 Algorithms for Data Science, STAT W4203 Probability Theory, or equivalent as approved by faculty advisor.**

An introduction to computer architecture and distributed systems with an emphasis on warehouse scale computing systems. Topics will include fundamental tradeoffs in computer systems, hardware and software techniques for exploiting instruction-level parallelism, data-level parallelism and task level parallelism, scheduling, caching, prefetching, network and memory architecture, latency and throughput optimizations, specialization, and an introduction to programming data center computers.

*Spring Semester: 3 credits *

### Machine Learning for Data Science

**Prerequisites: Background in linear algebra and probability and statistics.**

An introduction to machine learning, with an emphasis on data science. Topics will include least squares methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines, and kernel methods. Part of the course will be focused on methods and problems relevant to big data problems. Students may not receive credit for both COMS W4771 and W4721.

*Spring Semester: 3 credits*

CSOR W4246

### Algorithms for Data Science

**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*

## Statistics

STAT GU4203

### Probability Theory

Professor Banu Baydil (Syllabus)

**Prerequisites: MATH V1101 Calculus I and V1102 Calculus II or the equivalent.**

A calculus-based introduction to probability theory. Topics covered include random variables, conditional probability, expectation, independence, Bayes' rule, important distributions, joint distributions, moment generating functions, central limit theorem, laws of large numbers and Markov's inequality.

*Fall Semester: 3 credits*

*Meets first half of the semester

STAT GR5701

### Probability & Statistics for Data Science

Professor Banu Baydil (Syllabus)

**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 *

### 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.

*Spring Semester: 3 credits*

STAT GR5703

### Statistical Inference & Modeling

Professor Banu Baydil (Syllabus)

**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 Semester: 3 credits *

*Meets second half of the semester

## Electives

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: http://www.columbia.edu/cu/bulletin/uwb/

*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.*

**ELECTIVE EXAMPLES**

The following courses are examples of classes that MS students have used for elective credit.* Courses offerings are dependent on faculty availabilty and may vary each semester. *

BINF G4006

### Translational Bioinformatics

Professor Nicholas P. Tatonetti (Syllabus)

**Prerequisites: Familiarity with programming in either Python or R. Basic Probability.**

Methods in biomedical data science (i.e. translational bioinformatics) for graduate students and upperclassmen. Students study the statistical and computational algorithms to evaluate large biomedical data, including sequence analysis, application of supervised and unsupervised machine learning, graph theoretic models and network analysis, and chemical informatics. They study how to apply these algorithms to biomedical domains in non-human genetics, human genetics, pharmacology, and public health. Successful completion of the course readies the student for graduate level research in translational bioinformatics.

COMS W4995

### Topics in Computer Science: Applied Machine Learning

Professor Andreas Mueller (Syllabus)

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: Causal Inference for Data Science

Instructor Adam Kelleher (Syllabus)

COMS W4995

### Topics in Computer Science: Elements of Data Science: A First Course

Instructors: Bryan Gibson, Haiyuan Wang

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 W4995

### Topics in Computer Science: Machine Learning Products for Data Science

Instructor Adam Kelleher

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:

- 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)
- 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)
- 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.
- Deception Detection (e.g., detecting fake reviews online, or deceptive speech in court proceedings)
- 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)
- Social Power: automatic detection of power structure in organizations by analyzing people’s communications such as emails.
- 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).
- Personality and Interpersonal Stance

COMS E6998

### Topics in Computer Science: Projects in Data Science: A First Course

Instructors: Patrick Houlihan, David Shilane

This course will introduce students to the practice of Data Science. Across many practice areas, Data Science is applied to generate knowledge and improve the quality of products and services. The form of this work can incorporate a wide variety of information sources, analytical methods, technological systems, and reporting formats. This course will provide exposure to the tools and techniques of Data Science while exploring a number of representative Practice Areas, Methods, and Software Skills

EECS E6893

### Topics in Information Processing: Big Data Analytics

Professor Ching-Yung Lin (Syllabus)

**Prerequisites: one or more programming languages: C, C++, Java, Perl, Python, and/or Javascript.**

With the advance of IT storage, processing, computation, and sensing technologies, Big Data has become a novel norm of life. Only until recently, computers are able to capture and analysis all sorts of large-scale data from all kinds of fields -- people, behavior, information, devices, sensors, biological signals, finance, vehicles, astronology, neurology, etc. Almost all industries are bracing into the challenge of Big Data and want to dig out valuable information to get insight to solve their challenges. This course shall provide the fundamental knowledge to equip students being able to handle those challenges. This discipline inherently involves many fields. Because of its importance and broad impact, new software and hardware tools and algorithms are quickly emerging. A data scientist needs to keep up with this ever changing trends to be able to create a state-of-the-art solution for real-world challenges.

EECS E6894

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

SUMA K4360

### Sustainability Technology and the Evolution of Smart Cities

Professor Gregory Falco (Syllabus)

This course is offered through the School of Continuing Education. The progress of sustainability in recent years has almost entirely been a result in the evolution of smart, sustainable technology solutions. This course examines opportunities to drive sustainability through technology applications with the end goal of piecing together all of the pieces to envision an intelligent city. Companies are increasingly turning to technology to fulfill their sustainability goals considering many technologies provide off-the-shelf, cost-effective and immediate savings compared to operationally invasive, resource-heavy sustainability transformation programs. Sustainability technology ranges from intelligent infrastructure to mobile applications that help to drive the "sharing economy". The course will provide an overview of the sustainability technologies that large corporations are actively pursuing and delve into the project management and integration strategies required to implement these solutions. Successful sustainability practitioners must not only have a strong understanding of the values and methodologies of sustainable operations, but also the tools and technologies available to drive sustainability throughout their organization. Upon completion of the class, students will have a sufficient level of understanding to discuss these solutions and relevant case studies with potential employers. This course will benefit anyone interested in a career in sustainability or in smart cities as it will provide them the skills and analytical capabilities to analyze which sustainability technologies are a good fit for their company's sustainability and growth strategy.

## Capstone Project

### Data Science Capstone & Ethics

Instructor: Smaranda Muresan

**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 * ** **