Learn at your own pace and power your future with this fully online Master of Science in Data Science (MS-DS). Students are led by the same award-winning faculty teaching on campus and receive the same diploma as our on-campus MS-DS.Learn more about the MS-DS on Coursera Opens in new window
If you have completed and/or made progress in any courses in the non-credit version of the following course, please use this enrollment form to upgrade to for-credit. After completing the enrollment process and the onboarding steps, you will need to complete additional for-credit material before the deadlines. Please follow these steps if you are upgrading from non-credit to for-credit:
Tuition prices may vary depending on program.
DTSA 5501 Algorithms for Searching, Sorting, and IndexingSpecialization: Foundations of Data Structures and AlgorithmsInstructor: Sriram Sankaranarayanan, Ph.D., Co-Associate Chair for Undergraduate Education, Professor of Computer Science
See Coursera opens in new window and syllabus opens in new window for detailed description, including any required materials.
This course covers basics of algorithm design and analysis, as well as algorithms for sorting arrays, data structures such as priority queues, hash functions, and applications such as Bloom filters.
DTSA 5502 Trees and Graphs: BasicsSpecialization: Foundations of Data Structures and AlgorithmsInstructor: Sriram Sankaranarayanan, Ph.D., Co-Associate Chair for Undergraduate Education, Professor of Computer Science
Basic algorithms on tree data structures, binary search trees, self-balancing trees, graph data structures and basic traversal algorithms on graphs. This course also covers advanced topics such as kd-trees for spatial data and algorithms for spatial data.
DTSA 5503 Dynamic Programming, Greedy AlgorithmsSpecialization: Foundations of Data Structures and AlgorithmsInstructor: Sriram Sankaranarayanan, Ph.D., Co-Associate Chair for Undergraduate Education, Professor of Computer Science
This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. Cross listed with CSCA 5414.
DTSA 5001 Probability Theory: Foundation for Data ScienceSpecialization: Data Science Foundations: Statistical InferenceInstructor: Anne Dougherty, Ph.D., Senior Instructor, Associate Department Chair in Applied Mathematics
Probability Theory covers the foundations of probability and its relationship to statistics and data science. Calculate a probability, independent and dependent outcomes, and conditional events. Understand discrete and continuous random variables and see how this fits with data collection. Learn Gaussian (normal) random variables and the Central Limit Theorem and understand it’s fundamental importance for statistics and data science.
DTSA 5002 Statistical Inference for Estimation in Data ScienceSpecialization: Data Science Foundations: Statistical InferenceInstructor: Jem Corcoran, Ph.D., Associate Professor in Applied Mathematics
Introduction to statistical inference, sampling distributions, and confidence intervals. Learn how to define and construct good estimators, method of moments estimation, maximum likelihood estimation, and methods of constructing confidence intervals that will extend to more general settings.
DTSA 5003 Statistical Inference and Hypothesis Testing in Data Science ApplicationsSpecialization: Data Science Foundations: Statistical InferenceInstructor: Jem Corcoran, Ph.D., Associate Professor in Applied Mathematics
This course will focus on theory and implementation of hypothesis testing, especially as it relates to applications in data science. Students will learn to use hypothesis tests to make informed decisions from data. Special attention will be given to the general logic of hypothesis testing, error and error rates, power, simulation, and the correct computation and interpretation of p-values. Attention will also be given to the misuse of testing concepts, especially p-values, and the ethical implications of such misuse.
DTSA 5301 Data Science as a FieldSpecialization: Vital Skills for Data ScienceInstructor: Jane Wall, Ph.D., Instructor of Data Science
This course provides a general introduction to the field of Data Science. It is designed for aspiring data scientists, content experts who work with data scientists, or anyone interested in learning about what Data Science is and what it’s used for. Weekly topics include the past, present, and future of the field; the academic disciplines that both practice and make use of Data Science; collaboration between data scientists and content experts; and the practice of Data Science in the professional world. This course is part of CU Boulder’s Master’s of Science in Data Science and was collaboratively designed by both academics and industry professionals to provide learners with an insider’s perspective on this exciting, evolving, and increasingly vital discipline.
DTSA 5302 Cybersecurity for Data ScienceSpecialization: Vital Skills for Data ScienceInstructor: Al Pisano, Ph.D., Instructor, Computer Science
Cybersecurity for Data Science covers distinctions between confidentiality, integrity, and availability; introduces learners to relevant cybersecurity tools and techniques including cryptographic tools, software resources, and policies that will be essential to data science. Explore key tools and techniques for authentication and access control so producers, curators, and users of data can help ensure the security and privacy of the data.
DTSA 5303 Ethical Issues in Data ScienceSpecialization: Vital Skills for Data ScienceInstructor: Bobby Schnabel, Ph.D., Department External Chair, Professor of Computer Science
This course examines ethical issues related to data science, with the objective of making data science professionals aware of and sensitive to ethical considerations that may arise in their careers. It focuses on ethical frameworks, data science applications that lead to ethical considerations, current media and scholarly articles, and the perspectives and experiences of fellow students and computing professionals.
DTSA 5304 Fundamentals of Data VisualizationSpecialization: Vital Skills for Data ScienceInstructor: Dr. Danielle Albers Szafir, Assistant Professor of Computer Science & Atlas Institute
Fundamentals of Visualization explores the design, development, and evaluation of information visualizations. Combine aspects of design, computer graphics, HCI, and data science, to gain hands-on experience with creating visualizations, using exploratory tools, and architecting data narratives. Topics include user-centered design, web-based visualization, data cognition and perception, and design evaluation. Cross listed with CSCA 5702.
DTSA 5504 Data Mining PipelineSpecialization: Data Mining Foundations and PracticeInstructor: Qin (Christine) Lv, Ph.D., Professor of Computer Science
This course introduces the key steps involved in the data mining pipeline, including data understanding, data preprocessing, data warehouse, data modeling, interpretation and evaluation, and real-world applications. Cross listed with CSCA 5502.
DTSA 5505 Data Mining MethodsSpecialization: Data Mining Foundations and PracticeInstructor: Qin (Christine) Lv, Ph.D., Professor of Computer Science
This course covers core techniques used in data mining, including frequent pattern analysis, classification, clustering, outlier detection, as well as time-series mining and graph mining. Cross listed with CSCA 5512.
DTSA 5506 Data Mining ProjectSpecialization: Data Mining Foundations and PracticeInstructor: Qin (Christine) Lv, Ph.D., Professor of Computer Science
This course offers step-by-step guidance and hands-on experience of designing and implementing a real-world data mining project, including problem formulation, literature survey, proposed work, evaluation, discussion and future work. Cross listed with CSCA 5522.
DTSA 5509 Introduction to Machine Learning - Supervised LearningSpecialization: Machine Learning: Theory and Hands-on Practice with PythonInstructor: Geena Kim, Instructor
In this course, we will cover the basics of deep learning, such as multilayer perceptron, convolutional neural network, recurrent neural network, how to build and train neural network models, optimization methods, and application examples. Cross listed with CSCA 5622.
DTSA 5510 Unsupervised Algorithms in Machine LearningSpecialization: Machine Learning: Theory and Hands-on Practice with PythonInstructor: Geena Kim, Instructor
In this course, we will learn selected unsupervised learning methods for dimensionality reduction, clustering, finding latent features, and application cases such as recommender systems with hands-on examples of product recommendation algorithms. Cross listed with CSCA 5632.
DTSA 5511 Introduction to Deep LearningSpecialization: Machine Learning: Theory and Hands-on Practice with PythonInstructor: Geena Kim, Instructor
In this course, we will cover the basics of deep learning, such as multilayer perceptron, convolutional neural network, recurrent neural network, how to build and train neural network models, optimization methods, and application examples. Cross listed with CSCA 5642.
DTSA 5733 Relational Database Design - Core CourseSpecialization: Databases for Data ScientistsInstructor: Di Wu, Data Science
This course will prepare students with the tools needed to design a Relational Database System.
DTSA 5734 The Structured Query Language (SQL) - Core CourseSpecialization: Databases for Data ScientistsInstructor: Alan Paradise, Computer Science
In this course students will thoroughly learn the Structured Query Language. Study includes all ANSI standard SQL commands and syntax. Lectures are supplemented with thorough hands-on lab assignments and exercises.
DTSA 5735 Advanced Topics and Future Trends in Database Technologies - Elective CourseSpecialization: Databases for Data ScientistsInstructor: Di Wu; Alan Paradise, Data Science
The course will have an overview of future trends in databases, including non-relational databases (NoSQL) and Big Data.
DTSA 5011 Modern Regression Analysis in RSpecialization: Statistical Modeling for Data Science ApplicationsInstructor: Brian Zaharatos, Ph.D., Interim Faculty Director of Data Science, Director of Professional Master's Degree in Applied Mathematics
Modern Regression Analysis in R provides foundational statistical modeling tools for data science. Introduction to methods, theory, and applications of linear statistical models, covering the topics of parameter estimation, residual diagnostics, goodness of fit, and various strategies for variable selection and model comparison. Attention will also be given to the misuse of statistical models and ethical implications of such misuse.
DTSA 5012 ANOVA and Experimental DesignSpecialization: Statistical Modeling for Data Science ApplicationsInstructor: Brian Zaharatos, Ph.D., Interim Faculty Director of Data Science, Director of Professional Master's Degree in Applied Mathematics
Introduction to the analysis of variance (ANOVA), analysis of covariance (ANCOVA), and experimental design. ANOVA and ANCOVA, presented as a type of linear regression model, provide mathematical basis for designing experiments for data science applications. Emphasis placed on important design-related concepts, such as randomization, blocking, factorial design, and causality. Attention will also be given to ethical issues raised in experimentation.
DTSA 5013 Generalized Linear Models and Nonparametric RegressionSpecialization: Statistical Modeling for Data Science ApplicationsInstructor: Brian Zaharatos, Ph.D., Interim Faculty Director of Data Science, Director of Professional Master's Degree in Applied Mathematics
Generalized Linear Models and Nonparametric Regression teaches generalized linear models (GLMs), which provide an introduction to classification (through logistic regression); nonparametric modeling, including kernel estimators, smoothing splines; and semi-parametric generalized additive models (GAMs). Emphasis will be placed on a firm conceptual understanding of these tools. Attention will also be given to ethical issues raised by using complicated statistical models.
DTSA 5701 Introduction to High Performance and Parallel ComputingSpecialization: High Performance and Parallel ComputingInstructor: Thomas Hauser, Ph.D., Associate Professor Adjoint Computer Science & Shelley Knuth, Ph.D., Director of Research Computing
This course introduces the fundamentals of high-performance and parallel computing, and the software skills necessary for work in parallel software environments. These skills include big-data analysis, machine learning, parallel programming, and optimization. It covers the basics of linux environments and bash scripting all the way to high throughput computing and parallelizing code.
DTSA 5702 Efficient ProgrammingSpecialization: High Performance and Parallel ComputingInstructor: Thomas Hauser, Ph.D., Associate Professor Adjoint Computer Science & Shelley Knuth, Ph.D., Director of Research Computing
This course teaches learners the skills needed to develop software to run efficiently in high-performance computing environments or in the cloud. Students will have understand how to find bottlenecks in their programs as well as how to address those bottlenecks. The course will provide a high-level introduction to modern compute node architectures of high-performance and cloud computing instances.
DTSA 5704 Managing, Describing, and Analyzing DataSpecialization: Data Science Methods for Quality ImprovementInstructor: Wendy Martin, Instructor, W. Edwards Deming Professor of Management
In this course, you will learn the basics of understanding the data you have and why correctly classifying data is the first step to making correct decisions. You will describe data both graphically and numerically using descriptive statistics and R software. You will learn four probability distributions commonly used in the analysis of data. You will analyze data sets using the appropriate probability distribution. Finally, you will learn the basics of sampling error, sampling distributions, and errors in decision-making.
DTSA 5705 Stability and Capability in Quality ImprovementSpecialization: Data Science Methods for Quality ImprovementInstructor: Wendy Martin, Instructor, W. Edwards Deming Professor of Management
In this course, you will learn to analyze data in terms of process stability and statistical control and why having a stable process is imperative prior to performing statistical hypothesis testing. You will create statistical process control charts for both continuous and discrete data using R software. You will analyze data sets for statistical control using control rules based on probability. Additionally, you will learn how to assess a process with respect to how capable it is of meeting specifications, either internal or external, and make decisions about process improvement.
DTSA 5706 Measurement System AnalysisSpecialization: Data Science Methods for Quality ImprovementInstructor: Wendy Martin, Instructor, W. Edwards Deming Professor of Management
In this course, you will learn to analyze measurement systems for process stability and statistical control and why having a stable measurement process is imperative prior to performing any statistical analysis. You will analyze continuous measurement systems and statistically characterize both accuracy and precision using R software. You will perform measurement systems analysis for potential, short term and long term statistical control and capability.
DTSA 5707 Deep Learning Applications for Computer VisionSpecialization: Deep Learning Applications for Computer VisionInstructor: Ioana Fleming, Ph.D., Co-Associate Chair for Undergraduate Education
In this course, you’ll be learning about Computer Vision as a field of study and research. First we’ll be exploring several Computer Vision tasks and suggested approaches, from the classic Computer Vision perspective. Then we’ll introduce Deep Learning methods and apply them to some of the same problems. We will analyze the results and discuss advantages and drawbacks of both types of methods. Examples of Computer Vision tasks where Deep Learning can be applied include: image classification, image classification with localization, object detection, object segmentation, facial recognition, and activity or pose estimation. Cross listed with CSCA 5812.
DTSA 5842 Effective Communication: Writing, Design and PresentationSpecialization: Effective CommunicationInstructor: William Kuskin, Ph.D., Professor
This course teaches students how to present themselves effectively through writing, design, and presentation. Students will focus on how to write well-organized, clear business documents; to design elegant presentation slides, reports, and posters; and to present and speak with confidence and power. More broadly, the course charts a journey toward each student’s best professional self. This course is a prerequisite for the Effective Communication Capstone.
DTSA 5843 Effective Communication Capstone ProjectSpecialization: Effective CommunicationInstructor: William Kuskin, Ph.D., Professor
In this course students will create a portfolio of work that demonstrates their mastery of writing, design, and presentation skills. The portfolio includes three elements—a memo, a slide deck, and deliver presentation—integrated around a single topic. The capstone allows learners to engage meaningfully in their world by choosing a project relevant to their job. Effective Communication: Writing, Design, and Presentation is a prerequisite for this course.
DTSA 5507 Fundamentals of Software Architecture for Big DataSpecialization: Software Architecture for Big DataInstructor: Tyson Gern, Delivery Lead at VMware Tanzu Labs
The course is intended for individuals looking to understand the basics of software engineering as they relate to building large software systems that leverage big data. They will be introduced to software engineering concepts necessary to build and scale large, data intensive, distributed systems. Starting with software engineering best practices and loosely coupled, highly cohesive data microservices, the course takes you through the evolution of a distributed system over time. Cross listed with CSCA 5008.
DTSA 5508 Software Architecture Patterns for Big DataSpecialization: Software Architecture for Big DataInstructor: Tyson Gern, Delivery Lead at VMware Tanzu Labs
The course is intended for individuals looking to understand the architecture patterns necessary to take large software systems that leverage big data to production. They will transform big data prototypes into high quality tested production software. After measuring the performance characteristics of distributed systems, you will identify trouble areas and implement scalable solutions to improve performance. Upon completion of the course you will know how to scale production datastores to perform under load, designing load tests to ensure applications meet performance requirements. Cross listed with CSCA 5018.
DTSA 5714 Applications of Software Architecture for Big DataSpecialization: Software Architecture for Big DataInstructor: Tyson Gern, Delivery Lead at VMware Tanzu Labs
Intended for individuals who want to build a production-quality software system that leverages big data. Students will apply the basics of software engineering and architecture to create a production-ready distributed system that handles big data. Students will build and scale a large, data intensive, distributed system, composed of loosely coupled, highly cohesive data microservices. Cross listed with CSCA 5028.
DTSA 5020 Regression and ClassificationSpecialization: Statistical Learning for Data ScienceInstructor: James Bird, Instructor, Data Science
Consists of the foundational framework & application of simple and multiple linear regression and classification methods.
DTSA 5021 Resampling, Selection, and SplinesSpecialization: Statistical Learning for Data ScienceInstructor: Osita Onyejekwe, Assistant Teaching Professor, Data Science
Consists of the foundational framework & application of cross-validation, bootstrapping, dimensionality reduction, ridge regression, lasso, GAMs and splines.
DTSA 5022 Trees, SVM, and Unsupervised LearningSpecialization: Statistical Learning for Data ScienceInstructor: Osita Onyejekwe, Assistant Teaching Professor, Data Science
Consists of the foundational framework & application of tree-based methods, support vector machines, and unsupervised learning.
DTSA 5798 Supervised Text Classification for Marketing AnalyticsSpecialization: Text Marketing AnalyticsInstructor: Chris Vargo, Associate Professor | MSBA CMCI Director | Editor - The Agenda Setting Journal
Marketing data often requires categorization, or labeling. In today’s age, marketing data can also be very big, or larger than what humans can reasonably tackle. In this course students will learn how to use supervised deep learning to train algorithms to tackle text classification tasks. Students will walk through a conceptual overview of supervised machine learning, and dive into real-world datasets through instructor-led tutorials in Python. The course will conclude with a major project.
DTSA 5799 Unsupervised Text Classification for Marketing AnalyticsSpecialization: Text Marketing AnalyticsInstructor: Chris Vargo, Associate Professor | MSBA CMCI Director | Editor - The Agenda Setting Journal
Marketing data is often so big that humans cannot read or analyze a representative sample of it to understand what insights might lie within. In this course students will learn how to use unsupervised deep learning to train algorithms to extract topics and insights from text data. Students will walk through a conceptual overview of unsupervised machine learning, and dive into real-world datasets through instructor-led tutorials in Python. The course will conclude with a major project.
DTSA 5800 Network Analysis for Marketing AnalyticsSpecialization: Text Marketing AnalyticsInstructor: Chris Vargo, Associate Professor | MSBA CMCI Director | Editor - The Agenda Setting Journal
Network analysis is a long-standing methodology used to understand the relationships between words and actors in the broader networks in which they exist. This course will cover network analysis at it pertains to marketing data, specifically text datasets and social networks. Students will walk through a conceptual overview of network analysis, and dive into real-world datasets through instructor-led tutorials in Python. The course will conclude with a major project.
DTSA 5747 Fundamentals of Natural Language ProcessingSpecialization: Natural Language ProcessingInstructor: James Martin, Ph.D., Professor in Computer Science
The field of natural language processing aims at getting computers to perform useful and interesting tasks with human language. This course introduces students to the fundamental problems in NLP, the fundamental techniques that are used to solve those problems and lays the foundation for understanding state-of-art methods. At the end of the course, students will be able to implement and analyze text classifiers, sequence labelers, discrete probabilistic models, and vector-based approaches to word meaning.
DTSA 5748 Deep Learning for Natural Language ProcessingSpecialization: Natural Language ProcessingInstructor: James Martin; Katharina Kann
Deep learning has revolutionized the field of natural language processing and led to many state-of-the-art results. This course introduces students to neural network models and training algorithms frequently used in natural language processing. At the end of this course, learners will be able to explain and implement feedforward networks, recurrent neural networks, convolutional neural networks, and transformers. They will also have an understanding of transfer learning, the paradigm behind popular models such as BERT and GPT-3.
DTSA 5749 Model and Error Analysis for Natural Language ProcessingSpecialization: Natural Language ProcessingInstructor: James Martin; Katharina Kann
Understanding the performance of natural language processing models goes beyond simply computing measures like accuracy. In this course we will learn methods for analyzing the strengths and weaknesses of NLP systems, both neural and non-neural. We will also learn about problematic biases in NLP data and systems. Methods covered include standard benchmarks, qualitative error analysis, confusion matrices, contrastive and diagnostic evaluation, and probing experiments.
DTSA 5736 When to Regulate? The Digital Divide and Net NeutralitySpecialization: Internet Policy: Principles and ProblemsInstructor: David Reed, Scholar in Residence
This course builds an interdisciplinary policy framework to critique and develop regulatory approaches to real-world problems on the Internet. Learners then use the framework to develop a definition of broadband to improve the Digital Divide and to evaluate net neutrality regulations. Cross listed with CSCA 5433.
DTSA 5740 Global Climate Change Policies and AnalysisSpecialization: Modeling and Predicting Climate AnomaliesInstructor: Osita Onyejekwe, Teaching Assistant Professor
This course explores and critically analyzes historical and contemporary climate policies (e.g. Kyoto Protocol and the Paris Agreement). Political issues pertaining to energy sources, such as nuclear energy, will be reviewed. The course will focus on understanding key climate principles and terms surrounding policy development, specifically for low-income or developing countries/communities. This course also introduces the Python programming language.
DTSA 5741 Modeling Climate Anomalies with Multivariate RegressionSpecialization: Modeling and Predicting Climate AnomaliesInstructor: Osita Onyejekwe, Teaching Assistant Professor
This course introduces the use of statistical analysis in Python programming to study and model climate data, specifically with the Tidyverse package. Topics include data visualization, predictive model development, simple linear regression, multivariate linear regression, multivariate linear regression with interaction, and logistic regression. Strong emphasis will be placed on gathering and analyzing climate data with the Python programming language.
DTSA 5742 Predicting Extreme Climate Behavior with Machine LearningSpecialization: Modeling and Predicting Climate AnomaliesInstructor: Osita Onyejekwe, Teaching Assistant Professor
This course reviews current global climate policies with the goal of gathering data and applying machine learning algorithms to predict extreme climate behaviors, specifically in developing countries. Topics include simple linear regression, multivariate linear regression, time-series analysis, and numerical weather prediction. The use of Monte Carlo simulations to forecast extreme weather events will be analyzed. Strong emphasis will be placed on application in the Python programming language.
DTSA 5726 Introduction to Bayesian Statistics for Data Science ApplicationsSpecialization: Bayesian Statistics for Data ScienceInstructor: Brian Zaharatos, Ph.D., Interim Faculty Director of Data Science, Director of Professional Master's Degree in Applied Mathematics
This course introduces the theoretical, philosophical, and mathematical foundations of Bayesian Statistical inference. Students will learn to apply this foundational knowledge to real-world data science problems. Topics include the use and interpretations of probability theory in Bayesian inference; Bayes’ theorem for statistical parameters; conjugate, improper, and objective priors distributions; data science applications of Bayesian inference; and ethical implications of Bayesian statistics.
DTSA 5841 IBM Capstone ProjectSpecialization: IBM Capstone ProjectInstructor: Ami Gates, Teaching Professor
See syllabus opens in new window for detailed description, including any required materials.
EMEA 5021 Product Cost and Investment Cash Flow AnalysisSpecialization: Finance for Technical ManagersInstructor: Michael Readey, Professor of Engineering Practice
See Coursera opens in new window for detailed description, including any required materials.
This first course in the finance sequence discusses costs and business practices to establish the cost of a product. The concept of time value of money (TVM) is developed to determine the present and future values of a series of cash flows. TVM principles are then applied to personal finances and retirement planning. This is a practical course that uses spreadsheets extensively to better prepare students in engineering and science for a career in industry.
EMEA 5022 Project Valuation and the Capital Budgeting ProcessSpecialization: Finance for Technical ManagersInstructor: Michael Readey, Professor of Engineering Practice
This second course in the finance sequence describes the economic viability of an engineering project through application of net present value, internal rate of return, and payback period analysis. The impacts of depreciation, taxes, inflation and foreign exchange are then addressed. The capital budgeting process is discussed, showing how companies make decisions to optimize their investment portfolio. Risk is mitigated through application of quantitative techniques such as scenario analysis, sensitivity analysis and real options analysis.
EMEA 5023 Financial Forecasting and ReportingSpecialization: Finance for Technical ManagersInstructor: Michael Readey, Professor of Engineering Practice
This third and final course in the finance sequence discusses how public projects are evaluated using cost-benefit analysis. Students then learn how interest rates and prices for stocks and bonds are determined. Techniques are presented on how to create departmental budgets for engineering cost centers and pro forma statements for profit centers. Students then work with corporate financial statements to assess a company’s financial health, including recent measures of environmental, social and corporate governance (ESG).
EMEA 5031 Project Management: Foundations and InitiationSpecialization: Project ManagementInstructor: Christy Bozic, Professor of Engineering Practice
The goal of this introductory course in a series of three is to provide students the foundational knowledge of how engineering projects are managed and initiated. Engineering project managers are responsible for project scope, stakeholder management, effective communication, and team leadership. In this course you will develop introductory skills needed to manage traditional engineering projects, along with tools needed to engage stakeholders and build diverse teams.
EMEA 5032 Project Planning and ExecutionSpecialization: Project ManagementInstructor: Christy Bozic, Professor of Engineering Practice
The goal of this second course in a series of three is to provide students with skills necessary to plan and execute traditional engineering projects. Project managers must plan and manage complex projects constrained by time and budget. As part of this course, you will determine project schedules, budgets, and risk assessments. At the end of this course, you will be able to identify and explain various quality tools and methods used in project management.
EMEA 5033 Agile Project ManagementSpecialization: Project ManagementInstructor: Christy Bozic, Professor of Engineering Practice
The goal of this third course in a series of three examines the philosophy and process of managing projects using Agile project management. Students in this course will learn the Agile philosophy and process including the Scrum framework, sprints, and user stories. Upon completion of this course, you will be able to distinguish between traditional and agile project management methodologies and understand the benefits of delivering value early in an engineering project.
CSCA 5424 Approximation Algorithms and Linear ProgrammingSpecialization: Foundations of Data Structures and AlgorithmsInstructor: Sriram Sankaranarayanan, Ph.D., Co-Associate Chair for Undergraduate Education, Professor of Computer Science
Covers ideas surrounding approximation algorithms including a rigorous mathematical analysis of the approximation guarantees provided by these algorithms. Teaches the use of linear/integer programming formulations for common algorithmic problems and the relation between integer optimization problems and their linear programming relaxations. Introduces key mathematical concepts needed to analyze these algorithms and explores the application of algorithmic concepts to real-world problems.
CSCA 5454 Advanced Data Structures, RSA and Quantum AlgorithmsSpecialization: Foundations of Data Structures and AlgorithmsInstructor: Sriram Sankaranarayanan, Ph.D., Co-Associate Chair for Undergraduate Education, Professor of Computer Science
Covers advanced ideas in data structures such as B-Trees and Fibonacci heaps while presenting further applications of amortized analyses. Introduces number theoretic algorithms that form the basis of RSA public-key cryptography. Provides a brief introduction to quantum computing/algorithms by teaching the basics of quantum computation and two important examples of efficient quantum algorithms. Introduces key mathematical concepts needed to analyze these algorithms and explores the application of algorithmic concepts to real-world problems.
CSCA 5112 Introduction to Generative AISpecialization: Generative AIInstructor: Tom Yeh, Ph.D., Associate Professor of Computer Science
In this course, students will learn about several topics related to Generative AI, including deep learning and machine learning algorithms that enable machines to generate text, images, and music. Additionally, they will also learn about the diffusion model and transformer model, which are important techniques used in Generative AI. The course will guide students on how to apply these techniques to design and build their own generative models and apply those models to new problems.
CSCA 5312 Basic Robotic Behaviors and OdometrySpecialization: Introduction to Robotics with WebotsInstructor: Nikolaus Correll, Ph.D., Professor of Computer Science
Introduction to autonomous mobile robots, including forward kinematics (“odometry”), basic sensors and actuator, and simple reactive behavior. The course is centered around two laboratory exercises in the realistic, physics-based simulator “Webots” in which students will experiment with simple reactive behaviors for collision avoidance and line following, state machines, and basic forward kinematics of non-holonomic systems. An overarching objective of this course is to understand the role of the physical system on algorithm design and its role as source of uncertainty that makes robots non-deterministic.
CSCA 5332 Robotic Mapping and Trajectory GenerationSpecialization: Introduction to Robotics with WebotsInstructor: Nikolaus Correll, Ph.D., Professor of Computer Science
Building upon the course “Basic Robotic Behaviors and Odometry”, students will learn how to perform basic inverse kinematics of (non-)holonomic systems using a feedback control approach and how to process multi-dimensional sensor signals such as laser range scanners to create discrete representations of the environment (mapping). Also in this course, the overarching focus is mechanisms and sensors as sources of uncertainty and techniques to model and control for them.
CSCA 5342 Robotic Path Planning and Task ExecutionSpecialization: Introduction to Robotics with WebotsInstructor: Nikolaus Correll, Ph.D., Professor of Computer Science
Building upon the courses “Basic Robotic Behaviors and Odometry” and “Robotic Mapping and Trajectory Generation”, students will learn how implement high-level reasoning for generating trajectories (path planning) and sequencing tasks under uncertainty of sensing and actuation. As a first cap stone in the robotics specialization, this course will also lead toward the implementation of a complex mobile manipulation system, combining behaviors, sensing, control and planning developed in previous modules.
CSCA 5063 Network Systems FoundationSpecialization: Network Systems: Principles and Practice (Linux and Cloud Networking)Instructor: Eric Keller, Associate Professor
In this course, students will learn the most important principles in network systems. This will center on the layered design of networks, and cover the link layer (Ethernet), network layer (IP), transport layer (TCP, UDP), and application layer (HTTP, gRPC). With those as a foundation, student will learn about network security problems and how some current solutions work at different layers.
CSCA 5073 Linux NetworkingSpecialization: Network Systems: Principles and Practice (Linux and Cloud Networking)Instructor: Eric Keller, Associate Professor
See Coursera and syllabus opens in new window for detailed description, including any required materials.
In this course students will learn how networking is designed and used in the Linux operating system. This will be learned in the context of networking principles and the application to real modern uses – building network operating systems (that power network appliances) and using Linux to support connectivity in modern containerized and virtualized applications (such as a Kubernetes network plugin)
CSCA 5083 Cloud NetworkingSpecialization: Network Systems: Principles and Practice (Linux and Cloud Networking)Instructor: Eric Keller, Associate Professor
In this class, students will learn about the networking abstractions and services for building applications in the cloud, and the technology underlying cloud networking. Students will be able to architect complex applications in the cloud. In understanding how the cloud providers created their networks, students will be in a better position to troubleshoot applications and analyze different possible ways of architecting applications, and even help design the next generation of networking for cloud providers.
CSCA 5834 Modeling of Autonomous SystemsSpecialization: Foundations of Autonomous SystemsInstructor: Dr. Majid Zamani, Associate Professor, Co-Associate Chair for Graduate Education
This course will explain the core structure in any autonomous system which includes sensors, actuators, and potentially communication networks. Then, it will cover different formal modeling frameworks used for autonomous systems including state-space representations (difference or differential equations), timed automata, hybrid automata, and in general transition systems. It will describe solutions and behaviors of systems and different interconnections between systems.
CSCA 5844 Requirement Specifications for Autonomous SystemsSpecialization: Foundations of Autonomous SystemsInstructor: Dr. Majid Zamani, Associate Professor, Co-Associate Chair for Graduate Education
This course will discuss different ways of formally modeling requirements of interest for autonomous systems. Examples of such requirements include stability, invariance, reachability, regular languages, omega-regular languages, and linear temporal logic properties. In addition, it will introduce non-deterministic finite and büchi automata for recognizing, respectively, regular languages and omega-regular languages.
CSCA 5854 Verification and Synthesis of Autonomous SystemsSpecialization: Foundations of Autonomous SystemsInstructor: Dr. Majid Zamani, Associate Professor, Co-Associate Chair for Graduate Education
This course will provide different techniques on the verification of autonomous systems against stability, regular, or omega-regular properties. Such techniques include Lyapunov theories, reachability analysis, barrier certificates, and model checking. Finally, it will introduce several techniques on designing controllers enforcing properties of interest over the original autonomous systems.
CSCA 5428 Object-Oriented Analysis and Design: Foundations and ConceptsSpecialization: Object-Oriented Analysis & DesignInstructor: Bruce Montgomery, Senior Instructor, Faculty Director for Professional Master's Program
An applied analysis and design class that addresses the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply techniques in analysis and design projects. Focus is on key object-oriented elements and concepts.
CSCA 5438 Object-Oriented Analysis and Design: Patterns and PrinciplesSpecialization: Object-Oriented Analysis & DesignInstructor: Bruce Montgomery, Senior Instructor, Faculty Director for Professional Master's Program
An applied analysis and design class that addresses the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply techniques in analysis and design projects. Focus is on key object-oriented design patterns and principles.
CSCA 5448 Object-Oriented Analysis and Design: Practice and ArchitectureSpecialization: Object-Oriented Analysis & DesignInstructor: Bruce Montgomery, Senior Instructor, Faculty Director for Professional Master's Program
An applied analysis and design class that addresses the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply techniques in analysis and design projects. Focus is on key object-oriented practices and architectural design.
CSCA 5303 Attacking the NetworkSpecialization: Security and Ethical HackingInstructor: Ahmed Hamza, PhD., Associate Teaching Professor
This course explains the science and art behind offensive security techniques used in penetration testing of networks and systems. A review of networking concepts is given. Students will utilize low-level programming through network interfaces, in executing a variety of network attacks, while learning to use essential auxiliary tooling. An introduction to cryptography for pentesters is provided.
CSCA 5313 Attacking Unix & WindowsSpecialization: Security and Ethical HackingInstructor: Ahmed Hamza, PhD., Associate Teaching Professor
This course in the sequence examines attacks on computer systems, with particular attention to Unix Security Model and Windows for memory corruption and binary exploitation. Students can expect to learn about, and apply offensive techniques against, Unix in general. We will demonstrate lateral movement and privilege escalation attacks, as well as buffer overflow and other memory exploitation primitives. Course assessments are through quizzes, hands-on exercises and an exam.
Course Session
See MS-DS Calendar opens in new window and Information for Current Students opens in new window
Enrollment for the session beginning June 30 opens on June 16, 2025.
Instructions to set up your CU Boulder IdentiKey and email address will be sent to your personal email. You will then use your Colorado.edu email address to link to your Coursera account. Your Colorado.edu email will be used for important University of Colorado Boulder communications so be sure to check it often.
As an institution who is a member of the National Council for State Authorization Reciprocity Agreements (NC-SARA), part of our membership duties is to report the number of students we have located in each state enrolled in out-of-state learning placements (e.g. internships, field experiences, practica, etc.) and online courses. None of your personally identifiable information is tied to this data. You can read more about NC-SARA here: https://www.nc-sara.org/about opens in new window
We ask this for federal reporting purposes to the U.S. Department of Education.
Your SSN is required for select business processes, including federal and state reporting, issuing tuition statements for tax purposes and verifying your Selective Service registration, among other things. Personally identifiable information is secured and accessed only by school officials with a legitimate educational interest who have completed student data privacy training, per university policy and federal law.
Pay with U.S. Dollars (USD)
We have partnered with NelNet Campus Commerce to accept payment in US Dollars. NelNet offers two payment options:
Option 1: eCheck – U.S. checking or savings account (no fee) ECheck is a direct bank transfer from a traditional checking or savings account in the United States. There are no fees associated with this payment method.
Option 2: Credit or debit card (2.85% fee)– AMEX, Discover, Mastercard, Visa Pay with a credit or debit card in US dollars. We accept American Express, Discover, Mastercard or Visa. Nelnet Campus Commerce charges a nonrefundable 2.85% service fee for each transaction using this payment method. Learn more about payment methods on the Bursar's Office website at Degrees on Coursera payment methods.
Pay with another currency
International wire transfer or international credit card – Pay with your local currency from outside the U.S. (fees vary by country)
We have partnered with Flywire to accept payments in local currencies from outside the United States. Pay securely in your or your employer’s country's currency, using local payment methods. See how it works and learn about Flywire's Best Price Guarantee on the Bursar's Office website at Degrees on Coursera payment methods.
Important! Paying with Flywire is a multi-step process. You will be enrolled in the course once you have completed all payment steps. Assignment and exam dates will not be adjusted for delays in payment and enrollment. This session ends on June 27, 2025. Before proceeding, ensure you have enough time to complete all coursework and schedule exams. Otherwise, please consider enrolling in the next session.