Computer Science Online (CSCA)

Courses

The following courses are only available through CU Boulder on Coursera program offerings. Please refer to the Online Programs section of the catalog for more information. 

CSCA 5008 (1) Fundamentals of Software Architecture for Big Data

Intended for individuals looking to understand the basics of software engineering as they relate to building large software systems that leverage big data. Students 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 students through the evolution of a distributed system over time. Formerly offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5507
Grading Basis: Letter Grade

CSCA 5018 (1) Software Architecture Patterns for Big Data

Intended for individuals looking to understand the architecture patterns necessary to take large software systems that leverage big data to production. Students will transform big data prototypes into high quality tested production software. After measuring the performance characteristics of distributed systems, they will identify trouble areas and implement scalable solutions to improve performance. Upon completion of the course they will know how to scale production datastores to perform under load, designing load tests to ensure applications meet performance requirements. Formerly offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5508
Grading Basis: Letter Grade

CSCA 5028 (1) Applications of Software Architecture for Big Data

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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5714
Grading Basis: Letter Grade

CSCA 5063 (1) Network Systems Foundation

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.

Equivalent - Duplicate Degree Credit Not Granted: ECEA 5370
Grading Basis: Letter Grade

CSCA 5073 (1) Network Principles in Practice: Linux Networking

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

Equivalent - Duplicate Degree Credit Not Granted: ECEA 5371
Grading Basis: Letter Grade

CSCA 5083 (1) Network Principles in Practice: Cloud Networking

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.

Equivalent - Duplicate Degree Credit Not Granted: ECEA 5372
Grading Basis: Letter Grade

CSCA 5112 (1) Introduction to Generative AI

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.

Grading Basis: Letter Grade

CSCA 5122 (1) Modern Applications of Generative AI

Offers a comprehensive examination of Generative AI applications, including techniques for optimizing input prompts to achieve desired outputs. It delves into AI's role in code generation, music creation, enhancing accessibility, and business innovations. Additionally, it addresses ethical considerations surrounding AI's use, exploring its societal impacts and the balance between innovation and responsibility. Students will gain both theoretical knowledge and practical insights across diverse applications of Generative AI technology.

Grading Basis: Letter Grade

CSCA 5132 (1) Advances in Generative AI

Explores foundational models pivotal to Generative AI, including their design and functionality. It examines the role of Generative AI in scientific discovery and innovation. Academic research is delved into, showcasing current trends and methodologies in the field. Lastly, the course provides an analytical perspective on the potential future developments and directions of Generative AI, preparing students to engage with the evolving landscape of artificial intelligence critically.

Grading Basis: Letter Grade

CSCA 5214 (1) Computing, Ethics, and Society Foundations

Computing systems and technologies fundamentally impact the lives of most people in the world, including how we communicate, get information, socialize, and receive healthcare. This course is the first of a three course sequence that examines ethical issues in the design and implementation of computing systems and technologies, and reflects upon the broad implication of computing on our society. It covers ethical theories, privacy, security, social media, and misinformation.

Grading Basis: Letter Grade

CSCA 5222 (1) Introduction to Computer Vision

This course guides students through the essential algorithms and methods to help computers 'see' and interpret visual data. Students learn the core concepts and techniques that have been traditionally used to analyze images. Then, students learn modern deep learning methods, such as neural networks and specific models designed for image recognition, can be used to perform more complex tasks like object detection and image segmentation. Additionally, students will learn the creation and impact of AI-generated images and videos, exploring the ethical considerations of such technology.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5512
Grading Basis: Letter Grade

CSCA 5224 (1) Ethical Issues in AI and Professional Ethics

Computing systems and technologies fundamentally impact the lives of most people in the world, including how we communicate, get information, socialize, and receive healthcare. This course is the second of a three course sequence that examines ethical issues in the design and implementation of computing systems and technologies, and reflects upon the broad implication of computing on our society. It covers algorithmic bias in machine learning methods, professional ethics, and issues in the tech workplace.

Grading Basis: Letter Grade

CSCA 5234 (1) Ethical Issues in Computing Applications

Computing systems and technologies fundamentally impact the lives of most people in the world, including how we communicate, get information, socialize, and receive healthcare. This course is the third of a three course sequence that examines ethical issues in the design and implementation of computing systems and technologies, and reflects upon the broad implication of computing on our society. It covers medical applications, uses of robotics, autonomous vehicles, and the future of work.

Grading Basis: Letter Grade

