# Mathematics and Computer Science

The Department of Mathematics and Computer Science offers undergraduate majors in mathematics and in computer science. We also participate in the College of Integrative Sciences, the Data Analysis minor, the IDEAS minor, and the Informatics and Modeling minor. The department's graduate programs include a PhD in mathematics and MA programs in mathematics and in computer science.

Each student's course of study is designed to provide an introduction to the basic areas of mathematics or computer science and to provide the technical tools that will be useful later in the student's career. The course of study is planned in consultation with the student's faculty advisor and the department's advisory committees, DADCOM for mathematics and CADCOM for computer science.

The department's graduate programs include a PhD program in mathematics and MA programs in mathematics and in computer science. The research emphasis at Wesleyan at the doctoral level is in pure mathematics and theoretical computer science. One of the distinctive features of our department is the close interaction between the computer science faculty and the mathematics faculty, particularly those in logic and discrete mathematics.

Graduate students at Wesleyan enjoy small classes and close interactions with faculty and fellow graduate students. Graduate students normally register for three classes a semester and are expected to attend departmental colloquia and at least one regular seminar. The number of graduate students ranges from 17 to 21, with an entering class of three to six each year. There have always been both male and female students, graduates of small colleges and large universities, and U.S. and international students, including, in recent years, students from Australia, Chile, Ecuador, Iran, Nepal and Turkey. All of the department's recent PhD recipients have obtained faculty positions. Some have subsequently moved to mathematical careers in industry and government.

For additional information, please visitÂ wesleyan.edu/mathcs/graduate/.

## Departmental Undergraduate Advising Experts

DADCOM provides advice and transfer credit approval for students in mathematics. CADCOM provides advice and transfer credit approval for students in computer science.

## Computer Science

**COMP112 Introduction to Programming**

The course will provide an introduction to a modern, high-level programming language including a discussion of input/output, basic control structures, types, functions, and classes. The lectures will also discuss a variety of algorithms as well as program design issues.

The second meeting time for each section is a computer lab.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**COMP112Z Introduction to Programming**

This course will provide an introduction to imperative programming including a discussion of variables, basic control structures, and functions, with other topics as time permits. The lectures will also discuss a variety of algorithms as well as program design issues. The language is typically a standard high-level language like Java or Python, but the choice is up to the instructor, and may differ between different COMP 112 sections.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**COMP113 Bioinformatics Programming**

This course is an introduction to bioinformatics and programming for students with interest in the life sciences. It introduces problem areas and conceptual frameworks in bioinformatics. The course assumes little or no prior programming experience and will introduce the fundamental concepts and mechanisms of computer programs and examples (e.g., sequence matching and manipulation, database access, output parsing, dynamic programming) frequently encountered in the field of bioinformatics.

Offering: **Crosslisting**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-BIOL**

Identical With: **BIOL265, MB&B265, CIS265**

Prereq: **[MB&B181 or BIOL181]**

**COMP114 How to Talk to Machines**

How do we tell robots and computers how to do what they do? Getting a handle on this question is the goal of this course. Since telling a device how to do something depends a lot on what that device can do, along the way we will learn a bit about what is "in the box." We will start with the kind of programming one might use to instruct a robot how to interact with the world around it. That will lead us to the Turing machine, a beautiful mathematical model of a computer. We will adapt that model to something that is closer to how most computer systems today are designed. We will end with an introduction to high-level programming, learning the fundamentals of programming in a language such as Python or Java.

The goal of the course is to understand not just programming, but how computers are designed, and how those designs are reflected in the way we program them. After passing this course, students will have a basic knowledge of programming and how a computer works. COMP 114 can be used to satisfy the COMP 211 prerequisite and also the mathematics major "elementary knowledge of algorithms and computer programming" requirement.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**COMP114Z How to Talk to Machines**

How do we tell robots and computers how to do what they do? Getting a handle on this question is the goal of this course. Since telling a device how to do something depends a lot on what that device can do, along the way we will learn a bit about what is "in the box." We will start with the kind of programming one might use to instruct a robot how to interact with the world around it. That will lead us to the Turing machine, a beautiful mathematical model of a computer. We will adapt that model to something that is closer to how most computer systems today are designed. We will end with an introduction to high-level programming, learning the fundamentals of programming in a language such as Python or Java.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**COMP115 How to Design Programs**

In this course, students will learn to systematically design programs, going from a problem statement to a well-organized solution in a step-by-step fashion. We will apply these program design skills to many applications within computer science and in other disciplines. Students will develop their mathematical skills, because we will use a symbolic view of computation that explains the process of running a program as simple manipulations of its text. Students will also develop their technical reading and writing skills, such as understanding complex problem descriptions and precisely articulating the design of solutions. No prior experience with programming or computer science is expected.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**COMP131F Can Machines Think? (FYS)**

This course is a freshman seminar (an FYS course) that introduces students to foundational ideas in logic, formal languages, and computation that have been the basis of a revolution in thinking in the 20th century. The material includes a substantial logic component and an introduction to programming in SML, a so-called functional programming language, as well as readings about the philosophical impact of these ideas.

The impact of the new cycle of ideas mentioned above has been felt far beyond the confines of the computer science community. Ideas from logic, computation, and other branches of mathematics formerly regarded as "pure" have spread to computation, linguistics, cognitive science, and philosophy; conversely, results from philosophy, linguistics, and other areas have been applied in computer science. New "non-traditional" logics have found unexpected applications in computing.

Traditionally, the background in logic and computation upon which these ideas rest has been taught in advanced courses, although much of it is accessible to students with little or no background in the area (but some willingness to learn formal reasoning and mathematical arguments). Students will learn about the underpinnings of recent technical advances in these areas at an unusually early stage in their careers. We will learn how to code basic programs in SML as well. The course will continue with readings in expository texts about the impact and philosophical significance of important ideas in logic and computation. Some readings in Philosophy of Mind will be assigned and discussed.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**COMP211 Computer Science I**

