# Courses

Descriptions of our department′s course offerings in mathematics and computer science are included below. For advice on course selection, be sure to speak with a faculty adviser.

## Course Offerings in mathematics

### 107. Linear Methods.

Fall, Spring. Credits: 4.

Degree Requirements: F6.

Topics include systems of linear equations, matrices, matrix inversion and applications (including Leontief input-output analysis), mathematical programming, linear programming and the simplex method, finite Markov chains, and game theory.

### 108. Cryptology.

Spring. Credits: 4.

Degree Requirements: F6.

This course is an examination of conventional cryptographic methods (such as substitution and transposition ciphers), public key methods (such as RSA, a standard method for secure web transactions), and computer-based conventional cryptographic techniques (block ciphers and hash functions). We will develop and use mathematical tools such as modular arithmetic, probability, matrix algebra, and number theory both to implement and cryptanalyze these methods. In addition, we will deal with a few of the technical and public policy issues surrounding uses of encryption.

### 111. Introduction to Applied Statistics.

Fall, Spring. Credits: 4.

Degree Requirements: F6.

A modern introduction to statistical inference. Core topics include one- and two-sample hypothesis testing and confidence interval construction for means and proportions using both randomization techniques and traditional methods; correlation; and simple linear regression. Students are introduced to professional statistical packages. Students who have already taken Math 122 should consider taking Math 311-312 instead. Students who already have credit for Economics 290 may not earn credit for Math 111.

### 115. Applied Calculus.

Fall, Spring. Credits: 4.

Degree Requirements: F6.

This one-semester course presents an introduction to applied mathematics and an overview of calculus: applications of the derivative, the definite Integral, the Fundamental Theorem of Calculus, partial derivatives and double integrals. Applications will involve the use of a variety of functions, including exponential, logarithmic and trigonometric functions. Each topic is introduced through the modeling process; computer-based applications and group work are major components of this course. (Note: Students who have already had Math 121 may not earn credit for Math 115. Math 115 is not adequate preparation for Math 122.)

### 121. Calculus I.

Fall, Spring. Credits: 4.

Degree Requirements: F6.

This course is an introduction to the concepts, formalism, and applications of derivatives and integrals. Elementary transcendental functions are used throughout; specific topics include limits, the derivative, applications of differentiation, the definite integral, and the Fundamental Theorem of Calculus.

**Prerequisites**: Students will need a background in high school algebra, geometry, trigonometry, and exponential and logarithmic functions.

### 122. Calculus II.

Fall, Spring. Credits: 4.

Degree Requirements: F6.

This course is an introduction to (1) formal and numerical techniques of integration, (2) Taylor’s theorem, sequences, series, power series, and their applications, (3) applications of integration and series to solving first-order and linear differential equations, and (4) applications of integration to calculate area, length, volume, probability, work, centroids, and fluid pressure.

**Prerequisite**: Math 121.

### 201. Transition to Advanced Mathematics.

Fall. Credits: 4.

Degree Requirements: F6.

A thorough introduction to the reading, writing, presenting and creating of mathematical proofs. Students will learn and practice in a careful and deliberate way the techniques used to prove mathematical theorems. Proofs studied will be chosen from a variety of fields such as set theory, number theory, analysis, algebra, and graph theory. Topics also include elements of the history and philosophy of mathematics and an introduction to the mathematical community.

**Prerequisite**: Math 122 or the permission of the instructor.

### 214. Discrete Mathematical Modeling with Biological Applications.

Spring. Credits: 4.

Degree Requirements: F6.

In this course students will learn how to use discrete mathematical models to analyze problems arising in the biological sciences, without using calculus. The types of models used will include discrete difference equations, matrix models, and agent-based models. Some of the biological applications explored in this course include modeling the population sizes of various species over time, describing how the concentration of a drug in the body changes over time, modeling the process of ecological succession, modeling the concentration of a pollutant in water reservoir, and modeling the frequency of a certain allele in a population over time. To facilitate analyzing mathematical models, students will learn how to utilize the software package MATLAB. One hour a week of this course will be spent in a computer lab.

**Prerequisite**: None.

### 223. Calculus III.

Fall, Spring. Credits: 4.

Degree Requirements: F6.

A continuation of Math 122: vector calculus, functions of several variables, partial derivatives, multiple integrals, line integrals, and Green’s theorem.

**Prerequisite**: Math 122.

### 251. Differential Equations.

Spring. Credits: 4.

Degree Requirements: F6.

The theory, methods, and applications of ordinary differential equations. Topics include existence, uniqueness and other properties of solutions, linear equations, power series and Laplace transform methods, systems of linear equations, and qualitative analysis.

**Prerequisite**: Math 122.

### 261. Linear Algebra.

Spring. Credits: 4.

Degree Requirements: F6.

