Courses

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 199: CDS Workshops (1 credit)
    DS 199/299 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. Spring 2022 A1: "Confronting Surveillance: Living In Data Science's Gaze" -- In this course we will be examining technologically enabled surveillance. The course will take the form of a lecture series, in which speakers will come in once a week to share their experiences and expertise. Speakers will include experts who study the history of surveillance and the ways in which technology enables surveillance. We will also host representatives of communities that experience technologically enabled surveillance to share their expert understandings of the ramifications of surveillance on individuals and communities. Finally, we will host speakers that examine the tension between data's use as a tool of surveillance and data's critical role in identifying oppressive systems. Students will be expected to complete weekly preparation for the lectures and actively attend the talks.
  • 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 299: CDS Workshops (2 credits)
    DS 199/299 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 -299 workshops will count for 2 credits. Fall 2021 A1: "Spark! Practicum Extension" -- This course, currently listed as CS200, is for students who have previously completed a 4-credit practicum course (Spark! Innovation Fellowship, Spark! ML Practicum, Spark! SE Practicum, etc.) and would like to continue work on their project for up to two additional semesters. The goal of this course is to allow time to complete a more robust output. At the beginning of semester, students map out a 13-week plan based on weekly sprints of work. Each week, the students meet with the instructor and other students in the program to report progress and get feedback on technical implementation challenges.
  • 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 473: The Justice Media Co-Lab Practicum
    This course matches students with interdisciplinary interests in teams that bring expertise in computing to bear on Justice Media problems, in collaboration with faculty and students from the Journalism Department in the College of Communication. The computational journalism projects pursued by these teams are provided by external media partners and are curated by Spark! These projects vary in size and scope and range from smaller projects that are approximately 60 hours of work to larger projects that can be as much as 100 hours of work per team member over the course of a semester. Projects involve teams of approximately 3 students from computing disciplines, and require partner organizations to dedicate approximately 45 minutes per week to work with the students, for the 8-12 weeks of project implementation.
    • Oral and/or Signed Communication
    • Research and Information Literacy
    • Teamwork/Collaboration
    • Creativity/Innovation
  • 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)
    The deployment of Artificial Intelligence systems in multiple domains of society raises fundamental challenges and concerns, such as accountability, liability, fairness, transparency and privacy. The dynamic nature of AI systems requires a new set of skills informed by ethics, law, and policy to be applied throughout the life cycle of such systems: design, development and deployment. It also involves ongoing collaboration among data scientists, computer scientists, lawyers and ethicists. Tackling these challenges calls for an interdisciplinary approach: deconstructing these issues by discipline and reconstructing with an integrated mindset, principles and practices between data science, ethics and law. This course aims to do so by bringing together students with diverse disciplinary backgrounds into teams that work together on joint tasks in an intensive series of in-class sessions. This unique course will bring together students from either computing and data science disciplines or law and public policy disciplines from multiple institution. Course page: https://learn.responsibly.ai/ Effective Spring 2022, this course fulfills a single unit in each of the following BU Hub areas: Ethical Reasoning, Social Inquiry II, Teamwork/Collaboration.
    • Ethical Reasoning
    • Social Inquiry II
    • Teamwork/Collaboration
  • 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.
    • Oral and/or Signed Communication
    • Research and Information Literacy
    • Teamwork/Collaboration
    • Creativity/Innovation
  • CDS DS 519: Spark! Software Engineering X-Lab Practicum
    Undergraduate Prerequisites: CASCS411 OR equivalent experience in software development and consentof instructor. Consent provided upon successful completion of pass/fail diagnostic test to assess student readiness for course.
    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.
  • CDS DS 537: Data Science for Conservation Decisions
    This course covers the application of quantitative methods to support conservation decisions. Ecosystem value mapping, systematic conservation planning, policy instrument design, rigorous impact evaluation, decision theory, data visualization. Implementations in state-of-the-art open-source software. Real-life case studies from the U.S. and abroad. Effective Fall 2021, this course fulfills a single unit in each of the following BU Hub areas: Digital/Multimedia Expression, Quantitative Reasoning II, Research and Information Literacy.
    • Quantitative Reasoning II
    • Digital/Multimedia Expression
    • Research and Information Literacy
  • CDS DS 539: Spark! Data Science X-Lab Practicum
    Undergraduate Prerequisites: CASCS506 or equivalent preferred. CDSDSDS110 OR CASCS111 OR CASCS112 OR equivalent. CDSDS121 OR CASCS132 OR equivalent required. Or instructor 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.
  • CDS DS 549: Spark! Machine Learning X-Lab Practicum
    Undergraduate Prerequisites: CASCS542 or CASCS505 or CASCS585 OR consent of instructor. Consent may include the successful completion of a pass/fail diagnostic test that will assess student readiness to take the course.
    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.
  • CDS DS 563: Algorithmic Techniques for Taming Big Data
    Undergraduate Prerequisites: CDSDS110 OR CASCS111 OR ENGEK125 OR equivalent; CDSDS320 OR CASCS330 OR ENGEC330 OR equivalent; CDSDS121 OR CASCS132 OR CASMA242 OR equivalent; 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. Effective Fall 2021, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation.
    • Quantitative Reasoning II
    • Creativity/Innovation
  • CDS DS 571: Tools Data Sci
    • Research and Information Literacy
    • Teamwork/Collaboration
  • CDS DS 590: CDS Research Initiation Seminar
    The first--year doctoral seminar is a required two--semester cohort--based course (4 credits) that must be taken during the first full academic year that a student enrolls in the PhD program in CDS. It is divided into two parts, each providing 2 credits. "CDS Research Initiation Seminar" is offered in the fall semester, and "CDS Research Development Seminar" is offered in the spring semester. The seminar serves three key purposes: 1. It introduces students to the scholarship of (and the rich set of research projects pursued by) the CDS faculty and their guests through colloquia pitched to a multidisciplinary audience. 2. It guides students through the challenging transition into the graduate program in CDS by introducing them to the variety of skills and capacities that are needed to succeed as a scholar. 3. It engenders a sense of community amongst the group of students entering the program as a cohort. 4 cr. Either sem.
  • CDS DS 599: CDS Research Development Seminar
    The first--year doctoral seminar is a required two--semester cohort--based course (4 credits) that must be taken during the first full academic year that a student enrolls in the PhD program in CDS. It is divided into two parts, each providing 2 credits. "CDS Research Initiation Seminar" is offered in the fall semester, and "CDS Research Development Seminar" is offered in the spring semester. The seminar serves three key purposes: 1. It introduces students to the scholarship of (and the rich set of research projects pursued by) the CDS faculty and their guests through colloquia pitched to a multidisciplinary audience. 2. It guides students through the challenging transition into the graduate program in CDS by introducing them to the variety of skills and capacities that are needed to succeed as a scholar. 3. It engenders a sense of community amongst the group of students entering the program as a cohort. 4 cr. Either sem.
  • CDS DS 644: Machine Learning for Business Analytics
    The internet has become a ubiquitous channel for reaching consumers and gathering massive amounts of business-intelligence data. This course will teach students how to perform hands-on analytics on such datasets using modern machine learning techniques through series a lectures and in- class team exercises. Students will analyze data using the R programming language, derive actionable insights from the data, and present their findings. The goal of the course is to create an understanding of modern analytics methods, and the types of problems they can be applied to. The course is open to students with or without a technical background who are interested in analytics. While no prior programming experience is required, students will learn the fundamentals of the R programming language to build and evaluate predictive models.
  • CDS DS 649: Advanced Topics in DS
  • CDS DS 657: 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 990: Computing & Data Sciences Lab Rotation
    Experience with translational or applied research pursued in an industrial or laboratory setting is important for in-the-field graduate training. To provide this training, graduate students may complete a lab rotation that provides them with the opportunity to (1) explore lab settings and industrial collaborations that may be relevant to their thesis work; (2) experience the diversity of applied and in-the-field research styles in computing and data sciences; and (3) expand their external network of potential research collaborators. Before beginning an external lab rotation, students are expected to develop a plan for the scope and expected outcomes of the work to be pursued under the supervision of a named lab rotation advisor. This plan must be pre-approved by the student's academic, research, or thesis advisor in CDS. While desirable, it is neither required nor expected that the rotation will result in completion of a substantial body of work. Lab rotation credits will be noted on the student transcript as a 4-credit pass/fail independent study course numbered as DS-990.
  • CDS DS 991: Computing & Data Sciences Research Rotation 1
    Experience with diverse research group projects and styles are an essential part of graduate training. To provide this training, graduate students are expected to complete a series of research rotations that provide them with the opportunity to (1) explore research groups where they may pursue future thesis work; (2) experience the diversity of sub-disciplines and research styles in computing and data sciences; and (3) expand their network of potential research collaborators. Before beginning a rotation, students are expected to discuss their plans with the faculty leadership of the BU research group they would like to join, leading to a clear definition of the scope and expected outcomes of the work pursued under the supervision of a named rotation advisor. While desirable, it is neither required nor expected that the rotation will result in completion of a substantial body of work. Research rotation credits will be noted on the student transcript as a 4-credit independent study course numbered as DS-991 (for Fall semester rotations) or DS-992 (for Spring semester rotations).