This is the first course in a two-course sequence (COMP211-212) that is the gateway to the computer science major. It is intended for prospective computer science majors and others who want an in-depth understanding of programming and computer science. Topics to be covered in COMP211-212 include an introduction to the fundamental ideas of programming in imperative and functional languages, correctness and cost specifications, and proof techniques for verifying specifications.

Specifics such as choice of programming language, which topics are covered in which semesters, etc., will vary according to the tastes of the faculty offering the courses.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP112 OR COMP113 OR COMP114 OR COMP115**

**COMP212 Computer Science II**

This is the second course in a two-course sequence (COMP211-212) that is the gateway to the computer science major. It is intended for prospective computer science majors and others who want an in-depth understanding of programming and computer science. Topics to be covered in COMP211-212 include an introduction to the fundamental ideas of programming in imperative and functional languages, correctness and cost specifications, and proof techniques for verifying specifications.

Specifics such as choice of programming language, which topics are covered in which semesters, etc., will vary according to the tastes of the faculty offering the courses.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP211**

**COMP260 Special Topics in Computer Science**

This course is designed for nonmajors who wish to pursue some topic in computer science beyond introduction to programming. Topics will vary according to the instructor.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **QAC260**

Prereq: **COMP112**

**COMP260A Software Design and Engineering**

Programming is only one ingredient for creating industry-grade software. Eliciting requirements from stakeholders, modeling the architecture of a system, selecting appropriate development tools, and testing and maintaining a codebase are some of the aspects that elevate programming to software engineering. Focusing on the development of mobile and web apps, students in this course will gain expertise in common front-end and back-end technologies as well as related tooling. We will also cover the organization of software projects and their social implications, which are so important to recognize for the modern software engineer.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **COMP112**

**COMP260B Scientific Computing**

This course will introduce students from various disciplines to computing as applied to scientific problems. The course aims to provide a theoretical background in computational sciences and insight in understanding how popular algorithms and advances in hardware are used to solve problems drawn from chemistry, physics, biology, and bioinformatics. Topics covered will include simulation techniques, analysis of trajectories, clustering, probabilistic modeling, networks, artificial intelligence, neural networks, population dynamics, and high-performance computing.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP211**

**COMP266 Bioinformatics**

This course is an introduction to bioinformatics for students with interest in the life sciences. The course is similar to BIOL265 but only meets in the second half of the semester (with BIOL265) and is designed for students with programming background, ideally in Python. The course introduces problem areas and conceptual frameworks in bioinformatics and discusses programming approaches used in bioinformatics such as sequence matching and manipulation algorithms using dynamic programming, clustering analysis of gene expression data, analysis of genetic nets using Object Oriented Programming, and sequence analysis using Hidden Markov Models, Regular Expressions, and information theory.

Offering: **Crosslisting**

Grading: **A-F**

Credits: **0.50**

Gen Ed Area: **NSM-BIOL**

Identical With: **BIOL266, MB&B266, CIS266**

Prereq: **[MB&B181 OR BIOL181]**

**COMP301 Automata Theory and Formal Languages**

This course is an introduction to formalisms studied in computer science and mathematical models of computing machines. The language formalisms discussed will include regular, context-free, recursive, and recursively enumerable languages. The machine models discussed include finite-state automata, pushdown automata, and Turing machines.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP500**

Prereq: **COMP211 AND COMP212 AND MATH228**

**COMP312 Algorithms and Complexity**

The course will cover the design and analysis of efficient algorithms. Basic topics will include greedy algorithms, divide-and-conquer algorithms, dynamic programming, and graph algorithms. Some advanced topics in algorithms may be selected from other areas of computer science.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP510**

Prereq: **COMP212 AND MATH228**

**COMP321 Design of Programming Languages**

This course is an introduction to concepts in programming languages. Topics include parameter passing, type checking and inference, control mechanisms, data abstraction, module systems, and concurrency. Basic ideas in functional, object-oriented, and logic programming languages will be discussed.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP521**

Prereq: **COMP212 AND MATH228**

**COMP323 Programming Language Implementation**

This course is an introduction to the implementation of programming languages.

Students will learn how to formally describe and implement major components of the implementation pipeline. Topics may include lexical analysis and parsing (checking whether source code is well-formed and converting it to an internal programmatic representation), type-checking and -inference (static program analysis for safety features), interpretation (direct execution of a high-level language program), and compilation (translation to a low-level language such as assembly or bytecode).

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP523**

Prereq: **COMP212 AND MATH228**

**COMP324 Program Analysis**

Program analysis refers to techniques for describing program behavior as well as detecting "bad" behavior before execution or preventing it during execution. This course focuses specifically on information flow, where the goal is to ensure that secure or confidential information (such as passwords) is not transmitted to insecure or public channels. The course will cover techniques for describing program execution, how we describe permissible information flow, and dynamic (runtime) and static (compile-time) enforcement techniques.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP325 Logic and Functional Program Languages**

Functional Programming Languages (Lisp, Scheme, ML, ocaml, Haskell, and many others) and Logic Programming Languages (Prolog, lambda-Prolog, etc.) have been developed within mathematical frameworks based on Logic. In this course, we will explore the basic structure of functional and logic programming languages starting from the Mathematical Logic foundation that gave rise to them. This will give some deep and interesting insights into present and (likely) future programming language design.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP327 Evolutionary and Ecological Bioinformatics**

Bioinformatic analysis of gene sequences and gene expression patterns has added enormously to our understanding of ecology and evolution. For example, through bioinformatic analysis of gene sequences, we can now reconstruct the evolutionary history of physiology, even though no traces of physiology exist in the fossil record. We can determine the adaptive history of one gene and all the gene's descendants. We can now construct the evolutionary tree of all of life. Bioinformatics is particularly promising for analysis of the ecology and biodiversity of microbial communities, since well over 99 percent of microorganisms cannot be cultured; our only knowledge of these organisms is through analysis of their gene sequences and gene expression patterns. For example, even when we cannot culture most of a microbial community, we can determine which metabolic pathways are of greatest significance through analysis of community-level gene expression. All these research programs are made accessible not only by breakthroughs in molecular technology but also by innovation in the design of computer algorithms. This course, team-taught by an evolutionary biologist and a computer scientist, will present how bioinformatics is revolutionizing evolutionary and ecological investigation and will present the design and construction of bioinformatic computer algorithms underlying the revolution in biology. Students will learn algorithms for reconstructing phylogeny, for sequence alignment, and for analysis of genomes, and students will have an opportunity to create their own algorithms.

