IMPORTANT: The Data Science Department strictly enforces all course prerequisites. All courses must be taken for a letter grade and must be passed with a “C-” or better to receive credit toward your DSC major or minor.

Lower Division Data Science Courses

Data, Inference, Prediction, and Computation

The following 5 courses together provide the basic skills to deal with data statistically and computationally:

This first course in data science introduces students to data exploration, statistical inference, and prediction. It introduces the Python programming language as a tool for tabular data manipulation, visualization, and simulation. Through homework assignments and projects, students are given an opportunity to develop their analytical skills while working with real-world datasets from a variety of domains.

Prerequisites:

  • None

Provides an understanding of the structures that underlie the programs, algorithms, and languages used in data science by expanding the repertoire of computational concepts introduced in DSC 10 and exposing students to techniques of abstraction. Course will be taught in Python and will cover topics including recursion, higher-order functions, function composition, object-oriented programming, interpreters, classes, and simple data structures such as arrays, lists, and linked lists.

Prerequisites:

  • DSC 10
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Builds on topics covered in DSC 20 and provides practical experience in composing larger computational systems through several significant programming projects using Java. Students will study advanced programming techniques including encapsulation, abstract data types, interfaces, algorithms and complexity, and data structures such as stacks, queues, priority queues, heaps, linked lists, binary trees, binary search trees, and hash tables.

Prerequisites:

  • DSC 20
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Students will learn about a variety of topics in data science through interactive presentations from faculty and industry professionals.

Prerequisites:

  • DSC 10
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Students will explore topics and tools relevant to the practice of data science in a workshop format. The instructor works with students on guided projects to help students acquire knowledge and skills to complement their course work in the core data science classes. Topics vary from quarter to quarter.

Prerequisites:

  • None, but students are strongly recommended to enroll in either DSC 10 or DSC 20 concurrently
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Data Meets Theory

The following 2 courses provide a theoretical foundation for data science at the lower-division level:

The sequence DSC 40A-B introduces the theoretical foundations of data science. DSC 40A, the first course in the sequence, exposes students to the mathematical theory underlying fundamental topics in machine learning. Topics include empirical risk minimization, optimization, regression, classification, and discrete probability. Students practice creative problem-solving while learning how to rigorously justify and communicate mathematical ideas.

Prerequisites:

  • DSC 10
  • MATH 18 or 31AH
  • MATH 20C or 31BH
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

The sequence DSC 40A-B introduces the theoretical foundations of data science. DSC 40B, the second course in the sequence, covers the fundamentals of computer science with applications to data science. Topics include time complexity analysis, the analysis of recursive algorithms, graph theory, and graph search algorithms. Whereas other courses in the curriculum, such as DSC 20 and DSC 30, may touch on these topics briefly, this course aims to develop a deeper, theoretical understanding. DSC 40A-B connect to DSC 10, 20, and 30 by providing the theoretical foundation for the methods that underlie data science.

Prerequisites:

  • DSC 20
  • DSC 40A
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Practice and Application of Data Science

The marriage of data, computation, and inferential thinking, or “data science,” is redefining how people and organizations solve challenging problems and understand the world. This course bridges lower- and upper-division data science courses as well as methods courses in other fields. Students master the data science life-cycle and learn many of the fundamental principles and techniques of data science spanning algorithms, statistics, machine learning, visualization, and data systems.

Prerequisites:

  • DSC 30
  • DSC 40A
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Lower Division Special Studies

Individual research on a topic related to data science, by special arrangement with and under the direction of a UC San Diego faculty member, in connection with an internship at an organization. It is the students’ responsibility to find an internship related to data science prior to enrolling in this course. Internship work will inform but not necessarily define the research topic. The research topic is expected to promote the study of the principles and techniques involved in the internship work. May be taken for credit up to two times.

Prerequisites:

  • DSC 20
  • DSC 40A
  • MATH 18 or MATH 31AH
  • MATH 20C or MATH 31BH
  • Completion of 30 units at UC San Diego with a university GPA of 3.0
  • Special Studies Form, consent of the instructor, and approval of the department
  • Priority enrollment is given to DS25 majors
  • Restricted to students with lower-division standing

