Course Number Block Course Title Short Description Expanded Description Section 1 Instructor Section 2 Instructor
DSCI 511 1 Programming for Data Science Pseudo-code. Program design and structure. Flow control. Iteration. Lists (arrays). Functions. File I/O. Classes, objects, methods, and libraries. Program design and data manipulation with Python. Overview of data structures, iteration, flow control, and program design relevant to data exploration and analysis. When and how to exploit pre-existing libraries. Prajeet Bajpai Tiffany Timbers
DSCI 521 1 Computing Platforms for Data Science Introduction to software, shells, tools, and file systems for use in the Data Science program. Installation, configuration, and use of statistical and programming software including Integrated Development Environments (IDEs). Problem resolution skills. How to install, maintain, and use the data scientific software stack. The Unix shell, version control, and problem solving strategies. Literate programming documents. Daniel Chen Andy Tai
DSCI 523 1 Programming for Data Manipulation Program design and data manipulation using industry-standard software tools designed for statistical work. Organizing, filtering, sorting, grouping, reformatting, converting, and cleaning data to prepare it for further analysis. Program design and data manipulation with R. Organizing, filtering, sorting, grouping, reformatting, converting, and cleaning data to prepare it for further analysis. Tiffany Timbers Gittu George
DSCI 551 1 Descriptive Statistics and Probability for Data Science Descriptive statistics including measures of location and spread. Random variables, distributions, and parameters. Categorical variables. Uncertainty. Missing data. Fundamental concepts in probability including conditional, joint, and marginal distributions. Statistical view of data coming from a probability distribution. Vincent Liu Alexi Rodríguez-Arelis
DSCI 512 2 Algorithms and Data Structures Basic algorithms. Recursion. Data structures including linked lists, queues, stacks, trees, graphs, and hash tables. Searching and sorting. Introduction to complexity including Big-O notation, efficiency, and scalability. How to choose and use appropriate algorithms and data structures to help solve data science problems. Key concepts such as recursion and algorithmic complexity (e.g., efficiency, scalability). Vincent Liu Hedayat Zarkoob
DSCI 531 2 Data Visualization I Descriptive plots using statistical and programming software. Basics, mechanics, and principles of data visualization. Exploratory data analysis. Design of effective static visualizations. Plotting tools in R and Python. Payman Nickchi Joel Östblom
DSCI 552 2 Statistical Inference and Computation I Random variables, parameters, observed data, statistics (distinctions and connections). Estimation: point and interval. Two-group comparisons, frequentist version. Simulation-based approaches. The statistical and probabilistic foundations of inference. Large sample results. The frequentist paradigm. Katie Burak Alexi Rodríguez-Arelis
DSCI 571 2 Supervised Learning I Decision trees. k-th nearest neighbour classifiers. Naive Bayes classifiers. Logistic regression. Introduction to supervised machine learning. Basic machine learning concepts such as generalization error and overfitting. Various approaches such as K-NN, decision trees, linear classifiers. Prajeet Bajpai Varada Kolhatkar
DSCI 513 3 Databases and Data Retrieval Relational schemas. SQL queries. Database programming using embedded SQL. XML and XQuery. How to work with data stored in relational database systems. Storage structures and schemas, data relationships, and ways to query and aggregate such data. Gittu George (lecture), Prajeet Bajpai (lab) Gittu George (lecture), Andy Tai (lab)
DSCI 522 3 Data Science Workflows Interactive and non-interactive data analysis. Scripting. Dynamic reporting. Reproducibility. Project and file management. Version control. Automated workflows. Interactive vs. scripted/unattended analyses and how to move fluidly between them. Reproducibility through automation and containerization. Tiffany Timbers Daniel Chen
DSCI 561 3 Regression I Linear models: continuous response; one or more categorical covariates and/or one or more continuous covariates. Linear models for a quantitative response variable, with multiple categorical and/or quantitative predictors. Matrix formulation of linear regression. Model assessment and prediction. Katie Burak Payman Nickchi
DSCI 573 3 Feature and Model Selection Performance of a classification model. Generalization error, overfitting of training data. Shrinkage, feature selection, Akaike Information Criterion, Bayesian Information Criterion. k-fold cross validation. Bootstrapping. Receiver Operating Characteristic curve. Elastic nets, regularization. How to evaluate and select features and models. Cross-validation, ROC curves, feature engineering, and regularization. Vincent Liu Joel Östblom
DSCI 524 4 Collaborative Software Development Software life cycle. Unit testing. Continuous integration. Submission to a relevant repository for distribution. Packaging for installation and use by others. Software licenses. Classes and abstraction. How to exploit practices from collaborative software development techniques in data scientific workflows. Appropriate use of abstraction, the software life cycle, unit testing / continuous integration, and packaging for use by others. Tiffany Timbers Daniel Chen
DSCI 542 4 Communication and Argumentation Claims, reasons, and evidence. Strengths and weaknesses of models. Effective oral and written presentation of scientific results, including interpretation of data and recognition of assumptions, bias, validity, and reliability. Citations, references, and peer-review. How to interpret and present data science findings to a variety of audiences. Written and spoken presentation skills. Andy Tai Hedayat Zarkoob
DSCI 562 4 Regression II Non-parametric regression and smoothing. Data-driven parameter selection. Robust regression. Mixed effects. Useful extensions to basic regression, e.g., generalized linear models, mixed effects, smoothing, robust regression, and techniques for dealing with missing data. Payman Nickchi Alexi Rodríguez-Arelis
DSCI 572 4 Supervised Learning II Support Vector Machines. Random Forests. Ensemble Classifiers. Graphical models. Introduction to numerical optimization (e.g., gradient descent). Neural networks and deep learning. Prajeet Bajpai Varada Kolhatkar
DSCI 532 5 Data Visualization II Interactive visualization, design choices, dynamic change over time, multiple views, data reduction, dealing with complexity. How to make principled and effective choices with respect to marks, spatial arrangement, and colour. Analysis, design, and implementation of interactive figures. How to provide multiple views, deal with complexity, and make difficult decisions about data reduction. Daniel Chen Joel Östblom
DSCI 553 5 Statistical Inference and Computation II Multiple hypothesis testing, false discovery rate. Two-group comparisons, Bayesian paradigm. Bayesian reasoning for data science. How to formulate and implement inference using the prior-to-posterior paradigm. Hedayat Zarkoob Alexi Rodríguez-Arelis
DSCI 563 5 Unsupervised Learning Unsupervised learning. K-means/medoids. Model-based clustering. Expectation-maximization algorithm. Hierarchical clustering. Dimension reduction. Matrix decomposition. Heatmaps, contour plots, dendograms. How to find groups and other structure in unlabeled, possibly high dimensional data. Dimension reduction for visualization and data analysis. Clustering, association rules, model fitting via the EM algorithm. Prajeet Bajpai Varada Kolhatkar
DSCI 574 5 Spatial and Temporal Models Time series. State space and change point detection. Hidden Markov Models. Gaussian processes. Model fitting and prediction in the presence of correlation due to temporal and/or spatial association. ARIMA models. Katie Burak Vincent Liu
DSCI 525 6 Web and Cloud Computing Networks and the Internet, scraping data, APIs, cloud computing, Web services for scalable computing, Web hosting, Web publication platforms, introduction to parallel computing. How to use the web as a platform for data collection, computation, and publishing. Accessing data via scraping and APIs. Using the cloud for tasks that are beyond the capability of your local computing resources. Ilya Musabirov Gittu George
DSCI 541 6 Privacy, Ethics, and Security Privacy and data. Ethics boards, legal issues, licensing. Physical and logical data security, social engineering. Encryption, data anonymization, privacy-preserving techniques. Case studies. The legal, ethical, and security issues concerning data, including aggregated data. Proactive compliance with rules and, in their absence, principles for the responsible management of sensitive data. Case studies. Hedayat Zarkoob Joel Östblom
DSCI 554 6 Experimentation and Causal Inference Randomization. A/B testing. Blocked designs. Orthogonality. Batch effects, confounding. Causality. Contemporary examples. Simulations. Statistical evidence from randomized experiments versus observational studies. Applications of randomization, e.g., A/B testing for website optimization. Methods for dealing with the multiple testing problem. Katie Burak Payman Nickchi
DSCI 575 6 Advanced Machine Learning Neural networks trained with backpropagation. Deep learning. Overfitting and underfitting. Active data acquisition. Hyperparameter optimization. Advanced machine learning methods in the context of natural language processing (NLP) applications. Bag of words, recommender systems, topic models, natural language as sequence data, Markov chains, and recurrent neural networks. Vincent Liu Varada Kolhatkar
DSCI 591 7 Capstone Project A capstone design project designed to give students experience in leading complex multidisciplinary projects relevant to data science. A mentored group project based on real data and questions from a partner within or outside the university. Students will formulate questions and design and execute a suitable analysis plan. The group will work collaboratively to produce a reproducible analysis pipeline, project report, presentation and possibly other products, such as a dashboard. MDS teaching team MDS teaching team