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.

View courses in

  • CAS CS 235: Algebraic Algorithms
    Undergraduate Corequisites: CASCS132 recommended. - Basic concepts and algorithms for manipulation of algebraic objects, such as residues, matrices, polynomials; and applications to various CS areas, such as cryptography and fault-tolerance. Emphasis on rigorous reasoning and analysis. Effective Fall 2018, this course fulfills a single unit in the following BU Hub area: Quantitative Reasoning II.
    • Quantitative Reasoning II
  • CAS CS 237: Probability in Computing
    Undergraduate Prerequisites: (CASCS131) - Introduction to basic probabilistic concepts and methods used in computer science. Develops an understanding of the crucial role played by randomness in computing, both as a powerful tool and as a challenge to confront and analyze. Emphasis on rigorous reasoning, analysis, and algorithmic thinking. Effective Fall 2018, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Critical Thinking.
    • Critical Thinking
    • Quantitative Reasoning II
  • CAS CS 320: Concepts of Programming Languages
    Undergraduate Prerequisites: (CASCS131 & CASCS210) - Concepts involved in the design of programming languages. Bindings, argument transmission, and control structures. Environments: compile-time, load-time, and run-time. Interpreters. Effective Fall 2019, this course fulfills a single unit in the following BU Hub area: Creativity/Innovation.
    • Creativity/Innovation
  • CAS CS 330: Introduction to Analysis of Algorithms
    Undergraduate Prerequisites: CASCS112, CASCS131, and CASCS132; or CASCS235 or CASCS237 - Examines the basic principles of algorithm design and analysis; graph algorithms; greedy algorithms; dynamic programming; network flows; polynomial- time reductions; NP-hard and NP-complete problems; approximation algorithms; randomized algorithms. Effective Fall 2018, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Critical Thinking.
    • Critical Thinking
    • Quantitative Reasoning II
  • CAS CS 332: Elements of the Theory of Computation
    Undergraduate Prerequisites: (CASCS330) - The basic concepts of the theory of computation are studied. Topics include models of computation, polynomial time, Church's thesis; universal algorithms, undecidability and intractability; time and space complexity, nondeterminism, probabilistic computation and reductions of computational problems.
  • CAS CS 350: Distributed Systems
    Undergraduate Prerequisites: (CASCS210) - Programming-centric introduction to computer systems. The course discusses system design principles, performance analysis, communication and synchronization primitives, concurrency control, database transactions, data consistency, task and data parallelism, replication, fault tolerance, and distributed consensus. Part of the discussion includes case studies of real systems from industry. All programming assignments will be in Go.
  • CAS CS 357: Introduction to Information Security
    Undergraduate Prerequisites: (CASCS210) or consent of instructor. - Provides basic concepts needed for understanding information security. Discusses vulnerabilities, design principles, basic algorithms, security definitions, and analytical methods. Covers system security, network security, web security, cryptography, and data privacy. Also addresses social, ethical, and policy aspects of security.
  • CAS CS 365: Foundations of Data Science
    Undergraduate Prerequisites: CAS CS112 and CAS CS131 and CAS CS132 and CAS CS237 (or equivalent). O r consent of instructor. Recommended: CAS CS330. - Lays the foundation towards more advanced data-intensive classes, such as Data Science, Machine Learning, Data Mining. The course provides an understanding of the fundamentals and the practical implications of concepts. It covers both theoretical skills as well as working/practical knowledge.
  • CAS CS 391: Topics in Computer Science
    Topics vary.
  • CAS CS 392: Topics in Computer Science
    May be repeated for credit as topics vary.
  • CAS CS 401: Senior Independent Work
    Undergraduate Prerequisites: approval of the Honors Committee. - Effective Fall 2022, this course fulfills a single unit in the following BU Hub area: Research and Information Literacy.
    • Research and Information Literacy
  • CAS CS 402: Senior Independent Work
    Undergraduate Prerequisites: approval of the Honors Committee. - Effective Spring 2023, this course fulfills a single unit in the following BU Hub area: Oral and/or Signed Communication.
    • Oral and/or Signed Communication
  • CAS CS 411: Software Engineering
    Undergraduate Prerequisites: (CASCS112) - Introduction to the construction of reliable software. Topics may include software tools, software testing methodologies, retrofitting, regression testing, structured design and structured programming, software characteristics and quality, complexity, entropy, deadlock, fault tolerance, formal proofs of program correctness, chief program teams, and structured walk-throughs. Effective Fall 2019, this course fulfills a single unit in each of the following BU Hub area: Teamwork/Collaboration.
    • Teamwork/Collaboration
  • CAS CS 412: Full-Stack Application Design and Development
    Undergraduate Prerequisites: (CASCS111 & CASCS112 & CASCS411) or consent of instructor. - Introduction to design and development of full-stack web applications. Topics include asynchronous programming; non-relational data stores; use of APIs; serverless (cloudbased) applications; decoupled client/server architectures; performance; testing; packaging; and deployment. Examines current and proposed technology stacks.
  • CAS CS 440: Introduction to Artificial Intelligence
    Undergraduate Prerequisites: (CASCS112 & CASCS132) - Introduction to 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 454: Embedded Systems Development
    Undergraduate Prerequisites: (CASCS210) - 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 455: Computer Networks
    Undergraduate Prerequisites: (CASCS210) - 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 460: Introduction to Database Systems
    Undergraduate Prerequisites: (CASCS112) - 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 480: Introduction to Computer Graphics
    Undergraduate Prerequisites: (CASCS112 & CASCS132) - 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 491: Directed Study
    Undergraduate Prerequisites: sophomore or higher standing, consent of instructor, and a completed D irected Study Application form. - Independent study in Computer Science under the guidance of a faculty member. Student and supervising faculty member arrange and document expectations and requirements. Examples include internship opportunities for academic credit, in-depth study of a special topic, or independent research project.