Note: This course does NOT fulfill requirements for the DSC major or minor.

For information on eligibility and the enrollment process, visit the Enrolling in Classes page of the website.

Students will investigate a topic in data science through directed reading, discussion, and project work under the supervision of a faculty member. May be taken for credit up to two times.

Prerequisites:

  • DSC 20
  • DSC 40A
  • MATH 18 or MATH 31AH
  • MATH 20C or MATH 31BH
  • Completion of 30 units at UC San Diego with a university GPA of 3.0
  • Special Studies Form, consent of the instructor, and approval of the department
  • Priority enrollment is given to DS25 majors
  • Restricted to students with lower-division standing

Note: This course does NOT fulfill requirements for the DSC major or minor.

For information on eligibility and the enrollment process, visit the Enrolling in Classes page of the website.

Students will participate in independent study or research in data science under the direction of a UC San Diego faculty member. May be taken for credit up to two times.

Prerequisites:

  • DSC 20
  • DSC 40A
  • MATH 18 or MATH 31AH
  • MATH 20C or MATH 31BH
  • Completion of 30 units at UC San Diego with a university GPA of 3.0
  • Special Studies Form, consent of the instructor, and approval of the department
  • Priority enrollment is given to DS25 majors
  • Restricted to students with lower-division standing

Note: This course does NOT fulfill requirements for the DSC major or minor.

For information on eligibility and the enrollment process, visit the Enrolling in Classes page of the website.

Upper Division Data Science Courses

Data Science Core Courses

This course is an introduction to storage and management of large-scale data using classical relational (SQL) systems, with an eye toward applications in data science. The course covers topics including the SQL data model and query language, relational data modeling and schema design, elements of cost-based query optimizations, relational data base architecture, and database-backed applications.

Prerequisites:

  • DSC 40B
  • DSC 80
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

This course introduces the principles of computing systems and infrastructure for scaling analytics to large datasets. Topics include memory hierarchy, distributed systems, model selection, heterogeneous datasets, and deployment at scale. The course will also discuss the design of systems such as MapReduce/Hadoop and Spark, in conjunction with their implementation. Students will also learn how dataflow operations can be used to perform data preparation, cleaning, and feature engineering.

Prerequisites:

  • DSC 100
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Data visualization helps explore and interpret data through interaction. This course introduces the principles, techniques, and algorithms for creating effective visualizations. The course draws on the knowledge from several disciplines including computer graphics, human-computer interaction, cognitive psychology, design, and statistical graphics and synthesizes relevant ideas. Students will design visualization systems using D3 or other web-based software and evaluate their effectiveness.

Prerequisites:

  • DSC 80
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

The course covers learning and using probabilistic models for knowledge representation and decision-making. Topics covered include graphical models, temporal models, and online learning, as well as applications to natural language processing, adversarial learning, computational biology, and robotics. Prior completion of MATH 181A is strongly recommended.

Prerequisites:

  • DSC 80
  • ECE 109 or ECON 120A or MAE 108 or MATH 180A or MATH 183 or MATH 186
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Note: This course substitutes the core CSE 150A requirement. Students cannot receive major credit for both CSE 150A and DSC 140A, as only 1 course can fulfill this major core requirement.

This course is an introduction to machine learning which explores techniques for learning suitable representations from data. Topics include clustering, dimensionality reduction, manifold learning, principal component analysis, spectral embeddings, multilayer perceptrons, autoencoders, convolutional and recurrent neural networks, and other aspects of deep learning. The course focuses on the underlying mathematical principles, but some attention is also given to implementation. 

Prerequisites:

  • DSC 80
  • ECE 109 or ECON 120A or MAE 108 or MATH 180A or MATH 183 or MATH 186
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Note: This course substitutes the core CSE 151A requirement. Students cannot receive major credit for both CSE 151A and DSC 140B, as only 1 course can fulfill this major core requirement.

