The program features 30 units across a sequence of modules. Most students complete the program in part-time study, following preparatory bootcamp work before the start of the semester.
ENG EX 501: Software Engineering Orientation (0 Units)
This course welcomes students into the four-term, online program and introduces them to the faculty who will
be teaching the courses in the program, the technologies used to deliver the on-line experience, the structure
used throughout all of the courses in the program, as well as the common expectations across the courses.
ENG EX 502: Software Engineering Bootcamp (0 Units)
This module acknowledges that students enter the program with diverse programming and engineering
backgrounds. It provides an intentional, structured on-ramp to level foundational skills before EX 601:
Software Engineering Fundamentals. Through hands-on work with professional tools—Git, IDEs, debugging,
testing, build systems, and the fundamentals of data analytics — students gain the practical fluency required
for success in the Software Engineering curriculum.
ENG EX 601: Software Engineering Fundamentals (3 Units)
This course introduces foundational principles of modern software engineering, preparing students to design,
build, and maintain reliable software systems. Emphasis is on disciplined development practices, automated
quality assurance, and managing the software lifecycle from conception through deployment. Working in
teams, students will build a software project across the term, applying object-oriented design, refactoring,
version control and collaboration, and testing, while learning to judge where AI assistants genuinely help and
where they introduce error, building durable engineering habits that support all later modules.
CDS DX 602: Programming Toolkit for Data Science (3 Units)
This course orients learners to navigate a programming environment setup and tools like the filesystem,
command line, and notebooks. Also includes a review of fundamental components of the Python programming
language, including data structures (scalars, vectors, arrays, dictionaries, etc.), installing and importing
packages, control flow, loops, and functions.
ENG EX 603: Data and Algorithms for Scalable Systems (1.5 Units for two terms – 3 Units
total)
This 2-term, 3-unit module, will focus on the application of algorithmic thinking to large data sets. It will include
a lab component which will focus on hands-on experience with manipulation of large data sets. It will begin by establishing a strong SQL foundation around data retrieval, manipulation, filtering, and aggregation. Once established, it will focus on algorithms for efficient handling of data – both in SQL and outside,
at the application layer.
CDS DX 603: Machine Learning Fundamentals (3 Units)
This course explores essential concepts and techniques in machine learning, including key topics such as linear
methods (e.g., linear regression, lasso, ridge), tree methods (decision trees, random forests, boosting), and
unsupervised methods like clustering. Learners will gain proficiency in fitting various machine learning models,
understanding regularization to prevent overfitting, and cross-validation to evaluate model performance and
tune hyper-parameters.
ENG EX 602: Software Engineering at Scale (3 Units)
This course explores the challenges of building and scaling large-scale software systems. Students learn how
architectural choices, concurrency models, and deployment strategies affect reliability, scalability, and
evolution of code bases. Students will grasp the benefits of building modular systems and the strategies that
will guide them towards the most modularity and fault isolation.
ENG EX 604: AI/LLM Aided Software Development (3 Units)
This course explores how AI and large language models (LLMs) are transforming software engineering
practices. Students will learn not only how to use AI tools to boost productivity, but also how to critically assess
the reliability, security, and maintainability of AI-generated code. The course blends hands-on experimentation
with theoretical grounding in the evolving role of human engineers in an AI-augmented development workflow.
Emphasis is placed on understanding how AI fits into testing, code review, deployment, and observability
practices across both greenfield and legacy systems. This class embraces the idea that AI will not eliminate
software engineering jobs, however engineers who do not boost their own productivity with AI tools may
struggle to compete with those who do.
It is crucial that students have internalized the concepts from EX 601: Software Engineering Fundamentals
prior to taking this class. This will allow them to navigate AI/LLM generated feedback critically and ensure that
while parts of the code itself might be AI generated, fundamental software engineering principles are still being
adhered to.
ENG EX 606: Human Centric AI UX (3 Units)
This course examines how to design, build, and evaluate systems where humans and AI work together. Students
apply user-centered design principles to build interfaces that incorporate AI, and learn to reason about the
human factors that shape those interactions—trust, mental models, and how users interpret uncertainty.
Alongside design practice, the course takes a critical view of responsibility: studying usability, explainability,
and the UX and architectural choices that keep AI systems responsive, while learning to anticipate failures like
overreliance, opacity, and algorithmic bias. Graduates are prepared to build usable, transparent interfaces that
integrate machine learning responsibly, designed to keep humans meaningfully in control.
ENG EX 605: Data Design & Distribution at Scale, AI/ML OPS (3 Units)
Data Design &
Distribution at Scale, AI/ML OPS, but this course will go much deeper into scalability challenges of managing
large volumes of data, including the evolution of NoSQL systems, design of ETL pipelines, managing arrival of
new data via streaming and batch pipelines, and general AI/ML Ops.
CDS DX 701: Responsible & Ethical Data Science & AI (3 Units)
This course explores ethical considerations inherent in data-driven decision-making and the deployment of
algorithmic systems. Emphasizes the socially constructed nature of science, shedding light on biases and
inequalities. Learners explore the societal and cultural implications of AI and machine learning technologies,
analyzing potential biases and disparities in data and algorithms. Practical skills are developed through the
application of fairness metrics to evaluate and mitigate bias in algorithmic decision-making. Privacy, ethical
considerations surrounding personal data, and navigating key regulatory frameworks related to AI and ML,
such as GDPR, California Consumer Privacy Act, and other data privacy laws, are integral components.
ENG EX 699: End-to-End AI Application Utilizing Big Data at Scale – Capstone Project (1.5
Units for two terms – 3 Units total)
The Capstone project spans the last two terms. The goal of the project is to expose students to the challenges
of building an end-to-end software application that leverages AI and big data at scale, while exposing its
functionality to users in an intuitive way.
A central focus of this project is to ensure that students appreciate the seams between utilizing AI models,
traditional software engineering, and Cloud DevOps. The capstone project will emphasize building a system
that is reliable, correct, and performant. Engineers capable of navigating this seam are lacking in industry as
there is a bit of a divide between AI/ML experts who are focused on tuning models and software system
engineers who are focused on the stability and correctness of the architecture. The ability to integrate and
utilize models, reliably and correctly, without sacrificing system stability is a valuable skill that the capstone
will hone in on. By the end of the project, students will have built and deployed an AI-enabled application that
exemplifies the integration of scalable software architecture, responsible AI, and human-centered design.