Courses

The listing of a course description here does not guarantee a course’s being offered in a particular term. Please refer to the published schedule of classes on the MyBU Student Portal for confirmation a class is actually being taught and for specific course meeting dates and times.

  • CDS DS 453: Crypto for Data Science
    Undergraduate Prerequisites: DS-122 and DS-320, or equivalent. - CDS DS 453 investigates techniques for performing trustworthy data analyses without a trusted party, and for conducting data science without data. The first half of the course investigates cryptocurrencies, the blockchain technology underpinning them, and the incentives for each participant, while the second half of the course focuses on privacy and anonymity using advanced tools from cryptography. The course concludes with a broader exploration into the power of conducting data science without being able to see the underlying data.
  • CDS DS 457: Law for Algorithms
    Algorithms - those information-processing machines designed by humans - reach ever more deeply into our lives, creating alternate and sometimes enhanced manifestations of social and biological processes. In doing so, algorithms yield powerful levers for good and ill amidst a sea of unforeseen consequences. This crosscutting and interdisciplinary course investigates several aspects of algorithms and their impact on society and law. Specifically, the course connects concepts of proof, verifiability, privacy, security, trust, and randomness in computer science with legal concepts of autonomy, consent, governance, and liability, and examines interests at the evolving intersection of technology and the law. Grades will be based on a combination of short weekly reflection papers and a final project, to be completed collaboratively in mixed teams of law and computer and data science students. This course will include attendees from the computer science faculty, students and scholars based at Boston University and UC Berkeley.
  • CDS DS 481: Spark! Data Science for Good: Topics in Civic Tech
    This course enables students to tackle real world data challenges related to a more equitable and just society. Students will work in teams on projects addressing pressing societal challenges in the public sphere, provided by partners from the public sector. Course emphasizes teamwork, client/project management, data collection/engineering, analytics and/or software development, testing and delivery of technical artifacts, and research and presentation of final deliverables
  • CDS DS 482: Responsible AI, Law, Ethics & Society
    Undergraduate Prerequisites: CDSDS100/CDSDS110 (Intro to data science OR equivalent) and CDSDS340 ( intro to ML and AI OR equivalent) - This course addresses the deployment of Artificial Intelligence systems across various societal domains, raising fundamental challenges and concerns such as accountability, liability, fairness, transparency, and privacy. Tackling these challenges necessitates an interdisciplinary approach, integrating principles and practices from data science, ethics, and law. This unique course will bring together students from computing and data science disciplines as well as law and public policy disciplines from multiple institutions. Permission is required to register for this course. Course page: https://learn.responsibly.ai. Please fill out an application form here: https://forms.gle/bMRECdYcMUwHj7xG8. Instructor: shlomi@bu.edu. Effective Spring 2022, this course fulfills a single unit in each of the following BU Hub areas: Social Inquiry II, Ethical Reasoning, Teamwork/Collaboration
    • Ethical Reasoning
    • Social Inquiry II
    • Teamwork/Collaboration
  • CDS DS 488: Spark! UX Design X-Lab Practicum
    Undergraduate Prerequisites: CDSDS280 OR equivalent - This course gives students an opportunity to apply methods and practices of user experience design to real-world projects. Students work in teams to address needs of industry partners for applying interactive software to solve practical problems. Addresses all phases of the user experience design process from user research and discovery to design and validation, with a focus on mastering techniques and methods for learning about users, applying design thinking methods to conceive and iterate on solutions, and validating designs through user testing and feedback.
  • CDS DS 490: Directed Study in Computing & Data Sciences
    Directed study in Computing & Data Sciences provides students the opportunity to complete directed research in a selected topic not covered in a regularly scheduled course under the supervision of a faculty member. Student and supervising faculty member arrange and document expectations and requirements. Examples include in-depth study of a special topic or independent research project.
  • CDS DS 499: CDS Practicum Course
    Undergraduate Prerequisites: consent of instructor - Courses engage students in interdisciplinary computing and data science projects. Projects may support CDS co-Labs, in partnership with internal and external organizations. Opportunities to connect computing and data sciences with domain-specific knowledge and expertise to advance co-Lab priorities.
  • CDS DS 501: Spark Client Meeting
    This section will be used to determine team assignments and provide meeting times for clients.
  • CDS DS 519: Spark! Software Engineering X-Lab Practicum
    Undergraduate Prerequisites: CDSDS310 OR CASCS411 OR equivalent experience in software development and consent of instructor. Consent provided upon successful completion of pass/fail diagnostic test to assess student readiness fo - This course offers students in computing disciplines the opportunity to apply their programming and system development skills by working on real-world projects provided from partnering organizations within and outside of BU, which are curated by Spark! The course offers a range of project options where students can improve their technical skills, while also gaining the soft skills necessary to deliver projects aligned to the partner's goals. These include teamwork and communications skills and software development processes. All students participating in the course are expected to complete a software engineering project including a final presentation to the partner organization. Effective Spring 2022, this course fulfills a single unit in each of the following BU Hub areas: Ethical Reasoning, Oral and/or Signed Communication, Teamwork/Collaboration.
    • Ethical Reasoning
    • Oral and/or Signed Communication
    • Teamwork/Collaboration
  • CDS DS 522: Stochastic Methods for Algorithms
    Undergraduate Prerequisites: First-Year Writing Seminar (e.g., WR 120); CAS CS111, CDS DS110, ENG E K125, or equivalent; CAS MA225, CAS CS235, CDS DS122, or equivalent; C AS MA242, CAS CS132, CDS DS121, or equivalent; CAS MA581, CA - Graduate Prerequisites: CAS CS111, CDS DS110, ENG EK125, or equivalent; CAS MA225, CAS CS235, CDS DS122, or equivalent; CAS MA242, CAS CS132, CDS DS121, or equivale nt; CAS MA581, CAS CS237, ENG EK381, ENG EK500, or equivalen - Application of stochastic process theory to design and analyze algorithms used in statistics and machine learning, especially Markov chain Monte Carlo and stochastic optimization methods. Emphasizes connecting theoretical results to practice through combination of proofs, numerical experiments, and expository writing. Effective Fall 2023, this course fulfills a single unit in each of the following BU Hub areas: Writing-Intensive Course, Creativity/Innovation.
    • Creativity/Innovation
    • Writing-Intensive Course
  • CDS DS 526: Critical Reading in Biological Data Science
    Prerequisite: Experience with computational biology. The goal of this course is to provide students with a framework, skills, and knowledge to critically evaluate research in biological data science. Biological research is rarely unequivocal in its findings; students will learn to systematically identify the claims advanced in research papers and evaluate whether each claim is established beyond a reasonable doubt by supporting evidence. We will examine papers that both meet and fail this test. In today's biology, to properly examine a paper in this way it is increasingly important to engage with the data provided as supporting evidence, and to critically examine the computational approach. Students will work with published data and computational tools. Further, students will learn to identify the ideology implicit in each paper, to understand how ideology shapes both the research questions and approach, and to imagine the same research under an alternative mindset. Classes will be split into lectures on background material for each paper and group discussions. Students will work in small groups to write a report on each paper. Each student will work on a final project to produce a critical review of a broader topic in the field. Prereq: Experience with computational biology.
  • CDS DS 539: Spark! Data Science X-Lab Practicum
    Undergraduate Prerequisites: CASCS506 or equivalent preferred. CDSDSDS110 OR CASCS111 OR CASCS112 O R equivalent. CDSDS121 OR CASCS132 OR equivalent required. Or instruct or consent which may involve pass/fail diagnostic test. - This course offers students in computing disciplines the opportunity to apply their data science skills by working on real-world projects provided from partnering organizations within and outside of BU, which are curated by Spark! The course offers a range of project options where students can improve their technical skills, while also gaining the soft skills necessary to deliver projects aligned to the partner's goals. These include communications skills, collaborative work processes and an assessment of the ethical considerations of their work. All students participating in the course are expected to complete a data science project including a final presentation to the partner organization. Effective Spring 2022, this course fulfills a single unit in each of the following BU Hub areas: Digital/Multimedia Expression, Research and Information Literacy, Teamwork/Collaboration.
    • Digital/Multimedia Expression
    • Research and Information Literacy
    • Teamwork/Collaboration
  • CDS DS 542: Deep Learning for Data Science
    In this course, students will gain an understanding of the fundamentals in deep learning and then apply those concepts in exercises and applications in python. We'll start with the origins of artificial neural networks, learn about loss functions, understand gradient descent, back propagation and various training optimization techniques. Students will be familiar with canonical network architecture such as multi-layer perceptions, convolutional neural networks, recursive neural networks, LSTMs and GRU, attention and transformers. Through explanations, examples and exercises students will build intuition on how deep learning algorithms work and how they are implemented in popular deep learning frameworks such as PyTorch. Students will be able to define, train and evaluate deep learning models as well as adapt deep learning frameworks to new functionality. Students will gain exposure to pre-trained large language models and other foundation models and the concepts of few-shot learning and reasoning. Finally, students will be able to apply many of the techniques they learned in a final class project.
  • CDS DS 543: Introduction to Reinforcement Learning
    This course aim to present a math-lite introduction to reinforcement learning. We will cover (1) the basics of Markov Decision Processes (2) primary algorithmic paradigms including model-based, value-based and policy-based learning (3) modern challenges and open problems in RL.
  • CDS DS 549: Spark! Machine Learning X-Lab Practicum
    Undergraduate Prerequisites: CDSDS340 OR CASCS542 OR CASCS505 OR CASCS585 OR consent of instructor. Consent may include the successful completion of a pass/fail diagnost ic test that will assess student readiness to take the cours - The Spark! Practicum offers students in computing disciplines the opportunity to apply their knowledge in algorithms, inferential analytics, and software development by working on real-world projects provided from partnering organizations within BU and from outside. The course offers a range of project options where students can improve their technical skills, while also gaining the soft skills necessary to deliver projects aligned to the partner's goals. These include teamwork and communications skills and software development processes. All students participating in the course are expected to complete a project focused on an application of inferential analytics or machine learning, including a final presentation to the partner organization. Effective Spring 2022, this course fulfills a single unit in each of the following BU Hub areas: Ethical Reasoning, Research and Information Literacy, Teamwork/Collaboration.
    • Ethical Reasoning
    • Research and Information Literacy
    • Teamwork/Collaboration
  • CDS DS 551: Data Engineering at Scale
    Welcome to "Data Engineering at Scale," a course designed to immerse you into the fascinating world of large-scale data management, processing, and analytics. Throughout this course, we will focus on a mythical but powerful application called the "Epidemic Engine". This application gathers information about potential health events, aggregates this data, publishes it in diverse ways, and ultimately attempts to predict epidemics. The Epidemic Engine, while hypothetical, embodies the principles and challenges of real-world data engineering systems that power today's most innovative technologies, from social networks to streaming platforms to cutting-edge AI research.
  • CDS DS 561: Software Engineering Development on Modern Cloud Environments
    Most of today's organizations needing a technology solution look to satisfy their computing, storage and networking needs through one of the large public cloud providers. Unlike traditional environments where a company had to build its own infrastructure often at large time and monetary expense it can now rent what it needs at the click of a button. In this course we will provide hands on experience with one of the large public cloud platforms. In particular we will look into the different flavors of compute, storage and networking available, how best to use them to solve interesting problems, and how to do everything on a constrained budget. Students will get accounts and deliver project work on the public cloud while also learning some of the fundamental principles on how those different cloud systems work under the covers. It is recommended that students taking this class have learned the basic principles of Computer Systems such as those taught in DS210 and/or CS210.
  • CDS DS 563: Algorithmic Techniques for Taming Big Data
    Undergraduate Prerequisites: CDSDS110 OR CASCS111 OR ENGEK125 OR equivalent; CDSDS320 OR CASCS330 O R ENGEC330 OR equivalent; CDSDS121 OR CASCS132 OR CASMA242 OR equivale nt; CASMA115 OR CASCS327 OR ENGEK381 OR equivalent, OR conse - Growing amounts of available data lead to significant challenges in processing them efficiently. In many cases, it is no longer possible to design feasible algorithms that can freely access the entire data set. Instead of that we often have to resort to techniques that allow for reducing the amount of data such as sampling, sketching, dimensionality reduction, and core sets. Apart from these approaches, the course will also explore scenarios in which large data sets are distributed across several machines or even geographical locations and the goal is to design efficient communication protocols or MapReduce algorithms. The course will include a final project and programming assignments in which we will explore the performance of our techniques when applied to publicly available data sets.
    • Creativity/Innovation
    • Quantitative Reasoning II
  • CDS DS 574: Algorithmic Mechanism Design
    This course is an introduction to the interdisciplinary area of Algorithmic Mechanism Design: where computational perspectives are applied to economic problems, and economic techniques are brought to problems from computer science. We will explore a broad range of topics at the frontier of new research, starting with some of the fundamentals, such as welfare-maximizing auctions and types of Nash Equilibria. Throughout the semester, the class will also learn about prevalent topics such as (1) Data Science & Incentives, (2) Mechanism Design for Social Good, and (3) optimization and robustness in mechanism design. This course is designed as an introductory graduate - level course but is open to advanced undergraduates with permission from the instructor. While the formal undergraduate prerequisites are DS 120, DS 121, and DS122 and DS 320 (or equivalent), the course assumes strong proficiency in these topics for graduate students. Students should have: - Mathematical maturity and comfort with formal proofs - A solid understanding of probability (discrete and continuous random variables, moments, and conditional probability) - Familiarity with algorithms and computational efficiency. Undergraduate students interested in this course should contact Professor Goldner (goldner@bu.edu) before registering for the course.
  • CDS DS 587: Data Science in Human Contexts
    Where do statistical and computational insights lose historic social contexts? What are the impacts of datafication on individuals and communities? How do social and technical systems reify or challenge social hierarchies? Through a survey of academic literature, community-produced knowledge and coverage of technology in the popular press, this course will explore these themes as they relate to labor and automation, surveillance and the legal system, social media governance, and digital inclusion. Effective Fall 2024, this course fulfills a single unit in each of the following BU Hub areas: The Individual in Community, Oral and/or Signed Communication, Writing-Intensive Course.
    • The Individual in Community
    • Oral and/or Signed Communication
    • Writing-Intensive Course