Computer Science
View courses in
- Computer Science
- All Departments
- African American & Black Diaspora Studies
- African Studies: Culture (in English)
- African Studies: East African Languages: Kiswahili (Swahili)
- African Studies: East, West & South African Languages: Amharic, Igbo, Mandinka, isiZulu
- African Studies: South African Languages: isiXhosa
- African Studies: West African Languages: Akan Twi, Wolof
- American Studies
- Anthropology
- Arabic: Language, Literature, Culture (including courses in English)
- Archaeology
- Astronomy
- Biochemistry & Molecular Biology
- Biology
- Chemistry
- Chinese: Language, Literature, Culture (including courses in English)
- Cinema & Media Studies
- Classical Studies: incl. Classical Civilization and Tradition (in English), Ancient Greek, and Latin
- Classical Studies: Modern Greek
- Comparative Literature
- Computer Science
- Core Curriculum
- Earth & Environment
- Economics
- Editorial Studies
- English
- First Year Experience
- French: Language, Literature, Linguistics, Culture (including courses in English)
- German: Language, Literature, Culture (including courses in English)
- Hebrew: Language, Literature, Culture (including courses in English)
- Hindi-Urdu: Language, Literature, Culture (including courses in English)
- History
- History of Art & Architecture
- Interdisciplinary Studies
- International Relations
- Internships
- Italian: Language, Literature, Culture (including courses in English)
- Japanese: Language, Literature, Culture (including courses in English)
- Jewish Studies
- Korean: Language, Literature, Culture (including courses in English)
- Linguistics
- Literary Translation
- Marine Science
- Mathematics & Statistics
- Natural Sciences
- Neuroscience
- Persian (Farsi): Language, Literature, Culture (including courses in English)
- Philosophy
- Physics
- Political Science
- Portuguese: Language, Literature, Culture (including courses in English)
- Psychological & Brain Sciences
- Religion
- Russian: Language, Literature, Culture (including courses in English)
- SEA Semester
- Senior Year Development
- Sociology
- Spanish: Language, Literature, Culture (including courses in English)
- Turkish: Language, Literature, Culture (including courses in English)
- Women’s, Gender & Sexuality Studies
- Writing
-
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. -
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. -
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. -
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. -
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. -
CAS CS 492: 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. -
CAS CS 498: Topics in CS - BU Bridge
Graduate Prerequisites: By permission only. Open only to selected incoming Masters students. - Builds foundations and prepares students with limited CS background for success in BU CS Masters programs. Provides a breadth of skills and depth of foundation needed in software, theory, and systems areas for graduate courses in computer science. -
CAS CS 501: Computer Science Practicum
Various applications of computer science that vary semester to semester. Please contact the CAS Computer Science Department for detailed descriptions. -
CAS CS 505: Introduction to Natural Language Processing
Undergraduate Prerequisites: (CASCS365) - Natural language processing (NLP) is a field of AI which aims to equip computers with the ability to intelligently process natural (human) language. This course explores statistical and machine learning techniques for the automatic analysis of natural language data. -
CAS CS 506: Data Science Tools and Applications
Undergraduate Prerequisites: CAS CS 108 or CAS CS 111; CAS CS 132 or CAS MA 242 or CAS MA 442. CAS CS 112 is recommended. - Covers practical skills in working with data and introduces a wide range of techniques that are commonly used in the analysis of data, such as clustering, classification, regression, and network analysis. Emphasizes hands-on application of methods via programming. Effective Fall 2019, this course fulfills a single unit in each of the following BU Hub areas: Research and Information Literacy, Teamwork/Collaboration. -
CAS CS 511: Formal Methods 1
Undergraduate Prerequisites: (CASCS320 OR CASCS330 OR CASCS350) - Introduction to formal specification, analysis, and verification of computer system behavior. Topics include formal logical reasoning about computer programs and systems, automated and semi-automated verification, and algorithmic methodologies for ascertaining that a software system satisfies its formally specified properties. Cannot be taken for credit in addition to the course with the same number formerly entitled "Object-Oriented Software Principles." -
CAS CS 519: Spark! Software Engineering X-Lab Practicum
Undergraduate Prerequisites: (CASCS411 OR CDSDS310) or equiv. experience in software development and consent of instructor . - Consent provided upon successful completion of pass/fail diagnostic test that assesses student readiness to take the 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. Effective Spring 2022, this course fulfills a single unit in each of the following BU Hub areas: Ethical Reasoning, Oral and/or Signed Communication, Teamwork/Collaboration. -
CAS CS 523: Deep Learning
Undergraduate Prerequisites: (CASCS542) - Mathematical and machine learning background for deep learning. Feed-forward networks., Backpropagation. Training strategies for deep networks. Architectures such as convolutional, recurrent, transformer networks. Deep reinforcement learning. Deep unsupervised learning. Exposure to modern programming tools and libraries. Other recent topics, time permitting. -
CAS CS 525: Compiler Design Theory
Undergraduate Prerequisites: (CASCS320) , or consent of instructor. - Graduate Prerequisites: (CASCS320 OR CASCS332) - Covers the basic mathematical theory underlying the design of compilers and other language processors and shows how to use that theory in practical design situations. Topics may include lexical analysis, parsing, syntax-directed translation, code optimization, and code generation.