Andrew Bray
Statistics. On sabbatical and leave 2018–19.
Safia Chettih
Algebraic topology.
James D. Fix
Computer science. On sabbatical and leave 2018–19.
Eitan Frachtenberg
Computer science, high-performance computer systems.
Adam Groce
Computer science, cryptography, and private data analysis.
Mark Hopkins
Artificial intelligence, machine learning, and computational linguistics.
Heather H. Kitada
Statistics.
Lyudmila Korobenko
Analysis and partial differential equations.
David Krumm
Algebraic number theory and arithmetic geometry.
Kelly McConville
Statistics.
Dylan McNamee
Computer science, operating systems.
Kyle Ormsby
Algebraic topology.
Angélica Osorno
Algebraic topology and category theory.
David Perkinson
Algebraic geometry and combinatorics. On sabbatical 2018–19.
James Pommersheim
Algebraic geometry, number theory, and quantum computation.
Eric S. Roberts
Computer science education, programming languages and environments, social implications of computing, computing and public policy.
Kelly Shaw
Computer architecture, heterogeneous multiprocessors, general-purpose graphics processing units, and workload characterization. On leave 2018–19.
Jerry Shurman
Number theory and complex analysis.
Irena Swanson
Commutative algebra. On leave 2018–19.
Since antiquity, mathematics has been a cornerstone of the liberal arts. It serves as a model of clear reasoning and expression of thought, and its focus on the study of patterns and structures ensures its continued wide-ranging relevance. Mathematics is the scaffolding of the physical sciences and has exciting new applications in areas such as information science, network theory, cryptography, biology, and theoretical and applied economics. Meanwhile, tools are being developed to solve some of the great long-standing problems of pure mathematics.
The mathematics department offers two mathematics tracks: the mathematics major, and the mathematics major with concentration in statistics. The department offers a range of upper-division mathematics classes, including real analysis, algebra, and various topics courses, which vary year by year. Recent topics courses have covered elliptic curves, polytopes, modular forms, Lie groups, representation theory, functional analysis, and hyperbolic geometry. There are also upper-division classes in statistics and computer science. The yearlong senior thesis involves working closely with a faculty member on a topic of the student’s choice.
The mathematics department also offers a computer science major and a standing mathematics–computer science interdisciplinary major. The Computer Science Fundamentals I and II courses introduce students to the discipline, each providing a significant foundation in programming and each preparing students for the core coursework in algorithms, theory of computation, and computing systems. These core courses lead to a variety of subdisciplines of computer science, surveyed in upper-level elective courses. The two computer science majors are grounded in mathematics: students are trained to carefully justify computer system implementations, and several computer science electives take a mathematical approach to their topics.
The department maintains a dedicated computer laboratory for majors. Mathematics majors have the opportunity to conduct summer research projects with the faculty, attend conferences and present papers, and participate in Research Experience in Mathematics (REU) programs. Many students from the department have enrolled in the Budapest Semester in Mathematics and AIT programs in Hungary or the Mathematics in Moscow program in Russia.
Graduates from the mathematics department have completed PhD programs in pure and applied mathematics, computer science and engineering, statistics and biostatistics, and related fields such as physics and economics. Graduates have also entered professional careers such as the software industry, finance, law, medicine, engineering, and architecture.
First-year students who plan to take a full year of mathematics can select among Calculus (Mathematics 111), Introduction to Analysis (Mathematics 112), Discrete Structures (Mathematics 113), Computer Science Fundamentals I (Computer Science 121), or Introduction to Probability and Statistics (Mathematics 141). The prerequisite for all of these courses except Analysis is three years of high school mathematics. The prerequisite for Analysis is a solid background in calculus, usually the course at Reed or a year of high school calculus with a score of 5 on the AB calculus AP exam or a 4 or 5 on the BC calculus AP exam. Students who intend to go beyond the first-year classes should take Introduction to Analysis in their first year. In all cases, it is recommended to consult the academic adviser and a member of the mathematics department to help determine a program.
The mathematics department’s web page can be found at academic.reed.edu/math.
Requirements for the Mathematics Major
- Mathematics 111 or the equivalent, 112, 113, 201, 202, 321, and 332.
- Four additional units in mathematics courses numbered higher than 300 (excluding Mathematics 470).
- Physics 101 and 102 or the equivalent.
- Mathematics 470 (Thesis).
- Mathematics 111 or the equivalent, 112, 113, 201, and 202.
- One data analysis course, either Mathematics 141, 241, or 243.
- Mathematics 321, 391, and 392.
- Two additional units in mathematics courses numbered higher than 300 (excluding Mathematics 470).
- Mathematics 470.
Requirements for the Computer Science Major
- Mathematics 111 or the equivalent, 112, 113, and 201.
- Computer Science 121 and 221.
- Computer Science 382, 387, and 389.
- Four additional computer science units numbered higher than 300 (excluding Computer Science 470).
- Computer Science 470.
For students who wish to pursue the standing mathematics–computer science interdisciplinary major, please refer to the requirements in the interdisciplinary section of this catalog.
Mathematics 111 - Calculus
Full course for one semester. This includes a treatment of limits, continuity, derivatives, mean value theorem, integration—including the fundamental theorem of calculus, and definitions of the trigonometric, logarithmic, and exponential functions. Prerequisite: three years of high school mathematics. Lecture-conference.
Mathematics 112 - Introduction to Analysis
Full course for one semester. Field axioms, the real and complex fields, sequences and series. Complex functions, continuity and differentiation; power series and the complex exponential. Prerequisite: Mathematics 111 or equivalent. Lecture-conference.
Mathematics 113 - Discrete Structures
Full course for one semester. Sets, cardinality, number theory, combinatorics, probability. Proof techniques and problem solving. Additional topics may include graph theory, finite fields, and computer experimentation. Prerequisite: three years of high school mathematics. Lecture-conference.
Mathematics 131 - Introduction to Number Theory
Full course for one semester. A rigorous introduction to the theorems of elementary number theory. Topics may include: axioms for the integers, Euclidean algorithm, Fermat’s little theorem, unique factorization, primitive roots, primality testing, public-key encryption systems, Gaussian integers. Prerequisite: three years of high school mathematics or consent of instructor. Lecture-conference.
Not offered 2018–19.
Mathematics 138 - Knot Theory, Knot Practice
Full course for one semester. An introduction to modern mathematics through the lens of knot theory. Through the study of invariants, we will see how the notions of number and algebra come to bear on a simply stated but perplexing question: when are two knots the same? Topics include Reidemeister moves, rational tangles, Seifert surfaces, quantum knot invariants, and applications of knot theory to tertiary DNA structures. Students of all mathematical backgrounds welcome. Prerequisite: three years of high school mathematics or consent of the instructor. Lecture-conference.
Not offered 2018–19.
Mathematics 141 - Introduction to Probability and Statistics
Full course for one semester. The basic ideas of probability including properties of expectation, the law of large numbers, and the central limit theorem are discussed. These ideas are applied to the problems of statistical inference, including estimation and hypothesis testing. The linear regression model is introduced, and the problems of statistical inference and model validation are studied in this context. A portion of the course is devoted to statistical computing and graphics. Prerequisite: three years of high school mathematics. Lecture-conference and laboratory.
Mathematics 201 - Linear Algebra
Full course for one semester. A brief introduction to field structures, followed by presentation of the algebraic theory of finite dimensional vector spaces. Topics include linear transformations, determinants, eigenvalues, eigenvectors, diagonalization. Geometry of inner product spaces is examined in the setting of real and complex fields. Prerequisite: Mathematics 112. Lecture-conference.
Mathematics 202 - Vector Calculus
Full course for one semester. The derivative as a linear function, partial derivatives, optimization, Taylor series, multiple integrals, change of variables, Stokes’s theorem. Prerequisite: Mathematics 201. Lecture-conference.
Mathematics 241 - Case Studies in Statistical Analysis
Full course for one semester. Applied statistics class with an emphasis on data analysis. The course will be problem driven with a focus on collecting and manipulating data, using exploratory data analysis and visualization tools, identifying statistical methods appropriate for the question at hand, and communicating the results in both written and presentation form. For 2017, the course will focus on data management and inferential challenges related to working with voter registration, voter history, and elections returns data. Prerequisite for mathematics credit: Mathematics 141 or equivalent. Prerequisite for political science credit: one statistics course (Mathematics 141, Economics 311 or 312, Political Science 311, or Sociology 311) and one introductory policy course (Political Science 210, 250, or 260, Economics 201, or Sociology 211). Lecture-conference. Cross-listed in 2016–17 as Political Science 341.
Not offered 2018–19.
Mathematics 243 - Statistical Learning
Full course for one semester. An overview of modern approaches to analyzing large and complex data sets that arise in a variety of fields from biology to marketing to astrophysics. The most important modeling and predictive techniques will be covered, including regression, classification, clustering, resampling, and tree-based methods. There will be several projects throughout the course, which will require significant programming in R. Prerequisite: Mathematics 141, or experience with linear regressions and programming. Lecture-conference.
Mathematics 311 - Complex Analysis
Full course for one semester. A study of complex valued functions: Cauchy’s theorem and residue theorem, Laurent series, and analytic continuation. Prerequisite: Mathematics 202. Lecture-conference.
Mathematics 321 - Real Analysis
Full course for one semester. A careful study of continuity and convergence in metric spaces. Sequences and series of functions, uniform convergence, normed linear spaces. Prerequisite: Mathematics 202. Lecture-conference.
Mathematics 322 - Ordinary Differential Equations
Full course for one semester. An introduction to the theory of ordinary differential equations. Existence and uniqueness theorems, global behavior of solutions, qualitative theory, numerical methods. Prerequisite: Mathematics 202. Lecture-conference. Offered in alternate years.
Not offered 2018–19.
Mathematics 332 - Abstract Algebra
Full course for one semester. An elementary treatment of the algebraic structure of groups, rings, fields, and/or algebras. Prerequisite: Mathematics 331, or Mathematics 201 and one of Mathematics 113, 131, or 138. Lecture-conference.
Mathematics 341 - Topics in Geometry
Full course for one semester. Topics in geometry selected by the instructor. Possible topics include the theory of plane ornaments, coordinatization of affine and projective planes, curves and surfaces, differential geometry, algebraic geometry, and non-Euclidean geometry. Prerequisite: Mathematics 202. Lecture-conference. Offered in alternate years.
Mathematics 342 - Topology
Full course for one semester. An introduction to basic topology, followed by selected topics such as topological manifolds, embedding theorems, and the fundamental group and covering spaces. Prerequisite: Mathematics 202 and 332, the latter of which may be taken concurrently. Lecture-conference.
Mathematics 343 - Statistics Practicum
Full course for one semester. In this course, students will participate in a team-based, semester-long research project. Class time will be divided between supervised research time and a seminar focused on providing students with skills to facilitate their research. Seminar topics will include reproducible workflows, effective strategies for collaborative work, technical writing, statistical consulting, and scientific presentations. The course covers several components of the research process, such as literature reviews, technical writing, and scientific presentations. Emphasis is placed on developing a reproducible workflow. Prerequisite: Mathematics 243, or Mathematics 241 with permission of the instructor. Conference-laboratory.
Mathematics 361 - Number Theory
Full course for one semester. A study of integers, including topics such as divisibility, theory of prime numbers, congruences, and solutions of equations in the integers. Prerequisite: Mathematics 201. Mathematics 332 is recommended. Lecture-conference. Offered in alternate years.
Mathematics 372 - Combinatorics
Full course for one semester. Emphasis is on enumerative combinatorics including such topics as the principle of inclusion-exclusion, formal power series and generating functions, and permutation groups and Pólya theory. Selected other topics such as Ramsey theory, inversion formulae, the theory of graphs, and the theory of designs will be treated as time permits. Prerequisite: Mathematics 113 and 201. Lecture-conference. Offered in alternate years.
Not offered 2018–19.
Mathematics 382 - Algorithms and Data Structures
See Computer Science 382 (below) for description.
Mathematics 387 - Computability and Complexity
See Computer Science 387 (below) for description.
Mathematics 388 - Cryptography
See Computer Science 388 (below) for description.
Mathematics 391 - Probability
Full course for one semester. A development of probability theory in terms of random variables defined on discrete sample spaces. Special topics may include Markov chains, stochastic processes, and measure-theoretic development of probability theory. Prerequisite: Mathematics 202. Lecture-conference.
Mathematics 392 - Mathematical Statistics
Full course for one semester. Theories of statistical inference, including maximum likelihood estimation and Bayesian inference. Topics may be drawn from the following: large sample properties of estimates, linear models, multivariate analysis, empirical Bayes estimation, and statistical computing. Prerequisite: Mathematics 391 or consent of the instructor. Lecture-conference.
Mathematics 411 - Topics in Advanced Analysis
Full course for one semester. Topics selected by the instructor. Prerequisite: Mathematics 321 or consent of the instructor. Lecture-conference.
Mathematics 412 - Topics in Algebra
Full course for one semester. Topics selected by the instructor, for example, commutative algebra, Galois theory, algebraic geometry, and group representation theory. Prerequisite: Mathematics 332 or consent of the instructor. Lecture-conference.
Mathematics 441 - Topics in Computer Science Theory
See Computer Science 441 (below) for description.
Not offered 2018–19.
Mathematics 470 - Thesis
Full course for one year.
Mathematics 481 - Independent Study
One-half course for one semester. Independent reading primarily for juniors and seniors. Prerequisite: approval of the instructor and the division.
Computer Science
Computer Science 121 - Computer Science Fundamentals I
Full course for one semester. An introduction to computer science, covering topics including elementary algorithms and data structures, functional and procedural abstraction, data abstraction, object orientation, logic, and the digital representations of numbers. Emphasis is on mathematical problems and calculations and on recursive algorithms and data structures. The course includes a significant programming laboratory component where students will solve computational problems using a high-level language. The mechanisms for processing and executing programs will be surveyed. Prerequisite: three years of high school mathematics. Lecture-laboratory. Previously numbered Mathematics 121.
Computer Science 221 - Computer Science Fundamentals II
Full course for one semester. A second course in computer science, an introduction to advanced structures and techniques. The course will develop the foundations of computing, providing an introduction to theoretical models of computation and also to practical computer system construction. Selected topics include digital design, from gates to processors; the construction of interpreters, including language parsing and run-time systems; parallelism and concurrency; and universality. There will be significant programming projects exploring a number of these topics, and students will be introduced to the advanced programming techniques and data structures that support their construction. Prerequisite: Computer Science 121 or equivalent. Lecture-laboratory. Previously numbered Mathematics 221.
Computer Science 315 - Ethics and Public Policy
One half course for one semester. Primarily for majors entering computer-related fields. Ethical and social issues related to the development and use of computer technology will be discussed. Course will cover ethical theory, and social, political, and legal considerations. Scenarios covered in class will include privacy, reliability and risks of complex systems, and responsibility of professionals for applications and consequences of their work. Prerequisite: Computer Science 221. Lecture-conference.
Computer Science 377 - Artificial Intelligence
Full course for one semester. This course is an introduction to the construction of software systems that emulate intelligent behavior. Topics include knowledge representation, reasoning under uncertainty, logic programming, planning, and algorithmic strategies for large-scale combinatorial search. Students will explore these topics with a series of implementation projects. Prerequisites: Computer Science 221 and Mathematics 113. Lecture-conference.
Computer Science 378 - Deep Learning
Full course for one semester. This course is an introduction to deep neural architectures and their training. Beginning with the fundamentals of regression, optimization, and regularization, the course will then survey a variety of architectures and their associated applications. Students will develop projects that implement deep learning systems to perform various tasks. Prerequisites: Mathematics 201, 202, and Computer Science 221. Lecture-conference.
Computer Science 382 - Algorithms and Data Structures
Full course for one semester. An introduction to computer science covering the design and analysis of algorithms. The course will focus on various abstract data types and associated algorithms. The course will include implementation of some of these ideas on a computer. Prerequisite: Computer Science 121 or equivalent, and one of Mathematics 112 or 113. Conference. Cross-listed as Mathematics 382. Numbered solely as Mathematics 382 prior to 2017—18.
Computer Science 384 - Programming Language Design and Implementation
Full course for one semester. A study of the organization and structure of modern programming languages. This course will survey key programming language paradigms, including functional, object-oriented, and logic- and constraint-based languages. A formal approach will be taken to understanding the fundamental concepts underlying these paradigms, including their syntax, semantics, and type systems. The course will cover selected topics in the implementation of language systems such as parsers, interpreters, and compilers, and of run-time support for high-level languages. Prerequisite: Computer Science 221, and one of Mathematics 112 or 113. Lecture-conference. Previously numbered Mathematics 384.
Not offered 2018–19.
Computer Science 385 - Computer Graphics
Full course for one semester. Introduction to computer image synthesis and mathematical modeling for computer graphics applications. Topics include image processing, 2-D and 3-D modeling techniques such as curve and surface representation, geometric algorithms for intersection and hidden surface removal, 3-D rendering, and animation. Prerequisite: Computer Science 121 and Mathematics 201. Lecture-conference. Previously numbered Mathematics 385.
Not offered 2018–19.
Computer Science 387 - Computability and Complexity
Full course for one semester. Introduction to models of computation including finite automata, formal languages, and Turing machines, culminating in universality and undecidability. An introduction to resource-bounded models of computation and algorithmic complexity classes, including NP and PSPACE, and the notions of relative hardness and completeness. Prerequisite: Computer Science 121 or equivalent, and Mathematics 112 and 113. Lecture-conference. Cross-listed as Mathematics 387. Numbered solely as Mathematics 387 prior to 2017—18.
Computer Science 388 - Cryptography
Full course for one semester. An introduction to modern cryptography. Topics include private- and public-key encryption, message authentication codes, pseudorandomness, and digital signatures. Emphasis is placed on formal definitions of security, proofs of security, and key constructions. Prerequisite: Computer Science 382 or 387 or Mathematics 382, 387, or 332. Lecture-conference. Cross-listed as Mathematics 388. Numbered solely as Mathematics 388 prior to 2017—18.
Computer Science 389 - Computer Systems
Full course for one semester. A study of the design and implementation of computing systems, focusing on aspects whose underpinnings are firmly based in algorithms and applied logic or whose implementation offers interesting problems in those areas. A survey of computer architecture and the hardware-software interface, compilation and run time, and concurrent and networked programming. An introduction to theoretical approaches to problems related to the synchronization and coordination of independently executing processes. Prerequisite: Computer Science 221. Lecture-conference. Previously numbered Mathematics 389.
Computer Science 393 - Operating System Design and Implementation
Full course for one semester. This course covers the low-level details of the software that drives computing hardware, spanning such disparate systems as supercomputers, the internet backbone, laptops, and smartphones. Topics include kernel architectures, scheduling, memory management, security policies and mechanisms, assurance, file systems, networking, virtualization, real time, safety-critical and security-critical systems. Students will implement several operating system components. Prerequisite: Computer Science 221. Lecture-conference-laboratory.
Not offered 2018–19.
Computer Science 394 - Principles of Compiler Design
Full course for one semester. This course covers the design and construction of programming language compilers. It covers the basic phases of the compilation process, including syntactic analysis and parsing, semantic analysis, intermediate representations of code, dataflow analysis, register allocation, code generation, and other optimizations. The end product of the course is a working compiler for a programming language. Time permitting, the course surveys advanced techniques such as compilation of functional programming languages or compilation for high-performance hardware. Prerequisite: Computer Science 389 or consent of the instructor. Lecture-conference.
Not offered 2018–19.
Computer Science 395 - Advanced Computer Architecture
Full course for one semester. A course that explores the implementation of computer processors, with focus on techniques and designs that seek high performance. We look at pipelining, superscalar designs, multiprocessor systems, cache coherence in multiprocessors, graphics processing units, embedded systems, and network processors. Material includes reading and discussion of technical papers as well as programming projects on several different architectures. Prerequisite: Computer Science 389 or consent of the instructor. Lecture-conference.
Not offered 2018–19.
Computer Science 421 - Computing Theory Research Seminar
One-half course for one semester. This course is an exploration of research in an area of theoretical computer science. Example topics include: randomized or parallel algorithms, approximation algorithms, quantum computation or complexity, and zero-knowledge proof systems. Offered alternate years. Prerequisites: Computer Science 382 and 387. Lecture-conference.
Not offered 2018–19.
Computer Science 422 - Computer Systems Research Seminar
One-half course for one semester. This course is an exploration of recent research in the design, development, and the implementation of computer systems. Example topics include: high performance architecture, highly available networked and distributed systems, software and hardware system verification. Offered in alternate years. Prerequisite: Computer Science 389. Lecture-conference.
Computer Science 441 - Topics in Computer Science Theory
Full course for one semester. Exploration of topics from advanced algorithm design and theoretical computer science including complexity theory, cryptography, computational geometry, and randomized algorithms, as selected by the instructor. Prerequisite: Computer Science or Mathematics 387 or consent of the instructor. Lecture-conference. Offered in alternate years. Cross-listed as Mathematics 441. Numbered solely as Mathematics 441 prior to 2017—18.
Not offered 2018–19.
Computer Science 442 - Topics in Computer Science Systems
Full course for one semester. A study of the design and implementation techniques used in a particular area of computer science as selected by the instructor. Students will implement a working system in that area. Recent offerings have covered distributed and networked systems, compilers, and computer game design. Prerequisite: Computer Science 389 or consent of the instructor. Lecture-conference. Offered in alternate years. Previously numbered Mathematics 442.
Computer Science 470 - Thesis (Computer Science)
Full course for one year.
Computer Science 481 - Independent Study
One-half course for one semester. Primarily for juniors and seniors. Prerequisite: approval of the instructor and the division.