CS Curricula

←All schools

Tufts UniversityWebsiteAcademic Catalog

Majors

Courses

source 1source 2source 3source 4

CS 11: Introduction to Computer Science (4) intro

The study of computer science centers on two complementary aspects of the discipline. First, computer science is fundamentally concerned with the problem-solving methodologies it derives from its foundational fields: the design principles of engineering, mathematical theory, and scientific empirical study. Second, these methodologies are applied in the complex context of a modern day computing system. In this course we will address both of these important aspects. As a means for developing your design skills, we will discuss the fundamental features of a high level, general purpose programming language -- namely C++-- and learn how to use it as a tool for problem solving. We will also consider the performance of solutions, and how to apply both analytical and empirical assessment techniques. Finally, we will explore the Unix operating system as a context for problem solving. (Additional 2 hr weekly lab time scheduled at first class meeting.)

CS 15: Data Structures (4) intro

A second course in computer science. Data structures and algorithms are studied through major programming projects in the C++ programming language. Topics include linked lists, trees, graphs, dynamic storage allocation, and recursion.

CS 40: Machine Structure & Assembly-Language Programming (4) sys

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.

CS 61: Discrete Mathematics (4) math

Sets, relations and functions, logic and methods of proof, combinatorics, graphs and digraphs.

CS 97: Senior Capstone Project I (4) capstone

Requirements analysis and design of a senior capstone project. Requirements analysis and elicitation methods, and prototyping. Design principles and methods, including designing for usability, security, testability, performance, and scaling. Project management and planning, including cost and effort estimation. Writing effective documentation.

CS 98: Senior Capstone Project II (4) capstone

Implementation and testing of the project designed in CS 97. Implementation tools, strategies, and platforms. Testing and debugging methodologies. Maintenance and release management. Legal, ethical, and social impacts of computing.

CS 105: Programming Languages (4) pls

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.

CS 160: Algorithms (4) algs

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.

CS 170: Computation Theory (4) 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 32: Calculus I (4) math

Differential and integral calculus: limits and continuity, the derivative and techniques of differentiation, extremal problems, related rates, the definite integral, Fundamental Theorem of Calculus, derivatives and integrals of trigonometric functions, logarithmic and exponential functions.

MATH 34: Calculus II (4) math

Applications of the integral, techniques of integration, separable differential equations, improper integrals. Sequences, series, convergence tests, Taylor series. Polar coordinates, complex numbers.

MATH 39: Honors Calculus I-II (8) math

Intended for students who have had at least the AB syllabus of advanced placement mathematics in secondary school. Stresses the theoretical aspects of the subject, including proofs of basic results. Topics include: convergence of sequences and series; continuous functions, Intermediate Value and Extreme Value Theorems; definition of the derivative, formal differentiation, finding extrema, curve-sketching, Mean Value Theorems; basic theory of the Riemann integral, Fundamental Theorem of Calculus and formal integration, improper integrals; Taylor series, power series and analytic functions.

MATH 42: Calculus III (4) math

Vectors in two and three dimensions, applications of the derivative of vector-valued functions of a single variable. Functions of several variables, continuity, partial derivatives, the gradient, directional derivatives. Multiple integrals and their applications. Line integrals, Green's theorem, divergence theorem, Stokes’ theorem.

MATH 44: Honors Calculus III (4) math

Analysis of real- and vector-valued functions of one or more variables using tools from linear and multilinear algebra; stress is on theoretical aspects of the subject, including proofs of basic results.

MATH 61: Discrete Mathematics (4) math

Sets, relations and functions, logic and methods of proof, combinatorics, graphs and digraphs.

MATH 65: Bridge to Higher Mathematics (4) math

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.

MATH 70: Linear Algebra (4) math

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.

MATH 166: Statistics (4) math

Statistical estimation, sampling distributions of estimators, hypothesis testing, regression, analysis of variance, and nonparametric methods.

EE 24: Probabilistic Systems Analysis (3) engr

Development of analytical tools for the modeling and analysis of random phenomena with application to problems across a range of engineering and applied science disciplines. Probability theory, sample and event spaces, discrete and continuous random variables, conditional probability, expectations and conditional expectations, and derived distributions. Sums of random variables, moment generating functions, central limit theorem, laws of large numbers. Statistical analysis methods including hypothesis testing, confidence intervals and nonparametric methods.

EE 104: Probabilistic Systems Analysis (3) engr

