Computer Science

  • CAS CS 552: Introduction to Operating Systems
    Undergraduate Prerequisites: (CASCS112 & CASCS210) and competency with C/C . CASCS350 is recommended, or consent of inst ructor. - 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 565: Algorithmic Data Mining
    Undergraduate Prerequisites: (CASCS112 & CASCS330 & CASCS365) - 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 595: Blockchains and their Applications
    Blockchain technology amalgamates technical tools, economic mechanisms, and system design patterns. It facilitates the construction of information systems with novel combinations of robustness, decentralization, privacy, cost, and flexibility. Beyond their initial use in cryptocurrencies such as Bitcoin, blockchains have become a promising and powerful technology in business, financial services, law, and other areas. This course covers blockchain technology in a comprehensive, systematic, and interdisciplinary way. It surveys major approaches, variants, and applications of blockchains in these areas. Beyond a solid grasp of the principles, the course aims to build familiarity with practice through numerous case studies and hands-on projects. To facilitate its interdisciplinary perspective, this course will be open to two categories of students: students with Computer Science background (graduate or advanced undergraduate), and graduate students with a substantial Business or Law background and a working knowledge of computer programming. Projects will be done in heterogeneous teams combining these categories, and will center on devising and analyzing sample applications of blockchain technology, including both prototype implementations and analysis of its business/legal implications. Topics covered: disentangling ¿blockchain¿; cryptographic prerequisites; assets and their representations; on-chain programming; state consensus; deployments; decentralized applications (Dapps/Web3); protocol governance; protocol revenue and business models; market structure; privacy and authorization; regulation. Notes for Questrom students : While this course is explicitly designed to accommodate Questrom students, its formal listing this year is as a Computer Science. Thus, to count as an elective towards Questrom graduate degree requirements, you need to submit a Graduate Elective Request.
  • 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.
  • CAS CS 660: Graduate Introduction to Database Systems
    Undergraduate Prerequisites: (CASCS112) CASCS350 recommended. - Graduate introduction to database management systems. Examines entity-relationship, relational, and object-oriented data models; commercial query languages: SQL, relational algebra, relational calculus, and QBE; file organization, indexing and hashing, query optimization, transaction processing, concurrency control and recovery, integrity, and security.
  • CAS CS 680: Graduate Introduction to Computer Graphics
    Undergraduate Prerequisites: (CASCS112) and CASCS132 or CASMA242. - Introduction to computer graphics algorithms, programming methods, and applications. Focus on fundamentals of two- and three-dimensional raster graphics: scan-conversion, clipping, geometric transformations, and camera modeling. Introduces concepts in computational geometry, computer-human interfaces, animation, and visual realism. Effective Fall 2019, this course fulfills a single unit in the following BU Hub area: Digital/Multimedia Expression.
    • Digital/Multimedia Expression
  • CAS CS 697: Computer Science Graduate Initiation
    Description: Graduate Prerequisite: enrollment in Computer Science Ph.D. or M.A. degree program.- Guidance for graduate students embarking on a research career in computer science. Topics include: research resources and methodologies, the research project development process, refereeing and reviewing, written and oral presentations, the dissertation, writing effective research proposals, ethics, and career planning. (Required of first-year doctoral candidates; open to interested CS Master's students.)
  • CAS CS 698: CS Teaching Fellow Training
    Covers topics needed to be successful computer science teaching fellow. These include goals, content, and methods of instruction in computer science, and general teaching/learning issues. Required once of all teaching fellows.
  • CAS CS 901: Internship in Computer Science
    Graduate Prerequisites: admission to a Master's program, including those with specializations, in the Department of Computer Science. - For Master's students in Computer Science, this internship course gives students substantive practical experience in the computing industry. This course may be taken once, with approval from the Director of the Master's Program. Bi-weekly and final reports required.
  • CAS CS 995: Directed Study: Computer Science
    Graduate-level directed study in a topic in computer science.