Bachelor of Science in Computer Science (School of Engineering)
Computer science that delivers the problem solving skills to meet a fast-paced world.
Tufts Department of Computer Science gives you the theory to think deeply, the engineering skills to build confidently, and the research community to tackle problems that matter — starting from day one, wherever your experience level begins.
Program Highlights:
- Faculty-led research from Year One
- Three entry points into the major
- Two-semester senior capstone
- Interdisciplinary depth across Tufts
Program Overview
The BSCS requires 120 semester hours. Beyond your 14 CS courses, the School of Engineering asks for a broad foundation in math, science, humanities, and engineering fundamentals. Here's the big picture:
| Area | What's Required | Courses |
|---|---|---|
| Mathematics | Calculus sequence (Math 32, 34, 42), Linear Algebra (Math 70), and a probability or statistics course | 5 |
| Natural Science | Two Engineering-appropriate sciences, plus one science/math elective, covering at least two of the following three departments: Physics, Chemistry, or Biology. | 3 |
| Engineering Core | EN 1, EN 3 (starting for class of 2030), and CS 10 or equivalent. | 4 |
| Humanities, Arts & Social Sciences | English 1 or 3, EM 52, one Humanities course, one Social Sciences course, one Ethics course (Phil 24, EM 54, or Phil 57), plus additional Humanities, Arts, and Social Sciences courses (24 SHU total). | ~8 |
View B.S. in Computer Science Degree Sheets
Computer Science Curriculum
15 courses take you from foundational programming through algorithms, theory, and systems — culminating in a two-semester capstone where you build something real. Here's how the pieces fit together.
7+ electives you choose
2 semesters of capstone
Introductory Sequence
Three ways in — depending on your experience, you start at a different point:

CS 10 covers the fundamentals that CS 11 moves through quickly. Students with prior programming experience can skip it by passing a placement exam offered each summer and during the academic year. Students with strong C++ backgrounds (including pointers and classes) may begin directly with CS 15 with instructor consent. Engineering students can also use ES 2 to satisfy the CS 11 prerequisite.
Core Courses
After the introductory sequence, every BSCS student takes these required courses:
-
Sets, relations and functions, logic and methods of proof, combinatorics, graphs and digraphs.
-
Structure of machine-level data and code, including memory, cache, registers, machine arithmetic, and bitwise operations. Encapsulating machine functionality through interfaces and abstract data types. Structure of assembly code, relocatable object code, and binary machine code, and the translations between them. Applications of machine-level operations and code translations in programming projects.
-
Principles and application of computer programming languages. Emphasizes ideas and techniques most relevant to practitioners, but includes foundations crucial for intellectual rigor: abstract syntax, lambda calculus, type systems, dynamic semantics. Case studies, reinforced by programming exercises. Grounding sufficient to read professional literature.
-
Introduction to the study of algorithms. Strategies such as divide-and-conquer, greedy methods, and dynamic programming. Graph algorithms, sorting, searching, integer arithmetic, hashing, and NP-complete problems.
-
Models of computation: Turing machines, pushdown automata, and finite automata. Grammars and formal languages, including context-free languages and regular sets. Important problems, including the halting problem and language equivalence theorems.
Choose 7+ CS Electives
At least two must be numbered above 100. At least 2 credit hours must cover the social context of computing. At least 2 courses must cover computer systems. One CS elective can optionally be fulfilled with an approved upper-level Math course. Specific elective course options can be found on the degree sheet.
This is where you specialize: AI, security, graphics, systems, HCI — explore what excites you.
-
- Visit the Policies and Documentation webpage for official program requirements.
- Any course (or category of courses) marked with a * on the degree sheet must be taken for letter grade.
- Any course marked with a ** on the degree sheet must be completed with a C− or better.
- At most 3 SHU of independent study/research or 4 SHU of senior thesis may count as a CS elective.
- Internship credit (CS 99) cannot be used as a CS elective.
Ready to dig deeper?
Explore current course offerings, download your degree sheet, or get in touch with the department.
Program Coordinator: Associate Teaching Professor Dave Lillethun