CSCA 5303 (1) Security and Ethical Hacking: Attacking the Network

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 cryptogpahy for pentesters is provided. An understanding of python programming and networking basics is required. Course assessments are practical work and exams.

Grading Basis: Letter Grade

CSCA 5312 (1) Basic Robotic Behaviors and Odometry

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.

Grading Basis: Letter Grade

CSCA 5313 (1) Security and Ethical Hacking: Attacking Unix and Windows

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.

Grading Basis: Letter Grade

CSCA 5322 (1) Deep Learning for Computer Vision

This course introduces students to the core principles of neural networks and deep learning, focusing on their application in computer vision. Covering advanced CNN architectures like ResNet, Inception, and DenseNet, along with techniques in object detection (R-CNN, SSD, YOLO) and semantic segmentation (FCN, SegNet, U-Net), this course offers a comprehensive overview of theory and practical skills.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5513
Grading Basis: Letter Grade

CSCA 5323 (1) Security and Ethical Hacking: Attacking Web and AI

In this last course of the sequence, students will learn how web application and server attacks are conducted against a variety of web technologies and frameworks. In addition, we will introduce the topic of Adversarial Machine Learning and attacks in the Artifical Intelligence domain, including Language Model systems. Students will gain an elementary understanding of the science and techniques behind these attacks, with an appropriate introduction to the AI world. Course assessments are through quizzes, hands-on exercises and an exam.

Grading Basis: Letter Grade

CSCA 5332 (1) Robotic Mapping and Trajectory Generation

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.

Grading Basis: Letter Grade

CSCA 5342 (1) Robotic Path Planning and Task Execution

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.

Grading Basis: Letter Grade

CSCA 5414 (1) Dynamic Programming, Greedy Algorithms

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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5503
Grading Basis: Letter Grade

CSCA 5422 (1) Computer Vision for Generative AI

This course delves into the cutting-edge realm of generative models for images and videos, including GANs and Diffusion Models. It will teach about multimodal foundational models such as CLIP, as well as applications for text-to-image and text-to-video generation. The course also addresses the issue of DeepFakes. Through both practical exercises and theoretical discussion, students will explore the ethical considerations, privacy concerns, and future trends in computer vision.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5514
Grading Basis: Letter Grade

CSCA 5424 (1) Approximation Algorithms and Linear Programming

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.

Grading Basis: Letter Grade

CSCA 5428 (1) Object-Oriented Analysis and Design: Foundations and Concepts

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.

Grading Basis: Letter Grade

CSCA 5433 (1) When to Regulate? The Digital Divide and Net Neutrality

This is the first of three courses exploring Internet Policy: Principles and Problems, which is part of CU Boulder¿s Masters of Science in Data Science and Master of Science in Computer Science programs on Coursera. 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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5736
Grading Basis: Letter Grade

CSCA 5438 (1) Object-Oriented Analysis and Design: Patterns and Principles

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.

Grading Basis: Letter Grade

CSCA 5443 (1) Protecting Individual Privacy on the Internet

This is the second of three courses exploring Internet Policy: Principles and Problems, which is part of CU Boulder¿s Master of Science in Data Science and Master of Science in Computer Science programs on Coursera. This course critiques and develops regulatory approaches to real-world privacy problems created by the Internet. Learners will create a privacy brief based upon the exposure of their own private information when surfing the web. Successful completion of the first course in this series is recommended.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5737
Recommended: Prerequisite DTSA 5736/CSCA 5433.
Grading Basis: Letter Grade

CSCA 5448 (1) Object-Oriented Analysis and Design: Practice and Architecture

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.

Grading Basis: Letter Grade

CSCA 5453 (1) Cybersecurity in Crisis: Information and Internet Security

This is the third of three courses exploring Internet Policy: Principles and Problems, which is part of CU Boulder¿s Master of Science in Data Science and Master of Science in Computer Science programs on Coursera. This course examines policy approaches to real-world cybersecurity problems occurring on the Internet. Learners will develop a privacy brief on a cybersecurity government policy, law or regulation of their choice. Successful completion of the first course in this series is recommended.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5738
Recommended: Prerequisites DTSA 5736/CSCA 5433 and DTSA 5737/CSCA 5443.
Grading Basis: Letter Grade

CSCA 5454 (1) Advanced Data Structures, RSA and Quantum Algorithms

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.

Grading Basis: Letter Grade

CSCA 5502 (1) Data Mining Pipeline

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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5504
Grading Basis: Letter Grade