Offering: **Crosslisting**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-BIOL**

Identical With: **BIOL327, BIOL527, COMP527, CIS327**

Prereq: **[BIOL182 or MB&B182] OR [BIOL196 or MBB196] OR COMP112 OR COMP211**

**COMP331 Computer Structure and Organization**

The purpose of the course is to introduce and discuss the structure and operation of digital computers. Topics will include the logic of circuits, microarchitectures, microprogramming, conventional machine architectures, and an introduction to software/hardware interface issues. Assembly language programming will be used to demonstrate some of the basic concepts.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP531**

Prereq: **COMP212**

**COMP332 Computer Networks**

This course will provide an introduction to the fundamentals of computer networks. Computer networks have become embedded in our everyday lives, from the Internet to cellular phones to cloud networking, enabling applications such as email, texting, web browsing, on-demand video, video conferencing, peer-to-peer file sharing, social networking, cloud computing, and more. This course will delve into the infrastructure and protocols that have allowed computer networks to achieve their current ubiquity. While the primary focus of the course will be on the Internet's architecture, protocols, and applications, we will also touch on other types of computer networks. Programming assignments will be done using Python; prior knowledge of Python is not required.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 and MATH228**

**COMP333 Software Engineering**

Software engineering is the application of engineering principles to the software development process. Eliciting requirements from stakeholders, designing the architecture of a program, performing usability studies, and testing a codebase are some of the aspects that elevate program development to software engineering. Focusing on web and mobile apps, students in this course will gain expertise in state-of-the-art frontend, backend, and mobile technologies, as well as related tooling. We will also cover the collaborative organization of software projects, software licensing, software business models, and ethical considerations for professional software engineers.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP211 AND COMP212**

**COMP334 Information Security and Privacy**

This course explores principles and practical applications of computer security and privacy. Some of the topics covered include static and dynamic code analysis, secure authentication, privacy enhancing technologies, usable privacy and security, and web tracking. We will also touch upon theoretical areas, such as basic cryptographic concepts as well as differential privacy. The course has the objective to provide students with the conceptual knowledge and technical skills to identify and resolve privacy and security issues in the design, development, and evaluation of information systems.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP341 Artificial Intelligence**

This course is an introduction to creating programs that appear to behave intelligently. Topics will include search algorithms for problem solving, as well as probabilistic reasoning, including regression, classification, and decision making. Sample topics include Bayesian networks, basic neural networks and reinforcement learning.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP343 Machine Learning**

This course will provide an introduction to machine learning. The field of machine learning studies how to design systems that learn from experience. We will cover fundamental concepts and algorithms used in machine learning, as well as give an introduction to basic probability and statistics. Sample topics include regression, classification, Bayesian networks, Gibbs sampling, particle filtering, maximum likelihood estimation, neural networks, deep learning, clustering, bias/variance trade-offs, cross-validation, and practical advice. Programming assignments will be done using Python; prior knowledge of Python is not required.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP350 Computational Media: Videogame Development**

This course examines the interplay of art and science in the development of contemporary videogames using the Unity development platform and commercial artistic game tools. Students develop a comprehensive understanding of computational media, including legal and commercial aspects, combined with hands-on experience in a creative process that integrates design, art, and coding. There will be discussions with invited industry leaders in various subject areas. Students will have the opportunity to work as part of development teams and create working prototypes to better understand the challenges and rewards of producing graphic interactive software within a professional context.

Offering: **Crosslisting**

Grading: **A-F**

Credits: **2.00**

Gen Ed Area: **NSM-IDEA**

Identical With: **IDEA350, FILM250, CIS350**

Prereq: **None**

**COMP353 Robotics**

Students will use hands-on projects, building and programming Arduino-based robots to learn about the field of robotics. Topics will include perception, locomotion, localization, common programming frameworks for robotics, and ethical considerations. Some background in electronics and mechanical construction may be helpful but is not required.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **IDEA353**

Prereq: **COMP211**

**COMP360 Special Topics in Computer Science: Information Security and Privacy**

This course explores principles and practical applications of computer security and privacy. Some of the topics covered include static and dynamic code analysis, secure authentication, privacy enhancing technologies, usable privacy and security, and web tracking. We will also touch upon theoretical areas, such as basic cryptographic concepts as well as differential privacy. The course has the objective to provide students with the conceptual knowledge and technical skills to identify and resolve privacy and security issues in the design, development, and evaluation of information systems.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP360A Special Topics in Computer Science**

The course will be an introduction to automated reasoning for computer science. Decision procedures for the satisfiability of formulas of propositional logic and of various fragments of first-order equational theories will be covered. For the application part of the course, students will use the automated modeling tool Alloy to design and analyze software systems. Student work will include both mathematical exercises and programming exercises.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP360B Special Topics in Computer Science**

This course covers special topics in computer science. Topics will vary according to the instructor.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP360C Special Topics in Computer Science**

Special Topics in Computer Science

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP360D Special Topics in Computer Science**

Special Topics in Computer Science

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP360E Special Topics in Computer Science: Functional Data Structures**

Advanced data structures from a functional programming perspective. The focus will be on the use of lazy evaluation as a technique for designing efficient data structures, especially in the presence of persistence (when the state of the structure must be preserved even after updates). Assessment will consist primarily of programming and written assignments.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP360G Special Topics in Computer Science: High Performance Scientific Computing**

Students will learn about high performance computing techniques as applied to scientific computations. We will work on Wesleyan's high performance computing (HPC) cluster, gaining familiarity with the HPC environment including the BASH shell and the multiuser queueing system for job submissions. We will design and implement high performance python code, including how to take advantage of parallel processing in central processing units (CPUs) and graphical processing units (GPUs).