Advanced analysis in probabilistic systems with strong emphasis on theoretical methods. Development of analytical tools for the modeling and analysis of random phenomena with application to problems across a range of engineering and applied science disciplines. Probability theory, sample and event spaces, discrete and continuous random variables, conditional probability, expectations and conditional expectations, and derived distributions. Sums of random variables, moment generating functions, central limit theorem, laws of large numbers. Statistical analysis methods including hypothesis testing, confidence intervals and nonparametric methods.

BIO 13: Cells And Organisms (4) sci

An introductory course primarily for prospective biology majors. General biological principles and widely used methods related to current advances in cell and molecular biology, genetics, immunology, plant and biomedical sciences. A&S students, BSCHE, BSEvE, and BSE-EH majors enrolling in BIO 13 must concurrently enroll in BIO 15, Cells and Organisms Lab. SOE students who are planning a second major in Biology or to apply for medical school should concurrently enroll in BIO 15. Credit cannot be received for both BIO 13 and BME 33.

BIO 132: Biostatistics (4) sci

An examination of statistical methods for designing, analyzing, and interpreting biological experiments and observations. Topics include probability, parameter estimation, inference, correlation, regression, analysis of variance, and nonparametric methods. (Group Q.)

CHEM 1: General Chemistry I with Lab (3) sci

Atomic and molecular structure, chemical nomenclature, intermolecular forces and states of matter, the relation of structure and bonding to PHYical and chemical properties of matter, patterns of chemical reactions, stoichiometry, thermochemistry, and properties of solutions.

CHEM 16: Chemistry of Materials (3) sci

An introductory course investigating the fundamentals and principles of chemistry through exploration of modern materials, e.g., thin films, superconductors, ultrasmall structures, modern electronics and photonics. Topics include atomic and molecular structure, intermolecular forces, ionic and covalent bonding.

PHY 11: General Physics with Lab (4) sci

Principles of classical mechanics, fluids, heat, thermodynamics. Lectures, recitations, laboratories. Calculus based.

PHY 153: Statistical Mechanics (4) sci

Principles and applications of classical and quantum statistical mechanics; microcanonical, canonical, and grand canonical ensembles; Maxwell-Boltzmann, Bose-Einstein, and Fermi-Dirac distributions; statistical basis of thermodynamics; and applications.

BME 141: Analytical Tools For Biomedical Engineering (4)

Statistical methods of data analysis with emphasis upon biomedical applications. Topics include Fourier analysis, probability, Bayes' theorem, interpretation of diagnostic tests (sensitivity, specificity, predictive values), random variables, covariance and correlation, normal distribution, samples, statistical tests, linear systems, spectral analysis, correlation, coherence, phase analysis, independent component analysis and principal component analysis. Data analysis will be performed with MATLAB.

EN 1: Introduction to Engineering (3)

Introduction of various concepts in engineering. Emphasis on project work, engineering ethics, and engineering design process. Discipline topic areas vary each term.

ES 2: Introduction To Computing In Engineering (4)

An introduction to engineering problem-solving with the aid of computational software. Scientific computing concepts will be introduced including number representation, arrays, structured programming techniques, and good coding practices. Basic numerical and data analysis methods will be introduced including numerical differentiation and integration, matrix operations, descriptive statistics, curve fitting, and optimization. Examples drawn from a variety of engineering disciplines will give students extensive practice in coding solutions and applying them to data.

ES 3: Introduction To Electrical Systems W/ Lab (4)

Definitions of circuit elements, fundamental laws, selected network theorems, controlled sources, introduction to the oscilloscope, energy and power, natural response and complete response of first order circuits, steady state sinusoidal behavior, algebra of complex numbers, phasors, impedance, average and reactive power, introduction to analog and digital systems, frequency response and filters, measurements and instrumentation, introduction to computer applications for circuit analysis and design. Associated laboratory project work.

ES 4: Introduction To Digital Logic Circuits W/ Lab (4)

An exploration of how microprocessors work. Topics include: Boolean algebra and logic gates; combinational logic; representing numbers and performing arithmetic with circuits; behavior and use of flip-flops; sequential circuits and state machines; instruction sets; and building blocks for constructing microprocessors. Associated lab exercises with FPGAs and modern design tools. Culminating design of a substantial digital system.

ES 56: Probability And Statistics (4)

Application of the concepts of probability and statistics to problem solving in engineering systems. Topics include data reduction techniques, probability, probability distribution functions, error propagation, sampling distributions, estimation, hypothesis testing, simple comparative experiments, and linear regression. Examples are drawn from a variety of disciplines, including the environment, materials, manufacturing, computing, and process design.