CSCA 5512 (1) Data Mining Methods

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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5505
Grading Basis: Letter Grade

CSCA 5522 (1) Data Mining Project

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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5506
Grading Basis: Letter Grade

CSCA 5622 (1) Introduction to Machine Learning - Supervised Learning

This course introduces various supervised ML algorithms and prediction tasks applied to different data. Specific topics include linear and logistic regression, KNN, Decision trees, ensemble methods such as Random Forest and Boosting, and kernel methods such as SVM. Formerly offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5509
Grading Basis: Letter Grade

CSCA 5632 (1) Unsupervised Algorithms in Machine Learning

Students 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. Formerly offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5510
Grading Basis: Letter Grade

CSCA 5642 (1) Introduction to Deep Learning

Course 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. Formerly offered as a special topics course.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5511
Grading Basis: Letter Grade

CSCA 5702 (1) Fundamentals of Data 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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5304
Grading Basis: Letter Grade

CSCA 5812 (1) Deep Learning Applications for Computer Vision

Students will learn about Computer Vision as a field of study and research. They explore several Computer Vision tasks and suggested approaches, from the classic Computer Vision perspective. They'll be introduced to Deep Learning methods and apply them to some of the same problems. They 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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5707
Grading Basis: Letter Grade

CSCA 5832 (1) Fundamentals of Natural Language Processing

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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5747
Grading Basis: Letter Grade

CSCA 5834 (1) Modeling of Autonomous Systems

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.

Grading Basis: Letter Grade

CSCA 5842 (1) Deep Learning for Natural Language Processing

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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5748
Grading Basis: Letter Grade

CSCA 5844 (1) Requirement Specifications for Autonomous Systems

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.

Grading Basis: Letter Grade

CSCA 5852 (1) Model and Error Analysis for Natural Language Processing

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.

Equivalent - Duplicate Degree Credit Not Granted: DTSA 5749
Grading Basis: Letter Grade

CSCA 5854 (1) Verification and Synthesis of Autonomous Systems

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.

Grading Basis: Letter Grade

CSCA 5859 (1) Ideating and Prototyping Interfaces

User interfaces are a core part of everyday work, learning, and entertainment. To learn how to create a successful user interface is key behind the most successful products we use on our phones and the web. This course is the first in a series of three in this specialization on Human-Computer Interaction (HCI). It covers the fundamental methods in conducting HCI research and practice. During this course, you will practice core skills related to HCI work, such as brainstorming, sketching, prototyping. By examining prominent examples of past HCI successes and failures, you will identify design practices that help you create great user experiences. By the end of the course, you will know how to ideate, design and create user interfaces through practical examples and have started a portfolio of example designs for your future practice. Please note, to complete this course, you will need access to a computer or laptop, a camera or similar device (such as a webcam), and paper and pen/pencils.

Grading Basis: Letter Grade

CSCA 5869 (1) User Interface Testing and Usability

This course is the second in a series of three in this specialization on Human-Computer Interaction (HCI). This course focuses on evaluating user interfaces to develop new user interface ideas or improve existing ones. You will learn how to understand the users¿ needs, their abilities, the context that they operate in and their unique challenges through theory and practical methods. You will practice how to evaluate a user interface through standard industry practices and how to communicate the outcome to your peers. You will also compare between different low-cost methods to rapidly evaluate alternative user interface ideas as you iterate on your interface ideas. By the end of this course, you will be able to successfully assess a user interface and generate actionable insights through user testing. Please note, to complete this course, you will need access to a computer or laptop, a camera or similar device (such as a webcam), and paper and pen/pencils.

Grading Basis: Letter Grade

CSCA 5879 (1) Emerging Topics in HCI: Designing for VR, AR, AI

Human-Computer Interaction (HCI) is rapidly moving beyond the standard graphical user interface that has long dominated how we engage with computers. In this final course in the specialization on Human-Computer Interaction (HCI), you will be introduced to emerging HCI topics like voice assistants, virtual and augmented reality, and embodied computing interfaces. Throughout the course, you will learn how to prototype and user test these emerging interfaces. Please note, to complete this course, you will need access to a computer or laptop, a camera or similar device (such as a webcam), and paper and pen/pencils.

Grading Basis: Letter Grade

CSCA 7000 (1) Special Topics

Examines a special topic in Computer Science.

Repeatable: Repeatable for up to 8.00 total credit hours. Allows multiple enrollment in term.
Grading Basis: Letter Grade

.