Topics include systems of linear equations, matrix algebra, determinants, real and complex vector spaces, linear transformations, eigenvalues and eigenvectors, and diagonalization. Attention is given to proofs.

**Prerequisites**: Math 201, 223, or the permission of the instructor.

### 311. Probability Theory.

Fall. Credits: 4.

Topics include the axioms of Kolmogorov, basic combinatorics, conditional probability, independence, various discrete and continuous probability distributions, expected value, variance, moment-generating functions, characteristic functions, the weak and strong law of large numbers, the Central Limit Theorem, and simulation. (Course offered in alternate years; scheduled for 2013-2014.)

**Corequisite**: Math 223.

### 312. Mathematical Statistics.

Spring. Credits: 4.

This course introduces students to theoretical issues and data-driven applications in statistics. Topics include modes of convergence, estimation theory, confidence interval construction, hypothesis testing, linear regression, goodness-of-fit tests, and nonparametric tests. Special emphasis is placed on the use of the Student’s t, F, Z, and chi-squared distributions to draw inferences about the means and variances of one or two populations. (Course offered in alternate years; scheduled for 2013-2014.)

**Prerequisite**: Math 311.

### 315. Mathematical Modeling.

Fall. Credits: 4.

Mathematical modeling is central to harnessing the power of mathematics in the generation of new scientific knowledge. Students will work in teams to model biological or physical scenarios using different classes of mathematical models: systems of differential equations, matrix models, and stochastic models. Students will learn to conduct literature searches, pose and refine research questions, use standard mathematical models, identify which models are applicable to a given research question, modify standard models to novel situations, communicate each of these effectively in writing, and work effectively in a team. A final project will require students to create a final, polished research article presenting their models. A significant portion of this course will focus on developing fluency in scientific writing.

**Prerequisite**: Math 251 or the permission of the instructor.

### 321-322. Real Analysis.

Fall, Spring. Credits: 4-4.

Topics include the real and complex number systems, metric spaces, sequences and series, continuity, and differentiation, as well as topics selected from the Riemann and the Riemann-Stieltjes integrals, sequences and series of functions, functions of several real variables, and Lebesgue theory. Emphasis is on careful proof.

**Prerequisites**: For 321, Math 201 and Math 223. For 322, Math 321.

### 352. Partial Differential Equations.

Fall. Credits: 4.

An introduction to the concepts, theory, and basic solution techniques of partial differential equations. Examples studied in detail include the heat equation, wave equation, and Laplace equation. The theory and applications of Fourier series are introduced. Other topics that may be covered include numerical methods, modeling, and nonlinear waves. (Course offered in alternate years; scheduled for 2014-2015.)

**Prerequisite**: Math 251.

### 362-363. Abstract Algebra.

Fall, Spring. Credits: 4-4.

An introduction to axiomatic algebraic structures. Topics include groups, subgroups, permutation groups, cyclic groups, normal subgroups, quotient groups, homomorphisms, isomorphisms, rings, integral domains, polynomial rings, ideals, quotient rings, fields, and extension fields. Additional topics may include finite fields, Galois theory, and advanced topics from linear algebra. (Course offered in alternate years; scheduled for 2013-2014.)

**Prerequisites**: For 362, Math 201 and Math 261. For 363, Math 362.

### 370. Complex Variables.

Spring. Credits: 4.

This course is an introduction to the theory of functions of a complex variable. Topics include complex numbers and their properties, analytic functions and the Cauchy-Riemann equations, complex logarithms, exponential and trigonometric functions, complex integration and the Cauchy integral formula, complex power series, the residue theorem, and applications to calculations of definite integrals. (Courses offered in alternate years; scheduled for 2014-2015.)

**Prerequisite**: Math 223.

### 386. Junior Seminar.

Spring. Credits: 1.

This course will prepare students for the Senior Seminar experience. Students will attend the Senior Seminar presentations, pursue independent readings, and prepare a Senior Seminar prospectus for approval by the faculty of the department.

### 431. Topology.

Spring. Credits: 4.

Topics selected from sets, functions, metric spaces, topological spaces, separation properties, compactness, connectedness, the Stone-Weierstrass theorem, mapping theorems, plane topology. (Course offered every other year; scheduled for 2013-2014.)

**Prerequisites**: Math 201 and Math 223.

### 455-456. Readings in Mathematics.

Fall, Spring. Credits: 1 to 4.

This course allows students to do advanced work not provided for in the regular courses. Its content will be fixed after consultation with the student and in accord with his or her particular interests.

**Prerequisite**: Permission of the department chair.

### 460. Internship.

Fall, Spring. Credits: 1 to 4.

Internships in Mathematics, which are normally arranged by the Director of Career Services, permit a qualified student to receive academic credit for off-campus work experience. Upon completion of the internship, the student makes written and oral reports focusing on an integration of the student’s academic work and the internship project. Normally the course will be taken on a Pass/Fail basis; it does not count toward the requirements for the major or minor except with special approval of the department. Interested students should contact the Chair of the department and the Director of Career Services.

