The listing of a course description here does not guarantee a course’s being offered in a particular semester. Please refer to the published schedule of classes on the Student Link for confirmation a class is actually being taught and for specific course meeting dates and times.
CDS DS 100: Data Speaks Louder Than Words
This course introduces students to three perspectives that are fundamental to their ability to reason with data: critical thinking, inferential thinking, and computational thinking. Through data modeling and visualization, students will construct and communicate arguments that are rooted in data. The course expects only basic computer knowledge and teaches concepts and skills in computer programming (Python), linear regression, and statistical inference. The course delves into dilemmas surrounding data analysis, such as balancing individual privacy and social utility, and prepares students for the data driven world all around us. Students with interests from politics to sports, finance to journalism, entrepreneurship to smart cities, etc., can use the knowledge of data science they gain in this class to enhance those interests. Not to mention a grounding for students who want to pursue the field of data science itself. Effective Fall 2021, this course fulfills a single unit in each of the following BU Hub areas: Social Inquiry 1, Digital/Multimedia Expression, Research and Information Literacy.
CDS DS 110: Introduction to Data Science with Python
CDS DS 110 is the first in a two-course sequence (leading to CDS DS 210) that builds students' competence in computing techniques central to data science. Students will use Python to explore fundamental CS concepts and processes used in data science with a focus on descriptive data analysis, including data structures, development of functions and more advanced recursion, object- oriented programming, data processing and data visualization. Numpy, pandas, and matplotlib will be used to analyze real-world data. Prior experience with Python is not required.
CDS DS 120: Foundations of Data Science
Undergraduate Prerequisites: Basic knowledge of a programming language such as Python is expected
Undergraduate Corequisites: CDSDS110 OR equivalent.
The first in a 3-course sequence (with CDS DS 121 and CDS DS 122) that introduces students to theoretical foundations of Data Science. Introduction to key concepts from Calculus (differentiation and integration), Probability (discrete and continuous random variables) and Linear Algebra (vector spaces, matrices, and linear systems). The course links mathematics and computational thinking through problem sets requiring students to answer mathematically- posed questions using computation.
CDS DS 121: Foundations of Data Science II
Undergraduate Prerequisites: CDSDS120 OR equivalent; CDSDS110 OR equivalent.
CDS 121 is the second in the three-course sequence (CDS DS 120, 121, 122) that introduces students to theoretical foundations of Data Science. DS 121 covers an introduction to key concepts from Linear Algebra (vector space, independence, orthogonality and matrix factorizations). The DS theme running through the course is exploratory data analysis, enabling a better understanding of the data at hand. The course will link mathematical concepts with computational thinking, specifically through the use of problem sets that require students to answer mathematically-posed questions using computation. Effective Fall 2021, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning I, Digital/Multimedia Expression, Critical Thinking.
CDS DS 122: Foundations of Data Science III
Undergraduate Prerequisites: CDSDS121 OR equivalent
CDS DS 122 is the third in a three-course sequence (with CDS DS 120 and CDS DS 121) that introduces students to theoretical foundations of Data Science. DS 122 covers topics in probability (including common probability distributions, conditional probability, independence, Bayes Theorem, prior and posterior distributions, sampling, and the central limit theorem), statistics (including maximum likelihood), basic numerical optimization (including gradient descent methods), and topics in calculus (including sequences and series). Knowledge of a programming language (such as Python) is expected. Effective Spring 2022, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Critical Thinking.
CDS DS 199: CDS Workshops (1 credit)
DS 199 workshops provide students the opportunity to develop elective skills and competencies in computing and data science. Each workshop focuses on a subset of skills and competencies necessary for students to engage in particular projects and real-world experiences. Participation in projects pursued within specific co- Labs may require completion of specific workshops. DS 199 workshops will count for 1 credit.
CDS DS 200: Undergraduate Internship in Data Science
This course is intended for undergraduate students interested in completing a summer internship in a data science industry company. For international students, this course is required to use CPT. This course comes with a tuition fee and is not repeatable. Please note that this course does not count toward major requirements, but the 1 credit received from the course does count toward the graduation requirement of 128 credits. A 2.0 GPA is required to participate in DS 200.
CDS DS 209: Spark! Software Engineering Immersion
Students will be introduced to all concepts required to work on a modern web development project. This course is intentionally taught with very little prerequisite knowledge to enable students to begin learning these skills earlier in their college path. Students begin by learning basic skills required to build a functioning web application. During the second half of the course, students will be allocated to teams and provided a choice of projects to develop over the course of the semester. Students will submit their final application as their final project on the last day of classes.
CDS DS 210: Programming for Data Science
Undergraduate Prerequisites: CDSDS110 OR equivalent
Second course in the CDS DS-110-210 sequence. The first half of DS 210 continues the Python programming experience begun in DS-110, with enhanced focus on machine learning applications. The second half of the course introduces students to compiled programming languages, such as Rust, Go and Java, suitable for building large projects. Basic data structures (stacks, queues, priority queues, binary search trees), techniques for representing graphs, and basic graph algorithms will be explored. Concepts are developed and reinforced through consideration of data-driven inquiries in real-world settings. Effective Spring 2022, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Digital/Multimedia Expression, Creativity/Innovation.
CDS DS 219: Software Engineering Career Prep Practicum Workshop
Taught by industry software veterans who serve as Spark! Engineers in Residence in CDS, this 2-credit course presents students with an unadulterated view of what they need to know as they take on software engineering projects, in preparation for careers as full-stack software/data engineers. From a brass tacks perspective, the course covers a number of tactical topics. The course covers the language of modern software development including patterns, source control, pull requests, open source, containerization, virtualization, and agile vs waterfall development methods. Additionally, the course introduces students to a few of the specialized professional software engineering and DevOps roles in industry.
CDS DS 280: Spark! UX/UI Design
User experience design (UX) and user interface engineering (UI) is the design of user interfaces and visualization for computer, information, and data products focusing on maximizing usability and the user experience. Students complete a series of activities within the UX Design toolkit developed by BU Spark! in collaboration with the Red Hat UX Design team. Course covers basic steps of the UX Design process, beginning with user insights and problem definition, empathy maps around personas, to user stories and lo- fidelity wireframes or story maps, to brand design and high fidelity wireframes. Effective Spring 2022, this course fulfills a single unit in the following BU Hub area: Digital/Multimedia Expression.
CDS DS 287: Spark! Diversity and Equity in Data Science Workshop
Designed to introduce students to the issues of diversity and equity in data science. The first half of the course focuses on the larger sociological implications of these inequalities - why they happen and why they matter. The second half dives into the steps of data collection, analysis, and dissemination on a practical level, identifying the problem points and potential solutions at each level of the process. Effective Spring 2023, this course fulfills a single unit in the following BU Hub area: The Individual in Community
CDS DS 288: Spark! Workshop on Translating Computing & Data Science Concepts and Technologies through Storytelling
This course will cover the basics of storytelling as applied to complex technology concepts, products, and outputs. Students will learn how to define the basic elements of a story and to craft compelling narratives using words, images, and other artifacts as applied to computing and data science topics and products.
CDS DS 290: Spark! Civic Tech Research Design Workshop
This workshop focuses on how we learn from data. How do we identify and analyze relationships in our data? What conclusions can we draw from our data, and how applicable are our conclusions to broader contexts? How do we communicate effectively about our data and analyses? How can we be critical consumers of data and research, and identify issues and limitations in how data is used by data scientists, journalists, academics, and others? Effective Spring 2023, this course fulfills a single unit in the following BU Hub area: Research and Information Literacy
CDS DS 291: Spark! Exploring DEI in Tech
This workshop will explore topics related to diversity, equity, inclusion, and justice (DEIJ) in the technology sector. The course will implement the theory and practice of DEIJ across the tech sector. Students will start by gaining a foundational understanding of the concepts of identity, intersectionality, and inclusive dialogue. They will then apply this framework to understand issues of DEIJ in the tech sector in Academia and business, and the different technology domains from AI to hardware. The second part of the course will be focused on allyship and action and includes a final project where students will use an intersectional lens to assess a problem they are passionate about and develop solutions they believe can have impact. Through this course, students will learn how to engage in and facilitate impactful discussions about diversity, equity, inclusion and justice. Effective Spring 2022, this course fulfills a single unit in the following BU Hub area: The Individual in Community.
CDS DS 292: Spark! Civic Tech Toolkit Workshop
This workshop will cover essential programs, tools, and frequently used data sets necessary to work effectively on civic tech projects enabling greater interdisciplinary engagement and contextual understanding of the tools in an applied context. Tools will include working with GIS/ geospatial programming languages, gaining familiarity with commonly used libraries and packages in R and Python, and leveraging data visualization tools like Tableau, Flourish, and PowerBI. Additionally, the course will allow students to learn about and engage with commonly used civic tech data sets: census/ ACS data, elections data, land use and housing, and development data, data about criminal legal systems, and more. Effective Spring 2023, this course fulfills a single unit in the following BU Hub area: The Individual in Community.
CDS DS 299: CDS Workshops (2 credits)
DS299 workshops provide students the opportunity to develop elective skills and competencies in computing and data science. Each workshop focuses on a subset of skills and competencies necessary for students to engage in particular projects and real-world experiences. Participation in projects pursued within specific co-Labs may require completion of specific workshops. See CDS website for Spring 2022 course information: https://www.bu.edu/cds-faculty/academics/undergraduate/courses/
CDS DS 310: Data Mechanics
Undergraduate Prerequisites: CDSDS110 AND CDSDS210
Course focused on developing students' capacity to design and implement data flows and the computational workflows meant to inform online/offline decision-making within large systems. Students explore the data science lifecycle, including question formulation, data collection and cleaning (data wrangling), exploratory data analysis and visualization, statistical inference and prediction, and decision-making. Relational (SQL) and MapReduce (noSQL) paradigms used to assemble analysis, optimization, and decision-making algorithms to track and scale data.
CDS DS 320: Algorithms for Data Science
Undergraduate Prerequisites: CDSDS110 or equivalent AND CDSDS122 or equivalent
This course covers the fundamental principles underlying the design and analysis of algorithms. We will walk through classical design methods, such as greedy algorithms, design and conquer, and dynamic programming, focusing on applications in data science. We will also study algorithmic methods more specific to data science and machine learning. The course places a particular emphasis on algorithmic efficiency, crucial with large and/or streaming data sets, for which multiple scans of data are infeasible, including the use of approximation and randomized algorithms. Effective Spring 2022, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Critical Thinking.
CDS DS 340: Introduction to Machine Learning and AI
Undergraduate Prerequisites: A second course in programming (CDSDS210 or equivalent) should be taken prior to this class, and algorithms (CDSDS320 or equivalent) shouldbe taken simultaneously with or prior to this class.
Undergraduate Corequisites: CDSDS320 or equivalent can be taken as a co-requisite for this course.
This course instructs students in key algorithms for classic artificial intelligence (AI) and modern machine learning (ML). Along the way, we seek to explore what kinds of problems these techniques are good and bad at, and build intuition for what makes a good search or machine learning problem. The primary assessment tools will be programming problem sets in Python, using Jupyter notebooks. Effective Fall 2022, this course fulfills a single unit in each of the following BU Hub areas: Ethical Reasoning, Quantitative Reasoning II, Critical Thinking.