Computer Science

  • GRS CS 611: Object-oriented Software Principles and Design
    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.
  • GRS CS 630: Graduate Algorithms
    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.
  • GRS CS 640: Artificial Intelligence
    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.
  • GRS CS 651: Distributed Systems
    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.
  • GRS 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.
  • GRS CS 655: Graduate Computer Networks
    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.
  • GRS CS 660: Graduate Introduction to Database Systems
    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.
  • GRS CS 680: Graduate Introduction to Computer Graphics
    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
  • GRS CS 697: Computer Science Graduate Initiation
    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.)
  • GRS 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.
  • GRS CS 791: Advanced Topics in Computer Science
    Seminar restricted to graduate students; topics of mutual interest to faculty and students and not currently available in the graduate program.
  • GRS CS 901: Internship in 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.
  • GRS CS 910: Directed Study: Systems
    Graduate-level directed study in a topic in systems.
  • GRS CS 911: Directed Study: Systems
    Graduate-level directed study in a topic in systems.
  • GRS CS 920: Directed Study: Programming Languages
    Graduate-level directed study in a topic in programming languages.
  • GRS CS 921: Directed Study: Programming Languages
    Graduate-level directed study in a topic in programming languages.
  • GRS CS 930: Directed Study: Algorithmic Information Theory
    Graduate-level directed study in a topic in algorithmic information theory.
  • GRS CS 931: Directed Study: Algorithmic Information Theory
    Graduate-level directed study in a topic in algorithmic information theory.
  • GRS CS 932: Directed Study: Algorithms
    Graduate-level directed study in a topic in algorithms.
  • GRS CS 933: Directed Study: Algorithms
    Graduate-level directed study in a topic in algorithms.

Back to full list of Courses