### 465. Special Topics in Mathematics.

Fall, Spring. Credits: 4.

An occasional offering of topics not covered in the existing mathematics courses. Examples of topics include: graph theory, Fourier analysis, measure theory, dynamical systems, matrix groups, foundations of mathematics, game theory, set theory, logic, non-Euclidean geometry, orbifold Euler characteristics, and operations research.

### 482. Combinatorics.

Fall. Credits: 4.

Topics selected from basic counting principles, Ramsey theory, the inclusion/exclusion principle, recurrence relations, generating functions, partially ordered sets, systems of distinct representatives, combinatorial designs, graphs, directed graphs, partitions, combinatorial optimization, enumeration under group action, and an introduction to coding theory. (Course offered every third year; scheduled for 2014-2015.)

**Prerequisite**: Math 201 or the permission of the instructor.

### 485-486. Senior Seminar.

Fall, Spring. Credits: 2-2 or 4-0.

Students pursue individual projects supervised by members of the faculty. Seminar sessions focus on issues of effective written and oral presentation of mathematics. A student may pursue either a research project, in which the student carries out original research on a suitable topic of interest, or an expository project, demonstrating understanding of mathematics by exploring some topic of established mathematics which is not covered in a regular course. Students who pursue an expository project may complete the senior seminar requirement in either one semester (4 credits in the Fall) or two semesters (2 credits in the Fall, 2 credits in the Spring.) Students pursuing a research project must complete the requirement over two semesters.

### 495-496. Honors Tutorial in Mathematics.

Fall, Spring. Credits: 4-4.

The Honors Tutorial provides an alternative to the Senior Seminar for qualified students who wish to pursue an original research project in greater depth than would be possible otherwise. Criteria for successful completion of an Honors project include originality, mathematical maturity, progress, and independence.

**Prerequisite**: Permission of the department.

## COURSE OFFERINGS IN COMPUTER SCIENCE

### 103. Computer Science Demystified.

Fall. Credits: 4.

Degree Requirements: F6.

A broad introduction to computing appropriate for all students, regardless of intended major. This course introduces fundamentals of computers and computer information management primarily through projects that emphasize mastery of basic concepts, acquisition of skills, and logical reasoning. Concepts presented include computer data representation, an intro to architecture and how computers work, and basic network organization. Skills are developed to facilitate the use of a computer for communication and online research. Logical reasoning is fostered through working with models and abstraction, algorithmic thinking with an intro to programming, and critical evaluation of the use of computers and technology. Emphasis is on the development of a conceptual framework for further learning and problem-solving with computers, rather than on the use of specific software or hardware.

### 141. Computer Science I: Programming Fundamentals.

Fall, Spring. Credits: 4.

Degree Requirements: F6.

An introduction to the fundamental concepts and practices of procedural programming. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. Emphasis is placed on program design and problem solving techniques. The course also includes an introduction to the historical and social context of computing and an overview of computer science as a discipline.

### 142. Computer Science II: Object-Oriented Programming.

Spring. Credits: 4.

Degree Requirements: F6.

An introduction to the fundamental concepts and practices of object-oriented programming. The object-oriented programming paradigm is introduced, with a focus on the definition and use of classes as a basis for fundamental object-oriented program design. Other topics include an overview of programming language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues.

**Prerequisite**: Computer Science 141.

### 172. Discrete Structures for Computer Science.

Fall. Credits: 4.

Degree Requirements: F6.

An introduction to and survey of the mathematics used in computer science including functions, relations, sets, counting, logic, Boolean algebra, proof techniques, induction, recursion, computational complexity, and computability. Other topics may be included as time permits.

**Prerequisite**: Computer Science 141.

### 231. Introduction to Computer Organization.

Spring. Credits: 4.

A bottom-up exploration of the interaction between computer hardware and software. Topics begin with an introduction to digital logic, and continue through elementary processor design, to assembly language, machine data representation, and computer arithmetic. Other topics in contemporary computer architecture such as multicore processors and GPGPU’s may be discussed as time allows. Projects include hardware and simulated digital circuits as well as programs in assembly language.

**Prerequisite**: Computer Science 141.

### 241. Computer Science III: Data Structures and Algorithms.

Fall. Credits: 4.

An introduction to the fundamental concepts of data structures and the algorithms that arise from them, using the object-oriented design paradigm. Data structures covered include stacks, queues, linked lists, hash tables, trees, and graphs. Other topics include an introduction to iterative and recursive algorithmic strategies and basic algorithm analysis.

**Corequisite**: Computer Science 172. (unless already taken)

**Prerequisite**: Computer Science 142.

### 315. Networks and Security.

Fall. Credits: 4.