We will consider the AMBER molecular dynamics package as a case study of a professional high performance computing package illustrating highly performant code optimized at many levels, and survey a selection of other packages for comparison. The final project will enable students to explore the major themes of the course as applied to their particular areas of interest.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **COMP212 AND MATH228**

**COMP360H Topics in Computer Science: Static Program Analysis**

Static program analysis refers to a collection of techniques for analyzing source code to predict execution behavior. It is used for areas such as compiler optimization, programming error detection, and security analysis. This course will focus on the latter two areas, to explore fundamental techniques and concepts. There will be foundational and programming work centered around a medium-scale project.

This course may be used to satisfy the PL Core Area requirement for the COMP major.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **COMP212 AND MATH228**

**COMP361 Advanced Topics in Computer Science**

This course covers advanced topics in Computer Science. The precise topics will vary with the offering, but will typically have prerequisites beyond COMP 211-212. This course may be repeated for credit.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH228 AND COMP212**

**COMP401 Individual Tutorial, Undergraduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP402 Individual Tutorial, Undergraduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP403 Department/Program Project or Essay**

Project to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **A-F**

**COMP404 Department/Program Project or Essay**

Project to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **A-F**

**COMP407 Senior Tutorial (downgraded thesis)**

Downgraded Senior Thesis Tutorial - Project to be arranged in consultation with the tutor. Only enrolled in through the Honors Coordinator.

Offering: **Host**

Grading: **A-F**

**COMP408 Senior Tutorial (downgraded thesis)**

Downgraded Senior Thesis Tutorial - Project to be arranged in consultation with the tutor. Only enrolled in through the Honors Coordinator.

Offering: **Host**

Grading: **A-F**

**COMP409 Senior Thesis Tutorial**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP410 Senior Thesis Tutorial**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP411 Group Tutorial, Undergraduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP412 Group Tutorial, Undergraduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP419 Student Forum**

Student-run group tutorial, sponsored by a faculty member and approved by the chair of a department or program.

Offering: **Host**

Grading: **Cr/U**

**COMP420 Student Forum**

Student-run group tutorial, sponsored by a faculty member and approved by the chair of a department or program.

Offering: **Host**

Grading: **Cr/U**

**COMP421 Undergraduate Research, Sciences**

Individual research projects for undergraduate students supervised by faculty members.

Offering: **Host**

Grading: **A-F**

**COMP422 Undergraduate Research, Sciences**

Individual research projects for undergraduate students supervised by faculty members.

Offering: **Host**

Grading: **OPT**

**COMP423 Advanced Research Seminar, Undergraduate**

Advanced research tutorial; project to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP424 Advanced Research Seminar, Undergraduate**

Advanced research tutorial; project to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP465 Education in the Field, Undergraduate**

Students must consult with the department and class dean in advance of undertaking education in the field for approval of the nature of the responsibilities and method of evaluation.

Offering: **Host**

Grading: **OPT**

**COMP468 Independent Study, Undergradua**

Offering: **Host**

Grading: **OPT**

**COMP469 Education in the Field, Undergraduate**

Students must consult with the department and class dean in advance of undertaking education in the field for approval of the nature of the responsibilities and method of evaluation.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**COMP491 Teaching Apprentice Tutorial**

The teaching apprentice program offers undergraduate students the opportunity to assist in teaching a faculty member's course for academic credit.

Offering: **Host**

Grading: **OPT**

**COMP492 Teaching Apprentice Tutorial**

The teaching apprentice program offers undergraduate students the opportunity to assist in teaching a faculty member's course for academic credit.

Offering: **Host**

Grading: **OPT**

**COMP500 Automata Theory and Formal Languages**

This course is an introduction to formalisms studied in computer science and mathematical models of computing machines. The language formalisms discussed will include regular, context-free, recursive, and recursively enumerable languages. The machine models discussed include finite-state automata, pushdown automata, and Turing machines.

Offering: **Crosslisting**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP301**

Prereq: **COMP211 AND COMP212 AND MATH228**

**COMP501 Individual Tutorial, Graduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP502 Individual Tutorial, Graduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP503 Selected Topics, Graduate Sciences**

Topic to be arranged in consultation with the tutor. A seminar primarily concerned with papers taken from current research publications designed for, and required of, graduate students.

Offering: **Host**

Grading: **A-F**

**COMP504 Selected Topics, Graduate Sciences**

Topic to be arranged in consultation with the tutor. A seminar primarily concerned with papers taken from current research publications designed for, and required of, graduate students.

Offering: **Host**

Grading: **A-F**

**COMP510 Algorithms and Complexity**

The course will cover the design and analysis of efficient algorithms. Basic topics will include greedy algorithms, divide-and-conquer algorithms, dynamic programming, and graph algorithms. Some advanced topics in algorithms may be selected from other areas of computer science.

Offering: **Crosslisting**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP312**

Prereq: **COMP212 AND MATH228**

**COMP511 Group Tutorial, Graduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP512 Group Tutorial, Graduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP521 Design of Programming Languages**

This course is an introduction to concepts in programming languages. Topics include parameter passing, type checking and inference, control mechanisms, data abstraction, module systems, and concurrency. Basic ideas in functional, object-oriented, and logic programming languages will be discussed.

Offering: **Crosslisting**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP321**

Prereq: **COMP212 AND MATH228**

**COMP523 Programming Language Implementation**

This course is an introduction to the implementation of programming languages.

Students will learn how to formally describe and implement major components of the implementation pipeline. Topics may include lexical analysis and parsing (checking whether source code is well-formed and converting it to an internal programmatic representation), type-checking and -inference (static program analysis for safety features), interpretation (direct execution of a high-level language program), and compilation (translation to a low-level language such as assembly or bytecode).

Offering: **Crosslisting**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP323**

Prereq: **COMP212 AND MATH228**

**COMP527 Evolutionary and Ecological Bioinformatics**

