Tufts UniversityWebsiteAcademic Catalog
BS Degree in Computer Science (A&S)source 1
CS Courses
- Machine Structure & Assembly-Language ProgrammingCS 40 (4)sysCS 40: Machine Structure & Assembly-Language Programming
In CS 40, you will learn about both high-level programming design principles and the low-level structure of computing machines. Design strategies will focus on modularity, abstraction, and separation of interface from implementation. The following topics on machine structure are covered: memory, caches, registers, machine arithmetic, and bitwise operations. We will also investigate the structure of assembly code, relocatable object code, binary machine code, and the translations between them. You will gain a deep understanding of all of these concepts via large-scale, realistic programming projects.
- ororBridge to Higher MathematicsMATH 65 (4)mathMATH 65: Bridge to Higher Mathematics
Introduction to rigorous reasoning, applicable across all areas of mathematics, to prepare for proof-based courses at the 100 level. Writing proofs with precise reasoning and clear exposition. Topics may include induction, functions and relations, combinatorics, modular arithmetic, graph theory, and convergence of sequences and series of real numbers.
- Programming LanguagesCS 105 (4)plsCS 105: Programming Languages
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.
- Computation TheoryCS 170 (4)theoryCS 170: Computation Theory
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.
Math/Stat Courses
- Linear AlgebraMATH 70 (4)mathMATH 70: Linear Algebra
Introduction to the theory of vector spaces and linear transformations over the real or complex numbers, including linear independence, dimension, matrix multiplication, similarity and change of basis, inner products, eigenvalues and eigenvectors, and some applications.