An introduction to two fundamental and related topics in computing: networked communication and computer security. Modern computers and computational devices are nearly always connected to some network; this course will introduce frameworks for understanding how this connection works. The openness with which computer networking began has allowed malicious entities of all sorts to prey upon computer users, so the course will also include a study of computer security as it interacts with networking. (Course offered in alternate years; scheduled for 2013-2014.)

**Prerequisite**: Computer Science 241.

### 320. Computer Graphics.

Spring. Credits: 4.

Coverage of the basic concepts of 2D and 3D graphics, including an overview of graphics hardware, use of a graphics application programming interface, user interface design, techniques for computer animation, and graphical algorithms such as geometric transformations, clipping, windowing, hidden surface removal, and raster graphics techniques for the representation of curves, surfaces, and solids. (Course offered in alternate years; scheduled for 2013-2014.)

**Corequisite**: Math 223 or Math 261. (unless already taken)

**Prerequisite**: Computer Science 241.

### 330. Operating Systems.

Fall. Credits: 4.

An introduction to the fundamentals of operating systems design and implementation. Topics include the process model and implementation of processes, an overview of the major components of a modern operating system, mutual exclusion and interprocess synchronization, a survey of scheduling algorithms, memory management techniques, and file systems. (Course offered in alternate years; scheduled for 2013-2014.)

**Prerequisite**: Computer Science 231.

### 350. Theory of Computation.

Spring. Credits: 4.

A study of theoretical models for computing. The hierarchy of finite state machines, pushdown machines, context free grammars, and Turing machines will be analyzed, along with their variations. The basic concepts of decidability, complexity theory, and NP-Complete problems will be introduced. (Course offered in alternate years; scheduled for 2014-2015.)

**Prerequisite**: Computer Science 172.

### 355. Advanced Algorithms.

Spring. Credits: 4.

An in-depth study of the design and analysis of advanced algorithms, including the performance tradeoffs and resources required by various algorithmic implementations. Major classes of computational problems will be identified and explored. Advanced data structures and approximation heuristics are introduced as required for solution design. Topics vary depending on the specific problems covered but will include the Master Theorem, dynamic programming, divide-and-conquer and greedy algorithms. (Course offered in alternate years; scheduled for 2013-2014.)

**Prerequisite**: Computer Science 241.

### 360. Programming Languages.

Spring. Credits: 4.

A wide-ranging and in-depth coverage of fundamental programming language concepts, presenting design issues of the various language constructs, and examining the design choices for these constructs in a range of the most popular contemporary programming languages. Language design alternatives are examined and critiqued. Methods of syntax description, common approaches to describing the semantics of programming languages, and various implementation approaches are covered. (Course offered in alternate years; scheduled for 2014-2015.)

**Prerequisite**: Computer Science 241.

### 455-456. Readings in Computer Science.

Fall, Spring. Credits: 1 to 4.

This course allows students to do advanced work not provided for in the regular courses. Its content will be fixed after consultation with the student and in accord with his or her particular interests.

**Prerequisite**: Permission of the department chair.

### 460. Internship.

Fall, Spring. Credits: 1 to 4.

Internships in Computer Science, which are normally arranged by the Director of Career Services, permit a qualified student to receive academic credit for off-campus work experience. Upon completion of the internship, the student makes written and oral reports focusing on an integration of the student’s academic work and the internship project. Normally the course will be taken on a Pass/Fail basis; it does not count toward the requirements for the major or minor except with special approval of the department. Interested students should contact the Chair of the department and the Director of Career Services.

### 465. Special Topics in Computer Science.

Fall, Spring. Credits: 4.

An occasional offering of topics not covered in the existing computer science courses. Examples of topics include artificial intelligence (search techniques, game playing, neural nets, machine learning, natural language processing) and database systems (relational, hierarchical and network databases, security, and synchronization.)

### 485-486. Senior Seminar.

Fall, Spring. Credits: 1-4.

Fall term: This course lays the groundwork for the Spring Senior Seminar experience. Independent readings will be discussed and presented, and a Senior Seminar Project prospectus will be prepared and presented for approval by the faculty of the department.

Spring term: This course comprises an in-depth exploration of the principles and techniques of analysis and design of software systems from an object-oriented perspective. Design patterns, a diagrammatic modeling language, and standard techniques of computer software specification, implementation, testing, and documentation will be explored and used as tools by students working in teams. Each team will produce a robust, scalable, and maintainable large-scale system based on the project proposal completed in CS 485. The Senior Seminar sequence is meant to emphasize the unity and power of computer science by applying and extending ideas drawn from the courses required for all Computer Science majors. All participants will make several oral presentations.

**Prerequisites**: Senior standing in the Computer Science major.

### 495-496. Honors Tutorial in Computer Science.

Fall, Spring. Credits: 4 to 8.

**Prerequisites**: Permission of the department chair.