This course mainly focuses on introducing current methods and models that are useful in analyzing and mining real-world data. It will cover frequent pattern mining, regression and classification, clustering, and representation learning. All participants should be comfortable with programming, and with basic optimization and linear algebra.

Prerequisites:

  • CSE 12 or DSC 40B
  • CSE 15L or DSC 80
  • MATH 180A or MATH 181A or MATH 183 or CSE 103 or ECE 109 or ECON 120A
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Note: This course substitutes the core CSE 158 requirement. Students cannot receive major credit for both CSE 158 and DSC 148, as only 1 course can fulfill this major core requirement.

In this two-course sequence students will investigate a topic and design a system to produce statistically informed output. The investigation will span the entire lifecycle, including assessing the problem, learning domain knowledge, collecting/cleaning data, creating a model, addressing ethical issues, designing the system, analyzing the output, and presenting the results. 180A deals with research, methodology, and system design. Students will produce a research summary and a project proposal. 

Prerequisites:

  • DSC 102
  • DSC 106
  • MATH 189
  • DSC 140A or (DSC 140B or CSE 151A) or (DSC 148 or CSE 158) or COGS 188
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major

In this two-course sequence students will investigate a topic and design a system to produce statistically informed output. The investigation will span the entire lifecycle, including assessing the problem, learning domain knowledge, collecting/cleaning data, creating a model, addressing ethical issues, designing the system, analyzing the output, and presenting the results. 180B will consist of implementing the project while studying the best practices for evaluation.

Prerequisites:

  • DSC 180A
  • Students are only cleared to enroll into the discussion section associated with their DSC 180A discussion section
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major

Data Science Electives

Note: Courses with * are cross-listed. Students can complete the course through either department; however, students must meet prerequisites as listed.

The course will introduce a variety of No-SQL data formats, data models, high-level query languages, and programming abstractions representative of the needs of modern data analytic tasks. Topics include hierarchical graph database systems, unrestricted graph database systems, array databases, comparison of expressive power of the data models, and parallel programming abstractions, including Map/Reduce and its descendants.

Prerequisites:

  • DSC 100
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

This course will focus on ideas from classical and modern signal processing, with the main themes of sampling continuous data and building informative representations using orthonormal bases, frames, and data dependent operators. Topics include sampling theory, Fourier analysis, lossy transformations and compression, time and spatial filters, and random Fourier features and connections to kernel methods. Sources of data include time series and streaming signals and various imaging modalities.

Prerequisites:

  • DSC 40B
  • MATH 18 or MATH 31AH
  • MATH 20C or MATH 31BH
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Rigorous treatment of principal component analysis, one of the most effective methods in finding signals amidst the noise of large data arrays. Topics include singular value decomposition for matrices, maximal likelihood estimation, least squares methods, unbiased estimators, random matrices, Wigner’s semicircle law, Markchenko-Pastur laws, universality of eigenvalue statistics, outliers, the BBP transition, applications to community detection, and stochastic block model.

Prerequisites:

  • MATH 18 or MATH 31AH
  • MATH 180A
  • Completion of MATH 102 is encouraged but not required
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Note: Students will not receive credit for both MATH 182 and DSC 155.

This course addresses the intersection of data science and contemporary arts and culture, exploring four main themes of authorship, representation, visualization, and data provenance. The course is not solely an introduction to data science techniques nor merely an arts practice course, but explores significant new possibilities for both fields arising from their intersection. Students will examine problems from complementary perspectives of artist-researchers and data scientists.

Prerequisites:

  • DSC 80
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

This class explores statistical and computational methods to enable students to use text as a data source in the social sciences. Hands-on examples will equip students to work with text data in final projects.

Prerequisites:

  • ECON 5 or POLI 170A or POLI 171 or POLI 172 or POLI 30 or POLI 30D or POLI 5 or POLI 5D
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Note: Students will not receive credit for both POLI 176 and DSC 161.