Bioinformatic analysis of gene sequences and gene expression patterns has added enormously to our understanding of ecology and evolution. For example, through bioinformatic analysis of gene sequences, we can now reconstruct the evolutionary history of physiology, even though no traces of physiology exist in the fossil record. We can determine the adaptive history of one gene and all the gene's descendants. We can now construct the evolutionary tree of all of life. Bioinformatics is particularly promising for analysis of the ecology and biodiversity of microbial communities, since well over 99 percent of microorganisms cannot be cultured; our only knowledge of these organisms is through analysis of their gene sequences and gene expression patterns. For example, even when we cannot culture most of a microbial community, we can determine which metabolic pathways are of greatest significance through analysis of community-level gene expression. All these research programs are made accessible not only by breakthroughs in molecular technology but also by innovation in the design of computer algorithms. This course, team-taught by an evolutionary biologist and a computer scientist, will present how bioinformatics is revolutionizing evolutionary and ecological investigation and will present the design and construction of bioinformatic computer algorithms underlying the revolution in biology. Students will learn algorithms for reconstructing phylogeny, for sequence alignment, and for analysis of genomes, and students will have an opportunity to create their own algorithms.

Offering: **Crosslisting**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-BIOL**

Identical With: **BIOL327, COMP327, BIOL527, CIS327**

Prereq: **[BIOL182 or MB&B182] OR [BIOL196 or MBB196] OR COMP112 OR COMP211**

**COMP531 Computer Structure and Organization**

The purpose of the course is to introduce and discuss the structure and operation of digital computers. Topics will include the logic of circuits, microarchitectures, microprogramming, conventional machine architectures, and an introduction to software/hardware interface issues. Assembly language programming will be used to demonstrate some of the basic concepts.

Offering: **Crosslisting**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Identical With: **COMP331**

Prereq: **COMP212**

**COMP549 Advanced Research Seminar, Graduate**

Advanced research tutorial; project to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**COMP550 Advanced Research Seminar, Graduate**

Offering: **Host**

Grading: **OPT**

**COMP571 Special Topics in Computer Science**

Supervised reading course of varying length. This course may be repeated for credit.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**COMP572 Special Topics in Computer Science**

Supervised reading course of varying length. This course may be repeated for credit.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

## Mathematics

**MATHINB Indian Baccalaureate Credit**

Offering: **Host**

Grading: **Transfer**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH117 Introductory Calculus**

This course is designed to introduce basic ideas and techniques of differential calculus. Students should enter with sound precalculus skills but with very limited or no prior study of calculus. Topics to be considered include differential calculus of algebraic, exponential, and logarithmic functions. (Integral calculus will be introduced in MATH118.)

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH118 Introductory Calculus II: Integration and Its Applications**

This course continues MATH117 and is designed to introduce basic ideas and techniques of calculus. Students should enter MATH118 with sound precalculus skills and with very limited or no prior study of integral calculus. Topics to be considered include differential and integral calculus of algebraic, exponential, and logarithmic functions.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH119 Elements of Calculus, Part I**

This course is the first half of a two-semester calculus sequence (MATH119, MATH120). This sequence is designed for students who have not previously studied calculus. The course, together with MATH120, will cover limits, derivatives, and integrals. Exponential, logarithmic, and trigonometric functions will be introduced and their calculus will be studied. Applications of calculus to biology, economics, physics, and/or other fields will be emphasized.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH120 Elements of Calculus, Part II**

This course is the second half of a two-semester calculus sequence. This sequence is designed for students who have not previously studied calculus. The course, together with MATH119, will cover limits, derivatives, and integrals. Exponential, logarithmic, and trigonometric functions will be introduced and their calculus will be studied. Applications of calculus to biology, economics, physics, and/or other fields will be emphasized.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH119**

**MATH121 Calculus I**

MATH121, together with MATH122, will cover both theoretical and practical aspects of limits, derivatives, and integrals; the calculus of exponential, logarithmic, trigonometric, and inverse trigonometric functions; techniques of integration; plane analytic geometry; various applications of calculus; and sequences and series, including power series and intervals of convergence.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH122 Calculus II**

The continuation of MATH121. Topics covered include techniques and applications of integration and an introduction to sequences and series.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH123F Mathematical Deduction with Calculus (FYS)**

This course is a first-year seminar (FYS). Topics covered include techniques and applications of integration and an introduction to sequences and series, with an emphasis on mathematical writing. Weekly papers will be required.It is suitable for students who have already taken calculus and are interested in pursuing the mathematics major. Students may not receive credit for both MATH 122 and MATH 123.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH121**

**MATH132 Elementary Statistics**

