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.

  • CAS CS 544: Multimodal Machine Learning
    Prerequisite: CASCS 542. - This course introduces methods for fusing multiple data sources to perform downstream tasks, covering machine learning and statistical techniques to understand relationships between modalities. Students also explore challenges like data scarcity, positive-unlabeled learning, structured prediction, and system evaluation.
  • CAS CS 548: Advanced Cryptography
    Undergraduate Prerequisites: (CASCS 538) or consent of instructor. - Continuation of CASCS 538. Advanced techniques to preserve confidentiality and authenticity against active attacks, zero-knowledge proofs; Fiat-Shamir signature schemes; non-malleable public-key encryption; authenticated symmetric encryption; secure multiparty protocols for tasks ranging from Byzantine agreement to mental poker to threshold cryptography.
  • CAS CS 549: Spark! Machine Learning X-Lab Practicum
    Undergraduate Prerequisites: (CASCS505 OR CASCS542 OR CASCS585) or consent of instructor. Consent provided upon successful completion of pass/fail diagnostic test that will assess student readiness to tak e 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. 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
  • CAS CS 551: Streaming and Event-driven Systems
    Prerequisites: CASCS 350 or CASCS 351. - CASCS 460 is recommended. Fundamentals of stream processing and event-driven systems. Topics include Pub/Sub systems; Distributed streaming systems; Dataflow programming; Fault-tolerance and processing guarantees; State management; Windowing semantics; Complex event processing; Microservice architectures; Serverless functions; Examines current and emerging architectures and use-cases.
  • CAS CS 552: Introduction to Operating Systems
    Undergraduate Prerequisites: (CASCS 112 & CASCS 210) and competency with C/C++. CASCS 350 is recommended, or consent of instructor. - Examines process synchronization; I/O techniques, buffering, file systems; processor scheduling; memory management; virtual memory; job scheduling, resource allocation; system modeling; and performance measurement and evaluation.
  • CAS CS 561: Data Systems Architectures
    Undergraduate Prerequisites: CAS CS 210 or equivalent and CAS CS 460/660. - Discusses the design of data systems that can address the modern challenges of managing and accessing large, ever-growing, diverse sets of data, often streaming from heterogenous sources, in the context of continuously evolving hardware and software. We use examples from several data management areas including relational systems, distributed database systems, key value stores, newSQL and NoSQL systems, data systems for machine learning (and machine learning for data systems), interactive analytics, and data management as a service. Effective Spring 2021, this course fulfills a single unit in each of the following BU Hub areas: Oral and/or Signed Communication, Research and Information Literacy.
    • Oral and/or Signed Communication
    • Research and Information Literacy
  • CAS CS 562: Advanced Database Applications
    Undergraduate Prerequisites: (CASCS460) or consent of instructor. - Research issues in the design and implementation of modern database systems. Spatial, temporal, and spatiotemporal index structures. Indexing methods for image and multimedia databases and data warehouses. New data analysis techniques for large databases, clustering and rule discovery for very large datasets.
  • CAS CS 565: Algorithmic Data Mining
    Undergraduate Prerequisites: (CASCS 112 & CASCS 330 & CASCS 365). - Introduction to data mining concepts and techniques. Topics include association and correlation discovery, classification and clustering of large datasets, outlier detection. Emphasis on the algorithmic aspects as well as the application of mining in real-world problems.
  • CAS CS 581: Computational Fabrication
    Undergraduate Prerequisites: CAS CS 112 and CAS CS 132 or CAS MA 242; CAS 480/GRS CS 680 recommende d. - Introduces 3D printing technology and computational methods for creating physical prototypes from geometric models. Student-led paper presentations cover research from prominent Computer Graphics and Human Computer Interaction conferences. Culminates in a design project involving a computational component and physical prototyping.
  • CAS CS 582: Geometry Processing
    Undergraduate Prerequisites: CAS CS 112 (or equivalent), CAS CS 132 or CAS MA 242 (or equivalent), CAS MA 225 (or equivalent). - Algorithms and data structures for digital processing of triangle meshes and point clouds. Topics include: surface smoothing, parametrization, and deformation; half- edge data structures; discretized curvature measures; and spectral analysis of surfaces. Numerical methods for linear algebra and optimization also discussed.
  • CAS CS 585: Image and Video Computing
    Undergraduate Prerequisites: (CASCS132 OR CASMA242) and CASCS112 or equivalent programming experience and familiarity with calculus. - Introduction to images and video as multimedia data types and algorithms for image and video understanding based on color, shading, stereo, and motion. Topics include face recognition, human-computer interfaces, animal and vehicle tracking, and medical image analysis.
  • CAS CS 586: Advanced Topics in Computer Vision
    Prerequisites: CASCS 541 or CASCS 542; and CASCS 585. - This seminar course covers current computer vision and machine learning papers, focusing on deep learning, generative models, multimodal learning, 3D vision, fairness, safety, and reinforcement learning. It emphasizes analyzing methods, understanding challenges, and exploring future research directions.
  • CAS CS 598: Advanced Topics in Computer Science - LEC DIS Version
    Various advanced topics in computer science that vary semester to semester. Please contact the CAS Computer Science Department for detailed descriptions.
  • CAS CS 599: Advanced Topics in Computer Science
    Various advanced topics in computer science that vary semester to semester. Please contact the CAS Computer Science Department for detailed descriptions.
  • CAS CS 611: Object-oriented Software Principles and Design
    Graduate Prerequisites: Graduate standing or permission of instructor. - Introduces principles and techniques of object-oriented programming. Focuses on specification, programming, analysis of large-scale, reliable, and reusable Java software using object-oriented design. Includes object models, memory models, inheritance, exceptions, namespaces, data abstraction, design against failure, design patterns, reasoning about objects.
  • CAS CS 630: Graduate Algorithms
    Undergraduate Prerequisites: (CASCS330) - Examines advanced algorithmic topics and methods for CS graduate students, including matrix decomposition techniques and applications, linear programming, fundamental discrete and continuous optimization methods, probabilistic algorithms, NP-hard problems and approximation techniques, and algorithms for very large data sets.
  • CAS CS 640: Artificial Intelligence
    Undergraduate Prerequisites: (CASCS330) and CASCS132 or CASMA242, or consent of instructor. - Studies computer systems that exhibit intelligent behavior, in particular, perceptual and robotic systems. Topics include human computer interfaces, computer vision, robotics, game playing, pattern recognition, knowledge representation, planning.
  • CAS CS 651: Distributed Systems
    Undergraduate Prerequisites: (CASCS112 & CASCS210) - Programming-centric introduction to how networks of computers are structured to operate as coherent single systems. Introducing principles of architecture, processes, communications, naming, synchronization, consistency and replication, fault tolerance and security, and paradigms such as web-based, object-based, file system, and consistency-based.
  • CAS CS 654: Embedded Systems Development
    Lab-based course exploring concepts, techniques, best practices, and tools for the development of connected embedded systems, including: signal processing; sensing, control and actuation; programming and debugging on microprocessors; 1/0 interfacing and development of device drivers; and time-critical data handling.
  • CAS CS 655: Graduate Computer Networks
    Graduate Prerequisites: (CASCS112 & CASCS210) CAS CS350 is recommended; or consent of instructor. - Concepts underlying the design of high-performance computer networks and scalable protocols. Topics include Internet design principles and methodology, TCP/IP implementation, packet switching and routing algorithms, multicast, quality of service considerations, error detection and correction, and performance evaluation.