Computer Science
View courses in
- Computer Science
- All Departments
- African American & Black Diaspora Studies
- African Studies: African Languages: Akan Twi, Amharic, Igbo, Kiswahili (Swahili), Wolof, isiXhosa, Yoruba, isiZulu
- African Studies: Culture (in English)
- 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 Courses
- 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 101: Introduction to Computing
The computer is presented as a tool that can assist in solving a broad spectrum of problems. This course provides a general introduction designed to dispel the mystery surrounding computers and introduces the fundamental ideas of programs and algorithms. Carries MCS divisional credit in CAS. Effective Fall 2018, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Digital/Multimedia Expression. Effective Fall 2022, this course fulfills a single unit in each of the following BU Hub areas: Digital/Multimedia Expression, Quantitative Reasoning II, Critical Thinking. -
CAS CS 103: Introduction to Internet Technologies and Web Programming
Introduction to the basic architecture and protocols underlying the operation of the Internet with an emphasis on Web design, Web application programming, and algorithmic thinking. General familiarity with the Internet is assumed. Effective Fall 2018, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Digital/Multimedia Expression. Effective Fall 2022, this course fulfills a single unit in each of the following BU Hub areas: Digital/Multimedia Expression, Quantitative Reasoning II, Creativity/Innovation. -
CAS CS 105: Introduction to Databases and Data Mining
General introduction to computational methods for processing collection of data. Topics include databases and data modeling; writing simple programs to process data; data mining and data visualization. Applications are drawn from business, the arts, the life sciences, and social sciences. Carries MCS divisional credit in CAS. Effective Fall 2018, this course fulfills a single unit in the following BU Hub area: Quantitative Reasoning II. Effective Fall 2022, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking. -
CAS CS 108: Programming for Non-CS Majors
A rigorous introduction to programming for students not majoring in computer science. Covers a broad set of topics about application development, including basic programming concepts, testing and debugging, abstraction and design, and an introduction to data analytics. Effective Fall 2018, this course fulfills a single unit in the following BU Hub area: Quantitative Reasoning I. -
CAS CS 111: Introduction to Computer Science 1
The first course for computer science majors and anyone seeking a rigorous introduction. Develops computational problem-solving skills by programming in the Python language, and exposes students to variety of other topics from computer science and its applications. Carries MCS divisional credit in CAS. Effective Fall 2018, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking. -
CAS CS 112: Introduction to Computer Science 2
Undergraduate Prerequisites: (CASCS111) or equivalent. - Covers advanced programming techniques and data structures. Topics include recursion, algorithm analysis, linked lists, stacks, queues, trees, graphs, tables, searching, and sorting. Carries MCS divisional credit in CAS. Effective Fall 2018, this course fulfills a single unit in the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking. -
CAS CS 115: Academic Writing in Computer Science
Undergraduate Prerequisites: CAS WR 120 or equivalent; CAS CS 111. - Pre-req: WR 120 or equivalent, CS 111. This 2-credit course offers a Writing Intensive unit through the topic of computer science. Students engage with readings and discussions in current computer science issues. The course focuses on teaching critical reading, creating a strong argument, and engaging with a variety of sources. Effective Spring 2023, this course fulfills a single unit in the following BU Hub area: Writing-Intensive Course. -
CAS CS 131: Combinatoric Structures
Fundamentals of logic (the laws of logic, rules of inference, quantifiers, proofs and inductive reasoning), fundamental principles of counting (permutations, combinations), set theory, relations and functions, principles for manipulating basic combinatoric structures. Effective Fall 2018, this course fulfills a single unit in the following BU Hub area: Quantitative Reasoning II. Effective Fall 2019, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Critical Thinking. -
CAS CS 132: Geometric Algorithms
Undergraduate Prerequisites: (CASCS111 & CASMA123) - Basic concepts, data structures, and algorithms for geometric objects. Examples of topics: Cartesian geometry, transformations and their representation, queries and sampling, triangulations. Emphasis on rigorous reasoning and analysis, advancing algorithmic maturity and expertise in its application. Effective Fall 2019, this course fulfills a single unit in the following BU Hub areas: Quantitative Reasoning II, Digital/Multimedia Expression. -
CAS CS 210: Computer Systems
Undergraduate Prerequisites: (CASCS112) - Fundamental concepts of computer systems and systems programming. Hardware fundamentals including digital logic, memory systems, processor design, buses, I/O subsystems, data representations, computer arithmetic, and instruction- set architecture. Software concepts including assembly language programming, operating systems, assemblers, linkers, and systems programming in C. Effective Fall 2018, this course fulfills a single unit in the following BU Hub area: Quantitative Reasoning II. -
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. -
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. -
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. -
CAS CS 330: Introduction to Analysis of Algorithms
Prerequisites: CASCS 112 and CASCS 131 and one of the following: CASCS 132/MA242 or CASCS 235/MA294 or CASCS 237/MA581. - Examines the basic principles of algorithm design and analysis; asymptotic analysis; graph algorithms; greedy algorithms; dynamic programming; network flows; polynomial- time reductions; NP-hard and NP-complete problems. Effective Fall 2018, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Critical Thinking. -
CAS CS 350: Fundamentals of Computing Systems
Undergraduate Prerequisites: CASCS 210 - 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. NOTE: CASCS 350 and CASCS 351 fulfill the same major requirement (“take two of the 3 courses in CS 320, CS 332, CS 350”). Students are allowed to take both CS 350 and CS 351 for credit. In this case one of the two will be applied towards electives in the major. -
CAS CS 351: Distributed Systems
Prerequisites: CASCS 210. - Covers fundamental concepts of distributed computing (logical clocks, causal order, snapshots, consensus, atomic commit), communication and synchronization primitives, concurrency control, task and data parallelism, data consistency, replication, and fault tolerance. NOTE: CASCS 350 and CASCS 351 fulfill the same major requirement (“take two of the 3 courses in CS 320, CS 332, CS 350”). Students are allowed to take both CS 350 and CS 351 for credit. In this case one of the two will be applied towards electives in the major. -
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, course descriptions for each semester can be found at https://www.bu.edu/cs/undergraduate/courses/topics/ Different sections of the course may be taken for credit as topics vary. -
CAS CS 392: Topics in Computer Science
Topics vary, course descriptions for each semester can be found at https://www.bu.edu/cs/undergraduate/courses/topics/ Different sections of the course may be taken for credit as topics vary.