Topics included in this course are organizing data, central measures, measures of variation, distributions, sampling, estimation, conditional probability (Bayes' theorem), hypothesis testing, simple regression and correlation, and analysis of variation.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH133 Intermediate Statistics**

This class continues the study of statistics begun in MATH 132. Topics will include experimental design, ANOVA, multiple regression, non-parametric tests, and further topics as time permits. This course is an ideal continuation for students who have taken MATH 132 or who got a 4 or 5 on the AP Statistics exam and who wish to deepen their statistics knowledge.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH132**

**MATH134F Mathematical Thinking (FYS)**

In this course we seek to illustrate for the students that mathematics is an organic way of thinking, with a beauty and elegance of its own, that also includes its essential applications to many concrete physical models. Students will learn the techniques of mathematical writing, as well as take a survey of important mathematical topics.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH211 Problem Solving for the Putnam**

This course will explore the problems and problem-solving techniques of the annual William Lowell Putnam mathematical competition. Particular emphasis will be placed on learning to write clear and complete solutions to problems. The competition is open to all undergraduate students.

Offering: **Host**

Grading: **Cr/U**

Credits: **0.25**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH221 Vectors and Matrices**

This is a course on the algebra of matrices and vector spaces. It emphasizes a concrete approach to the material. Topics include solving systems of linear equations, vector algebra, matrix algebra, properties of invertible matrices, determinants, the vector space Rn and its subspaces, dimension, and linear transformations. It concludes with a discussion of eigenvalues, eigenvectors, and matrix diagonalization. If time permits, additional topics such as the dot product, the Gram-Schmidt process, and basic aspects of vector spaces will be discussed.

MATH 221 and MATH 223 cover very similar material, but they are intended for students with different experience in mathematics. MATH 221 takes a more concrete approach to the material, and it is suitable for students who have not yet engaged with proof-based mathematics. MATH 223 takes a more theoretical approach that is appropriate for students who have taken proof-based math courses already or for students with strong mathematics backgrounds who are willing to learn how to read and write proofs in parallel with linear algebra. MATH 221 and MATH 223 fulfill the same requirement for the mathematics major, and students need only select the option that is best suited to their current background in mathematics.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH122**

**MATH222 Multivariable Calculus**

This course treats the basic aspects of differential and integral calculus of functions of several real variables, with emphasis on the development of calculational skills. The areas covered include scalar- and vector-valued functions of several variables, their derivatives, and their integrals; the nature of extremal values of such functions and methods for calculating these values; and the theorems of Green and Stokes.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH223 Linear Algebra**

This is a first course on linear algebra. It emphasizes a theoretical approach to the material. Topics include vector spaces, subspaces, dimension, linear transformations and matrices, determinants, eigenvalues and eigenvectors, and diagonalization of linear operators. If time permits, additional topics such as inner product spaces, Hermitian and unitary transformations, and elementary spectral theory will be discussed.

MATH 221 and MATH 223 cover very similar material--they are both linear algebra courses--but they are intended for students with different experience in mathematics. MATH 223 takes a more theoretical approach that is appropriate for students who have taken proof-based math courses already or for students with strong mathematics backgrounds who are willing to learn how to read and write proofs in parallel with linear algebra. MATH 221 takes a more concrete approach to the material, and it is suitable for students who have not yet engaged with proof-based mathematics. MATH 221 and MATH 223 fulfill the same requirement for the mathematics major, and students need only select the option that is best suited to their current background in mathematics.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH122**

**MATH225 Introduction to Real Analysis**

In this rigorous treatment of calculus, topics will include, but are not limited to, real numbers, limits, sequences and series, continuity and uniform continuity, differentiation, the Riemann integral, sequences and series of functions, pointwise and uniform convergence of functions, and interchange of limiting processes. MATH228 or comparable experience in writing mathematical proofs is strongly recommended for success in this course.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **(MATH222 AND MATH221) OR (MATH222 AND MATH223)**

**MATH226 Complex Analysis**

This course will present the basic properties of complex analytic functions. We begin with the complex numbers themselves and elementary functions and their mapping properties, then discuss Cauchy's integral theorem and Cauchy's integral formula and applications, Taylor and Laurent series, zeros and poles and residue theorems, the argument principle, and Rouche's theorem. In addition to a rigorous introduction to complex analysis, students will gain experience in communicating mathematical ideas and proofs effectively.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **(MATH222 AND MATH221) OR (MATH222 AND MATH223)**

**MATH228 Discrete Mathematics**

This course is a survey of discrete mathematical processes. Students will be introduced to the process of writing formal mathematical proofs, including mathematical induction. Topics may include set theory, logic, number theory, finite fields, permutations, elementary combinatorics, or graph theory.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH229 Differential Equations**

This course is an introduction to the theory of ordinary differential equations. Topics will include existence and uniqueness theorems as well as techniques to solve systems of equations, with applications in pure mathematics and related fields such as physics, chemistry or biology.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **(MATH221 AND MATH222) OR (MATH222 AND MATH223)**

**MATH231 An Introduction to Probability**

This course teaches the basic theory of probability. Although the notions are simple and the mathematics involved require only a basic knowledge of the ideas of differential and integral calculus, a certain degree of mathematical maturity is necessary. The fundamental concepts to be studied are probability spaces and random variables, the most important ideas being conditional probability and independence. The main theorems we will study are the law of large numbers and the central limit theorem.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH222 AND MATH228**

**MATH232 Mathematical Statistics**

This course covers the basic notions of estimation, hypothesis testing, regression, analysis of variance, experimental design, and other topics in statistics from a rigorous mathematical perspective. This material will be supplemented by various case studies.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH231**

**MATH233 Stochastic Processes**

This course provides a rigorous introduction to the theory of stochastic processes. Topics include a review of basic concepts of probability theory (probability spaces, random variables, expectation), Markov chains, Poisson processes, random walks, and Brownian motion. In tandem, the workshop section taught by the Hazel Quantitative Analysis Center (QAC) will provide practical skills in R programming. These workshops are geared towards novices in programing and will detail ways to computationally tackle more complex, real-life stochastic processes. Students entering the course should have completed MATH231, and be comfortable with multivariable calculus and linear algebra.

Offering: **Host**

Grading: **A-F**

Credits: **1.50**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH231**

**MATH241 Set Theory**

This course covers ordinal and cardinal numbers, cardinal arithmetic, theorems of Cantor and Schroeder-Bernstein, introduction to Zermelo-Fraenkel set theory, Axiom of Choice, and some infinitary combinatorics.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH242 Topology**

This course is an introduction to topology, the study of space in a general sense. We will approach topology through knot theory, the study of embeddings of a circle in a 3-dimensional space.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **None**

**MATH243 Mathematical Logic**

This course is an introduction to mathematical logic, including first-order logic and model theory, axiomatic set theory, and, as time permits, Goedel's incompleteness theorem.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH228**

**MATH244 Topology: Point Set**

This is an introduction to general topology, the study of topological spaces. We will begin with the most natural examples, metric spaces, and then move on to more general spaces. This subject, fundamental to mathematics, enables us to discuss notions of continuity and approximation in their broadest sense. We will illustrate topology's power by seeing important applications to other areas of mathematics.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH228**

**MATH246 Applied Topology**

This course teaches the main concepts in Applied Topology. Students will learn to apply nonlinear methods to analyze the shape of data sets. These approaches are drawn from classical topology and focus on the shape in one of two ways: they either 'measure' it, that is count the occurrences of patterns within the data set; or build combinatorial representations of the data set. As an example of the former, we will look at persistent homology, whereas the latter will be represented by mapper. The topics covered include: basic notions from topology, simplicial complexes (Cech complexes, Vietoris-Rips complexes, etc.), homology, persistent homology and applications, mapper.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH223**

**MATH247 Applied Linear Algebra**

This is a course on topics in linear algebra that are the foundations of modern data science and machine learning. Topics include dimensionality reductions, matrix decompositions, elementary spectral theory, multivariate optimizations, and their applications to machine learning such as gradient descent and support vector machines.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **(MATH221 OR MATH223) AND MATH222**

**MATH252 Differential Forms**

This class will be an introduction to differential forms, a central tool in modern topology, geometry, and physics. The course begins where MATH222 ends, with Green's theorem, the divergence theorem, and Stokes' theorem. All of these theorems are special cases of one theorem, known as the general Stokes' theorem, about integration of differential forms. The objective of the first part of the course will be to understand and prove this theorem. We will then discuss manifolds and what can be learned about them using differential forms, concentrating on de Rham cohomology.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **(MATH221 AND MATH222) OR (MATH222 AND MATH223)**

**MATH255 Advanced Topics in Real Analysis**

Topics to be addressed include convergence of sequences and series of functions, spaces of functions and their topologies, the Lebesgue integral (on the line) and its basic convergence theorems, and Fourier series.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH225**

**MATH261 Introduction to Abstract Algebra**

This course is an introduction to abstract principles based on the special properties of the integers, rational, real and complex numbers. The course will cover general algebraic structures as well as their quotients and homomorphisms, with emphasis on fundamental results about groups and rings.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **(MATH221 AND MATH228) OR (MATH223 AND MATH228)**

**MATH262 Advanced Topics in Abstract Algebra**

This second course in abstract algebra will cover fields and polynomial rings, as well as Galois theory and the insolvability of the quintic polynomial. Additional topics will be covered as time permits.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH261**

**MATH264 Algebraic Geometry**

This course is an introduction to algebraic geometry, the study of the geometric structure of solutions to systems of polynomial equations. These may take the form of lines, circles, parabolas, ellipses, hyperbolas, elliptic curves, leminiscates or Cassini ovals.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH261**

**MATH271 Error-Correcting Codes**

Nowadays messages are sent electronically through different kinds of communication channels. Most of these channels are not perfect and errors are created during the transmission. The object of an error-correcting code is to encode the data so that the message can be recovered if not too many errors have occurred. The goal of this course is to introduce the basic mathematical ideas behind the design of error-correcting codes. It makes use of algebraic techniques involving vector spaces, finite fields, and polynomial rings. These techniques will be developed in this course so that prior knowledge is not necessary.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH221 OR MATH223**

**MATH272 Elementary Number Theory**

This is a course in the elements of the theory of numbers. Topics covered include divisibility, congruences, quadratic reciprocity, Diophantine equations, and a brief introduction to algebraic numbers.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH228**

**MATH273 Combinatorics**

This course will present a broad, comprehensive survey of combinatorics. Topics may include partitions, the topic of inclusion-exclusion, generating functions, recurrence relations, partially ordered sets, trees, graphs, and min-max theorems.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH228**

**MATH274 Graph Theory**

A graph is a set V of elements called vertices and a set E of pairs of elements of V called edges. From this simple definition, many elegant models have been developed. Indeed, graph theory is essential to applications of computer science to network analysis and planar mapping.

This course will be an introduction to graph theory and its applications.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH228**

**MATH283 Differential Geometry**

This course is an introduction to the classical differential geometry of curves and surfaces in Euclidean 3-space. Topics from global differential geometry and extensions to higher dimensions will be considered as time and the background of the students permit.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **(MATH222 AND MATH221) OR (MATH222 AND MATH223)**

**MATH284 Euclidean and Non-Euclidean Geometry**

Euclid developed an axiomatic system to describe plane geometry in 300 BC. This system is fundamental to our understanding of mathematics today. In this course, we will compare and contrast plane geometry and its axiomatic system with several beautiful geometries, including spherical, elliptical and hyperbolic geometries, and their applications.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH222 AND (MATH221 OR MATH223)**

**MATH285 Introduction to Lie Theory**

Lie theory is a fundamental area of mathematics, with many applications to physics and other sciences. In this course, we will study the basics of elementary Lie theory. This course will focus on matrix groups, which have concrete descriptions and include all of the Lie groups that commonly arise in applications. Topics covered in this class will include the algebra and topology of matrix groups, Lie algebras, matrix exponentiation, and applications.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **NSM-MATH**

Prereq: **MATH261**

**MATH401 Individual Tutorial, Undergraduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**MATH402 Individual Tutorial, Undergraduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**MATH407 Senior Tutorial (downgraded thesis)**

Downgraded Senior Thesis Tutorial - Project to be arranged in consultation with the tutor. Only enrolled in through the Honors Coordinator.

Offering: **Host**

Grading: **A-F**

**MATH408 Senior Tutorial (downgraded thesis)**

Offering: **Host**

Grading: **A-F**

**MATH409 Senior Thesis Tutorial**

Topics to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**MATH410 Senior Thesis Tutorial**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**MATH411 Group Tutorial, Undergraduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**MATH412 Group Tutorial, Undergraduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**MATH419 Student Forum**

Student-run group tutorial, sponsored by a faculty member and approved by the chair of a department or program.

Offering: **Host**

Grading: **Cr/U**

**MATH421 Undergraduate Research, Science**

Individual research projects for undergraduate students supervised by faculty members.

Offering: **Host**

Grading: **OPT**

**MATH422 Undergraduate Research, Science**

Individual research projects for undergraduate students supervised by faculty members.

Offering: **Host**

Grading: **OPT**

**MATH423 Advanced Research Seminar, Undergraduate**

Offering: **Host**

Grading: **OPT**

**MATH424 Advanced Research Seminar, Undergraduate**

Offering: **Host**

Grading: **OPT**

**MATH465 Education in the Field, Undergraduate**

Students must consult with the department and class dean in advance of undertaking education in the field for approval of the nature of the responsibilities and method of evaluation.

Offering: **Host**

Grading: **OPT**

**MATH466 Education in the Field, Undergraduate**

Students must consult with the department and class dean in advance of undertaking education in the field for approval of the nature of the responsibilities and method of evaluation.

Offering: **Host**

Grading: **OPT**

**MATH469 Education in the Field, Undergraduate**

Students must consult with the department and class dean in advance of undertaking education in the field for approval of the nature of the responsibilities and method of evaluation.

Offering: **Host**

Grading: **OPT**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH470 Independent Study, Undergraduate**

Credit may be earned for an independent study during a summer or authorized leave of absence provided that (1) plans have been approved in advance, and (2) all specified requirements have been satisfied.

Offering: **Host**

Grading: **OPT**

Credits: **0.50**

Gen Ed Area: **None**

Prereq: **None**

**MATH491 Teaching Apprentice Tutorial**

The teaching apprentice program offers undergraduate students the opportunity to assist in teaching a faculty member's course for academic credit.

Offering: **Host**

Grading: **OPT**

**MATH492 Teaching Apprentice Tutorial**

Offering: **Host**

Grading: **OPT**

**MATH495 Research Apprentice, Undergraduate**

Project to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **Cr/U**

**MATH496 Research Apprentice, Undergraduate**

Project to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **Cr/U**

**MATH500 Graduate Pedagogy**

The elements of good teaching will be discussed and demonstrated through lectures, practice teaching sessions, and discussions of problems encountered in the actual teaching environment. The staff consists of faculty and experienced graduate students. An integral part of the course is a required one-day workshop BEFORE the first day of formal classes.

Training in pedagogy in the first semester of attendance is required for all incoming Wesleyan MA and PhD students who have not already fulfilled this requirement at Wesleyan. BA/MA students are not required to get training in pedagogy but may choose to do so.

Offering: **Crosslisting**

Grading: **Cr/U**

Credits: **0.50**

Gen Ed Area: **None**

Identical With: **ASTR500, CHEM500, BIOL500, E&ES500, MB&B500, MUSC500, PHYS500, PSYC500**

Prereq: **None**

**MATH501 Individual Tutorial, Graduate**

Topic to be arranged in consultation with tutor.

Offering: **Host**

Grading: **OPT**

**MATH502 Individual Tutorial, Graduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**MATH503 Selected Topics, Graduate Sciences**

Topic to be arranged in consultation with the tutor. A seminar primarily concerned with papers taken from current research publications designed for, and required of, graduate students.

Offering: **Host**

Grading: **OPT**

**MATH504 Selected Topics, Graduate Sciences**

Topic to be arranged in consultation with the tutor. A seminar primarily concerned with papers taken from current research publications designed for, and required of, graduate students.

Offering: **Host**

Grading: **OPT**

**MATH507 Topics in Combinatorics**

Each year the topic will change.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH509 Model Theory**

This course will emphasize model theoretic algebra. We will consider the model theory of fields, including algebraically closed, real-closed, and p-adically closed fields; algebraically closed valued fields; and also general questions of definability in fields. As time permits, we will consider more recent applications of model theory in number theory and arithmetic geometry. Ideally, the student should understand what it means to be first-order definable and should have the equivalent of a year's study of abstract algebra. To study various applications, it will be necessary to assume certain results from the areas of application--that is, without proving them ab initio.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH511 Group Tutorial, Graduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**MATH512 Group Tutorial, Graduate**

Topic to be arranged in consultation with the tutor.

Offering: **Host**

Grading: **OPT**

**MATH513 Analysis I**

MATH513 and MATH514 constitute the first-year graduate course in real and complex analysis. One semester will be devoted to real analysis, covering such topics as Lebesgue measure and integration on the line, abstract measure spaces and integrals, product measures, decomposition and differentiation of measures, and elementary functional analysis. One semester will be devoted to complex analysis, covering such topics as analytic functions, power series, Mobius transformations, Cauchy's integral theorem and formula in its general form, classification of singularities, residues, argument principle, maximum modulus principle, Schwarz's lemma, and the Riemann mapping theorem.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH514 Analysis I**

MATH513 and MATH514 constitute the first-year graduate course in real analysis, complex analysis and functional analysis. Topics may include power series, Mobius transformations, Cauchy's integral theorem and formula, maximum modulus principle, Schwarz's lemma, Riemann mapping theorem, Lebesgue and other measures, and Fourier transforms.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH515 Analysis II**

This is a topics course in analysis and varies from year to year. It may be repeated for credit.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH516 Analysis II**

This is a topics course in analysis and varies from year to year. It may be repeated for credit.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **MATH513**

**MATH523 Topology I**

This course is an introduction to topological spaces and the fundamental group; topological spaces, continuous maps, metric spaces; product and quotient spaces; compactness, connectedness, and separation axioms; and introduction to homotopy and the fundamental group.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH524 Topology I**

A continuation of MATH523, this course will be an introduction to algebraic topology, concentrating on the fundamental group and homology.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH525 Topology II: Topics in Topology**

This is a topics course in topology that varies from year to year. This course may be repeated for credit. Recent topics have included knot theory, homotopy theory, Lie groups, and topological graph theory.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH526 Topology II**

This is a topics course in topology that varies from year to year. It may be repeated for credit.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH543 Algebra I**

This course covers group theory including Sylow theorems, and basic ring and module theory, including structure of finitely generated modules over principal-ideal domains.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH544 Algebra I**

This course studies Galois theory, finitely generated modules over principal-ideal domains, and other topics as time permits.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH545 Algebra II: Topics in Algebra**

This is a topics course in algebra that varies from year to year. This course may be repeated for credit.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH546 Algebra II**

This is a topics course in algebra that varies from year to year. It may be repeated for credit.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**

**MATH549 Advanced Research Seminar, Graduate**

Offering: **Host**

Grading: **OPT**

**MATH550 Advanced Research Seminar, Graduate**

Offering: **Host**

Grading: **OPT**

**MATH572 Special Topics in Mathematics**

This is a supervised reading course on advanced topics in number theory. This course may be repeated for credit.

Offering: **Host**

Grading: **A-F**

Credits: **1.00**

Gen Ed Area: **None**

Prereq: **None**