This course examines the greater context under which the practice of data science exists and explores concrete ways these issues surface in technical work. Students learn frameworks for understanding how individuals relate to social institutions, how to use them to identify how issues of fairness arise in the “life of a data scientist,” and use them to propose and critique potential solutions.

Prerequisites:

  • DSC 80
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Spatial data science is a set of concepts and methods that deal with accessing, managing, visualizing, analyzing, and reasoning about spatial data in applications where location, shape and size of objects, and their mutual arrangement are important. This upper-division course explores advanced data science concepts for spatial data, introducing students to principles and techniques of spatial data analysis, including geographic information systems, spatial big data management, and geostatistics.

Prerequisites:

  • DSC 80
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Introduction to Robotics Perception and Navigation is a fast-paced Data Science-centric robotics class where students are divided into teams to work on increasingly difficult challenges resulting in a robotics scale car navigating autonomously on simulated city-like tracks (indoor and outdoors) using Spatial-AI avoiding obstacles using ROS (Robot Operating System), LIDAR, Active and Stereo 3D cameras, Inertial Measurement Unit (IMU), and odometry.

Prerequisites:

  • None
  • Department approval required due to limited materials

Students will participate in a competition to design and develop a machine learning model that achieves state-of-the-art performance on real-world prediction tasks. Competitions will be selected from industry partners or from online platforms (e.g., Kaggle), and focus on prediction tasks from real-world applications in areas such as medicine, finance, marketing, and scientific discovery. Students will work in teams to develop a model for a single competition over the quarter, developing their strategies through milestone assignments. Students will be evaluated based on their performance in the competition, reproducibility, teamwork, and their assignments. Students should have extensive experience programming in Python and training machine learning models using mainstream packages. This is an advanced topics course for graduate students and senior undergraduate students.

Prerequisites:

  • (DSC 140A/CSE 150A and DSC 140B/CSE 151A) or (DSC 180A and DSC 180B)
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Note: This course is an ELECTIVE and should be automatically applied as such in your degree audit.

This course is infused with hands-on computer engineering knowledge and techniques. Students will initially work individually with their own Internet-of-Things kit, then collaboratively in groups of 3 or 4 on a final project developing an entire IoT system for data collection and analysis from the physical world.

Prerequisites:

  • DSC 80
  • Restricted to students with upper-division standing
  • Restricted to students within the DS25 major
  • All other students will be allowed as space permits

Note: This course is an ELECTIVE and should be automatically applied as such in your degree audit.

Upper Division Special Studies

Special Studies courses help students learn about subjects not taught in regular classes when they engage in field, lab, and library research.

Directed study and research at laboratories/institutions outside of campus. It is the students’ responsibility to find an internship related to data science prior to enrolling in this course.

Prerequisites:

  • Restricted to students with upper-division standing
  • Consent of the instructor and approval of the department
  • An application for Special Studies must be filed with the Registrar’s office after approval from the instructor and the department chair

Note: This course does NOT fulfill requirements for the DS25 major or minor.

For information on eligibility and the enrollment process, visit the Enrolling in Classes page of the website.

Data science topics whose study involves reading and discussion by a small group of students under supervision of a faculty member. May be taken for credit up to two times.

Prerequisites:

  • Restricted to students with upper-division standing
  • Consent of the instructor and approval of the department
  • Department stamp required
  • An application for Special Studies must be filed with the Registrar’s office after approval from the instructor and the department chair

Note: This course does NOT fulfill requirements for the DS25 major or minor.

For information on eligibility and the enrollment process, visit the Enrolling in Classes page of the website.

Independent reading or research on a topic related to data science by special arrangement with a faculty member. May be taken for credit up to two times.

Prerequisites:

  • Restricted to students with upper-division standing
  • Consent of the instructor and approval of the department
  • An application for Special Studies must be filed with the Registrar’s office after approval from the instructor and the department chair

Note: This course does NOT fulfill requirements for the DS25 major or minor.

For information on eligibility and the enrollment process, visit the Enrolling in Classes page of the website.