Course Descriptions

Computer Science | Mathematics

Computer Science

COMP 110 - Data and Computing Fundamentals

This course provides an introduction to the handling, analysis, and interpretation of "big data," the massive datasets now routinely being collected in science, commerce, and government. Students achieve facility with a sophisticated, technical computing environment. The course aligns with techniques being used in several courses in the sciences, statistics, and mathematics. The course is intended to be accessible to all students, regardless of background.

COMP 120 - Computing and Society

Topics course that introduces students to the field of computing by way of a central theme. Topics vary; offerings include Digital Humanities, Green Computing, and Social Media. Full description given in advance of registration. This course is suitable for students with little or no experience with computing, but it can serve as a starting point for the Computer Science major.

Frequency: Typically offered in the fall as a first-year course.

COMP 123 - Core Concepts in Computer Science

This course introduces the field of computer science, including central concepts such as the design and implementation of algorithms and programs, testing and analyzing programs, the representation of information within the computer, and the role of abstraction and metaphor in computer science. The exploration of these central ideas will draw examples from a range of application areas including multimedia processing, robotics, turtle graphics, and text processing. Course work will use the Python programming language.

Frequency: Every semester.

Prerequisite(s)

None.

COMP 124 - Object-Oriented Programming and Data Structures

This course introduces the principles of software design and development using the object-oriented paradigm (OOP) and the Java programming language. Students will learn to use data structures such as lists, trees and hash tables and they will compare the efficiency of these data structures for a particular application. Students will learn to decompose a project using OOP principles. They will work with integrated development environments (IDEs) and version control systems. Students will practice their skills by creating applications in areas such as graphics, games, simulations, and natural language processing. There is a required 1.5 hour laboratory section associated with this course.

Frequency: Every semester.

Prerequisite(s)

COMP 120 or  COMP 123 or permission of instructor.

COMP 154 - Ethics and the Internet

This course looks at ethical questions connected with the internet as we know it today: an online environment where content is generated and shared through user activities such as blogging, media sharing, social networking, tagging, tweeting, virtual world gaming, wiki developing, and the like. We will start by considering debates over freedom of speech, privacy, surveillance, and intellectual property: issues that pre-exist the development of the Internet, but which because of it have taken on new dimensions. From here we will go on to take up some ethical questions arising from four different domains of activity on the social web: gaming, social networking, blog/wiki developing, and "hacktivism." In the third part of the course, we will consider broad questions connected to the integration of the Internet with devices other than the personal computer and mobile phone and which open the prospect of a world of integrated networked systems. What are some of the impacts of such integration on our everyday ethical relations with others and on the overall quality of our lives? How does being networked affect the meaning of being human?

Frequency: Offered alternate years.

Cross-Listed as

PHIL 225 

COMP 194 - Topics Course

Varies by semester. Consult the department or class schedule for current listing.

COMP 221 - Algorithm Design and Analysis

An in-depth introduction to the design and analysis of algorithms. Topics may include algorithmic paradigms and structures, including recursion, divide and conquer, dynamic programming, greedy methods, branch and bound, randomized, probabilistic, and parallel algorithms, non-determinism and NP completeness. Applications to searching and sorting, graphs and optimization, geometric algorithms, and transforms.

Frequency: Every fall.

Prerequisite(s)

COMP 124 and MATH 136, or permission of instructor.

COMP 225 - Software Design and Development

This course builds upon the software design foundation started in COMP 124. Students will design and implement medium-sized software projects using modern software design principles such as design patterns, refactoring, fault tolerance, stream-based programming, and exception handling. The concept of a distributed computing system will be introduced, and students will develop multithreaded and networked applications using currently available software libraries. Advanced graphical user interface methods will be studied with an emphasis on appropriate human-computer interaction techniques. Students will use operating systems services and be introduced to methods of evaluating the performance of their software.

Frequency: Every fall.

Prerequisite(s)

COMP 124 or permission of instructor.

COMP 240 - Computer Systems Organization

This course familiarizes the student with the internal design and organization of computers. Topics include number systems, internal data representations, logic design, microarchitectures, the functional units of a computer system, memory, processor, and input/output structures, instruction sets and assembly language, addressing techniques, system software, and non-traditional computer architectures.

Frequency: Every spring.

Prerequisite(s)

COMP 124 , or permission of instructor.

COMP 261 - Theory of Computation

A discussion of the basic theoretical foundations of computation as embodied in formal models and descriptions. The course will cover finite state automata, regular expressions, formal languages, Turing machines, computability and unsolvability, and the theory of computational complexity. Introduction to alternate models of computation and recursive function theory.

Frequency: Every spring.

Prerequisite(s)

COMP 124 and MATH 136, or permission of instructor.

Cross-Listed as

MATH 361

COMP 294 - Topics Course

Varies by semester. Consult the department or class schedule for current listing.

COMP 302 - Introduction to Database Management Systems

This course will introduce students to the design, implementation, and analysis of databases stored in database management systems (DBMS). Topics include implementation-neutral data modeling, database design, database implementation, and data analysis using relational algebra and SQL. Students will generate data models based on real-world problems, and implement a database in a state-of-the-art DBMS. Students will master complex data analysis by learning to first design database queries and then implement them in a database query language such as SQL. Advanced topics include objects in databases, indexing for improved performance, distributed databases, and data warehouses.

Frequency: Offered even-numbered spring semesters.

COMP 320 - Computational Biology

This course will examine selected topics in computational biology, including basic bioinformatics, algorithms used in genomics an genome analysis, computational techniques forsystems biology, and synthetic biology. This is an interdisciplinary course that will often be cross-listed with a course in Biology.

Frequency: Offered odd-numbered spring semesters.

Prerequisite(s)

Students with either Biology or Computer Science or Math coursework may register for this interdisciplinary course.

COMP 325 - Compilers, Interpreters, and Programming Languages

This course will examine the techniques that underlie compiler and interpreter creation, including lexical analysis, parsing, and compiler generators. These tools will serve as a framework for examining programming language design issues across a range of language types (procedural, object-oriented, modern programming languages with an eye to understanding the underlying philosophy of each language, and how it influences and is influenced by the needs of a compiler or interpreter for the language. "Back-end" issues, including intermediate representations, code generation, and optimization will be included as they relate to specific programming languages.

Frequency: Offered odd-numbered fall semesters.

Prerequisite(s)

COMP 221 and either COMP 240 or COMP 261, or consent of instructor.

COMP 340 - Digital Electronics

A survey of fundamental ideas and methods used in the design and construction of digital electronic circuits such as computers. Emphasis will be on applying the theoretical aspects of digital design to the actual construction of circuits in the laboratory. Topics to be covered include basic circuit theory, transistor physics, logic families (TTL, CMOS), Boolean logic principles, combinatorial design techniques, sequential logic techniques, memory circuits and timing, and applications to microprocessor and computer design. Three lectures and one three-hour laboratory per week.

Frequency: Offered alternate spring semesters.

Prerequisite(s)

MATH 137 or permission of instructor.

Cross-Listed as

PHYS 340

COMP 342 - Operating Systems and Computer Architecture

The basic principles related to the design and architecture of operating systems. Concepts to be discussed include sequential and concurrent processes, synchronization and mutual exclusion, processor scheduling, time-sharing, multiprogramming, multitasking, and parallel processing. Memory management techniques. File system design. Security and protection systems. Performance evaluation.

Frequency: Offered odd-numbered spring semesters.

Prerequisite(s)

COMP 240 or permission of instructor.

COMP 346 - Internet Computing

This course will investigate the latest technology available for building web applications with dynamic content. It will look at all stages in the web application design process, including: 1) client applications, 2) web applications that service client requests, 3) application servers that manage requests for information, update data, and serve client applets, and 4) the database management system that holds the data. The course will be programming-intensive using aspects of the Java language available for designing and implementing Internet applications. The format of the course will be mainly laboratory-based sessions where you learn to build these four components of a web application, supported by lectures and discussions. Students will research particular topics and present their findings during these discussion sessions. The course will also investigate the usability of designs from a human factors standpoint and discuss privacy and other social consequences of this technology.

Frequency: Offered even-numbered fall semesters.

Prerequisite(s)

COMP 225 or permission of instructor.

COMP 365 - Computational Linear Algebra

This course covers a central point of contact between mathematics and computer science. Many of the computational techniques important in science, commerce, and statistics are based on concepts from linear algebra: subspaces, projection, matrix decompositions, etc. The course reviews these concepts, adopts them to large scales, and applies them in the core techniques of scientific computing; solving systems of linear and nonlinear equations, approximation and statistical function estimation, optimization, interpolation, Monte Carlo techniques. Applications throughout the sciences and statistics.

Frequency: Every spring.

Prerequisite(s)

COMP 120 or COMP 123, and MATH 236

Cross-Listed as

MATH 365

COMP 380 - Bodies/Minds: AI Robotics

This course examines two distinct aspects of work in robotics: the physical construction of the robot's "body" and the creation of robot control programs that form the robot's "mind." It will study the strengths and weaknesses of a variety of robot sensors, including sonar, infrared, touch, GPS, and computer vision. It will also examine a variety of techniques for robot control programs, including both reactive and deliberative approaches. The course will include hands-on work with multiple robots, and a semester-long course project in robotics. The course format will be a seminar, with students reading and discussing the research literature.

Frequency: Offered even-numbered spring semesters.

Prerequisite(s)

COMP 221 or permission of instructor.

COMP 394 - Topics Course

Varies by semester. Consult the department or class schedule for current listing.

COMP 440 - Collective Intelligence

This course will explore how computers can analyze people's collective behavior to help them. Students will read and discuss recent academic research papers about collective behavior on sites such as Wikipedia, Facebook, and Twitter. Students will use coputational simulation and data-mining techniques to analyze online datasets.

Frequency: Offered odd-numbered fall semesters.

Prerequisite(s)

COMP 124 and COMP 221, or permission of instructor.

COMP 445 - Parallel and Distributed Processing

Many current computational challenges, such as Internet search, protein folding, and data mining require the use of multiple processes running in parallel, whether on a single multiprocessor machine (parallel processing) or on multiple machines connected together on a network (distributed processing). The type of processing required to solve such problems in adequate amounts of time involves dividing the program and/or problem space into parts that can run simultaneously on many processors. In this course we will explore the various computer architectures used for this purpose and the issues involved with programming parallel solutions in such environments. Students will examine several types of problems that can benefit from parallel or distributed solutions and develop their own solutions for them.

Frequency: Offered odd-numbered fall semesters.

Prerequisite(s)

COMP 240 and COMP 221, or permission of instructor.

COMP 469 - Discrete Applied Mathematics

Topics in applied mathematics chosen from: cryptography; complexity theory and algorithms; integer programming; combinatorial optimization; computational number theory; applications of geometry to tilings, packings, and crystallography; applied algebra. This course counts towards the capstone requirement.

Frequency: Offered even-numbered fall semesters.

Prerequisite(s)

MATH 236 and MATH 379 and COMP 123.

Cross-Listed as

MATH 469 

COMP 484 - Introduction to Artificial Intelligence

An introduction to the basic principles and techniques of artificial intelligence. Topics will include specific AI techniques, a range of application areas, and connections between AI and other areas of study (i.e., philosophy, psychology). Techniques may include heuristic search, automated reasoning, machine learning, deliberative planning and behavior-based agent control. Application areas include robotics, games, knowledge representation, logic, perception, and natural language processing.

Frequency: Offered even-numbered fall semesters.

Prerequisite(s)

COMP 221, or permission of instructor.

Cross-Listed as

NEUR 484

COMP 490 - Senior Capstone Seminar

Working with their capstone supervisor, seminar coordinators, and other faculty, students will discuss their capstone project, make presentations of their progress, critique the work of other students, and participate in the activities of the seminar. These activities will include instruction and discussion of strategies for research, writing, and presentation. The scheduled times will include both group meetings with other seminar participants as well as individually arranged meetings with the student's capstone supervisor.

Frequency: Every semester.

COMP 494 - Topics Course

Varies by semester. Consult the department or class schedule for current listing.

COMP 601 - Tutorial

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of computer science not available through the regular offerings.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

COMP 602 - Tutorial

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of computer science not available through the regular offerings.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

COMP 603 - Tutorial

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of computer science not available through the regular offerings.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

COMP 604 - Tutorial

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of computer science not available through the regular offerings.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

COMP 611 - Independent Project

Individual project including library research, conferences with instructor, oral and written reports on independent work in computer science. Subject matter may complement but not duplicate material covered in regular courses.

Frequency: Every semester.

Prerequisite(s)

Arrangements must be made with a department member prior to registration and permission of instructor.

COMP 612 - Independent Project

Individual project including library research, conferences with instructor, oral and written reports on independent work in computer science. Subject matter may complement but not duplicate material covered in regular courses.

Frequency: Every semester.

Prerequisite(s)

Arrangements must be made with a department member prior to registration and permission of instructor.

COMP 613 - Independent Project

Individual project including library research, conferences with instructor, oral and written reports on independent work in computer science. Subject matter may complement but not duplicate material covered in regular courses.

Frequency: Every semester.

Prerequisite(s)

Arrangements must be made with a department member prior to registration and permission of instructor.

COMP 614 - Independent Project

Individual project including library research, conferences with instructor, oral and written reports on independent work in computer science. Subject matter may complement but not duplicate material covered in regular courses.

Frequency: Every semester.

Prerequisite(s)

Arrangements must be made with a department member prior to registration and permission of instructor.

COMP 621 - Internship

Internships are offered only as S/D/NC grading option.

Frequency: Every semester.

Prerequisite(s)

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration. Permission of instructor. Work with Internship Office.

COMP 622 - Internship

Internships are offered only as S/D/NC grading option.

Frequency: Every semester.

Prerequisite(s)

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration. Permission of instructor. Work with Internship Office.

COMP 623 - Internship

Internships are offered only as S/D/NC grading option.

Frequency: Every semester.

Prerequisite(s)

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration. Permission of instructor. Work with Internship Office.

COMP 624 - Internship

Internships are offered only as S/D/NC grading option.

Frequency: Every semester.

Prerequisite(s)

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration. Permission of instructor. Work with Internship Office.

COMP 631 - Preceptorship

Frequency: Every semester.

Prerequisite(s)

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration. Permission of instructor. Work with Internship Office.

COMP 632 - Preceptorship

Frequency: Every semester.

Prerequisite(s)

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration. Permission of instructor. Work with Internship Office.

COMP 633 - Preceptorship

Frequency: Every semester.

Prerequisite(s)

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration. Permission of instructor. Work with Internship Office.

COMP 634 - Preceptorship

Frequency: Every semester.

Prerequisite(s)

Available to junior and senior students with declared majors in computer science. Arrangements must be made prior to registration. Permission of instructor. Work with Internship Office.

COMP 641 - Honors Independent

Independent research, writing, or other preparation leading to the culmination of the senior honors project.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

COMP 642 - Honors Independent

Independent research, writing, or other preparation leading to the culmination of the senior honors project.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

COMP 643 - Honors Independent

Independent research, writing, or other preparation leading to the culmination of the senior honors project.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

COMP 644 - Honors Independent

Independent research, writing, or other preparation leading to the culmination of the senior honors project.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

Mathematics

MATH 116 - Math and Society

Topics course offered for non-majors aiming to fulfill distribution requirement. Topics changes, and offerings may include Math of Elections and Voting, Climate Modeling, Game Theory, and Sports Statistics. Full descriptions given in advance of registration.

Frequency: Offered even-numbered fall semesters.

MATH 125 - Epidemiology

Epidemiology is the study of the distribution and determinants of disease and health in human populations and the application of this understanding to the solution of public health problems. Topics include measurement of disease and health, the outbreak and spread of disease, reasoning about cause and effect, analysis of risk, detection and classification, and the evaluation of trade-offs. The course is designed to fulfill and extend the professional community's consensus definition of undergraduate epidemiology. In addition to the techniques of modern epidemiology, the course emphasizes the historical evolution of ideas of causation, treatment, and prevention of disease. The course is a required component of the concentration in Community and Global Health.

Frequency: Every semester.

MATH 135 - Applied Multivariable Calculus I

This course focuses on calculus useful for applied work in the natural and social sciences. There is a strong emphasis on developing scientific computing and mathematical modeling skills. The topics include functions as models of data, differential calculus of functions of one and several variables, integration, differential equations, and estimation techniques. Case studies are drawn from varied areas, including biology, chemistry, economics, and physics.

Frequency: Every semester.

Prerequisite(s)

None.

MATH 136 - Discrete Mathematics

An introduction to the basic techniques and methods used in combinatorial problem-solving. Includes basic counting principles, induction, logic, recurrence relations, and graph theory.

Frequency: Every semester.

MATH 137 - Applied Multivariable Calculus II

This course focuses on calculus useful for both theoretical and applied work in the mathematical, natural, and social sciences at a more rigorous level than Math 135. Topics include: partial derivatives, gradients, contour plots, constrained and unconstrained optimization, Taylor polynomials, and differential equations, interpretations of integrals via finite sums, the fundamental theorem of calculus, double integrals over a rectangle. Attention is given to both symbolic and numerical computing.

Frequency: Every semester.

Prerequisite(s)

MATH 135 or a year of high school calculus at the level of AP calculus with an AB score of 4 or higher. 

MATH 155 - Introduction to Statistical Modeling

An introductory statistics course with an emphasis on multivariate modeling. Topics include descriptive statistics, experiment and study design, probability, hypothesis testing, multivariate regression, single and multi-way analysis of variance, logistic regression.

Frequency: Every semester.

MATH 194 - Topics Course

Varies by semester. Consult the department or class schedule for current listing.

MATH 212 - Philosophy of Mathematics

Why does 2 + 2 equal four? Can a diagram prove a mathematical truth? Is mathematics a social construction or do mathematical facts exist independently of our knowing them? Philosophy of mathematics considers these sorts of questions in an effort to understand the logical and philosophical foundations of mathematics. Topics include mathematical truth, mathematical reality, and mathematical justifications (knowledge). Typically we focus on the history of mathematics of the past 200 years, highlighting the way philosophical debates arise in mathematics itself and shape its future.

Frequency: Alternate years.

Prerequisite(s)

PHIL 111, MATH 136, or permission of the instructor.

Cross-Listed as

PHIL 312

MATH 236 - Linear Algebra

This course blends mathematical computation, theory, abstraction, and application. It starts with systems of linear equations and grows into the study of matrices, vector spaces, linear independence, dimension, matrix decompositions, linear transformations, eigenvectors, and their applications.

Frequency: Offered every semester.

Prerequisite(s)

 MATH 136 or MATH 137, or with permission of instructor, MATH 135

MATH 237 - Multivariable Calculus

For Fall 2014 this course will be offered as Multivariable Calculus, with the following description:
Differentiation and integration of functions of two and three variables. Applications of these, including optimization techniques. Also includes introduction to vector calculus, with treatment of vector fields, line and surface integrals, and Green's Theorem.

For Spring 2015 this course will be offered as Applied Multivariable Calculus III, with the following description:
This course focuses on calculus useful for the mathematical and physical sciences. Topics include: scalar and vector-valued functions and derivatives; parameterization and integration over regions, curves, and surfaces; the divergence theorem; and Taylor series. Attention is given to both symbolic and numerical computing. Applications drawn from the natural sciences, probability, and other areas of mathematics.
 

 

 

Frequency: Every semester.

Prerequisite(s)

  MATH 137 or a strong high school calculus at the level of AP calculus with a BC score of 4 or higher.

Curricular Change

Permanent title/desc change effective Spring 2015 semester

MATH 253 - Statistical Computing and Machine Learning

Statistics as applied to "big data," including large numbers of variables.  The linear and logistic modeling techniques from Math 155 will be augmented with computer-based methods of data exploration, visualization, data mining, supervised and unsupervised clustering, discriminant analysis, contemporary approaches to the problem of overfitting, and dimension reduction.  The course also deals with methods of combining and organizing data from diverse sources and the high-level statistical computer programming needed to carry out sophisticated data analysis.  

Frequency: Once per year starting in 2015-2016.

Prerequisite(s)

MATH 155

Cross-Listed as


MATH 254 - Probability and Mathematical Statistics

An introduction to basic probability concepts with an emphasis on applications in mathematical statistics: sample spaces, combinatorics, conditional probability, random variables, probability distributions, expectation, variance, and moment-generating functions.  Applications in statistics include fundamental limit theorems, maximum likelihood estimation, interval estimation, and hypothesis testing.

Frequency: Every semester.

Prerequisite(s)

 MATH 137 (MATH 237 highly recommended).

MATH 294 - Topics Course

Varies by semester. Consult the department or class schedule for current listing.

MATH 312 - Differential Equations

Introduction to the theory and application of differential equations. Solving linear and first-order systems using algebra, linear algebra, and complex numbers. Using computers to solve equations both symbolically and numerically and to visualize the solutions. Qualitative methods for nonlinear dynamical systems. Applications to diverse areas of modeling.

Frequency: Every semester.

Prerequisite(s)

 MATH 236 and MATH 237

MATH 313 - Advanced Symbolic Logic

A second course in symbolic logic which extends the methods of logic. A main purpose of this course is to study logic itself-to prove things about the system of logic learned in the introductory course. This course is thus largely logic about logic. Topics include second order logic and basic set theory; soundness, consistency and completeness of first order logic; incompleteness of arithmetic; Turing computability; modal logic; and intuitionistic logic.

Frequency: Alternate years.

Prerequisite(s)

 PHIL 111, MATH 136, or permission of instructor

Cross-Listed as

PHIL 313

MATH 353 - Survival Analysis

Survival analysis refers to a set of methods used for modeling "time-to-event" or "duration" data. In many studies, the outcome of interest is the time between between events (e.g. onset of Alzheimer's until death, time unlit default on a loan, unemployment duration, marriage duration, removal-to-recurrence of a tumor, emergency room length of stay).  Survival analysis evolved from a practical reality: the precise values of data are often unknown.  We will introduce the concepts of censoring and truncation, and discuss the Kaplan-Meier curve, parametric regression models, Cox's proportional hazards model, and time-varying covariates.  The course will have an applied focus.  Examples may be drawn from a variety of fields including, but not restricted to, medicine, economics, sociology, and political science.  The course will count toward completion of the concentration in Community and Global Health.

Frequency: Offered every fall semester.

Prerequisite(s)

 MATH 253 or  MATH 254.

MATH 355 - Bayesian Statistics

Bayesian statistics, an alternative to the traditional frequentist approach taken in our other statistics courses, is playing an increasingly integral role in modern statistics. Highlighted by Nate Silver of fivethirtyeight.com and Baseball Prospectus fame, Bayesian statistics has even reached a popular audience. This course explores the Bayesian philosophy, the Bayesian approach to statistical analysis, Bayesian computing, as well as both sides of the frequentist versus Bayesian debate. Topics include Bayes' Theorem, prior and posterior probability distributions, Bayesian regression, Bayesian hierarchical models, and an introduction to Markov chain Monte Carlo techniques.

Prerequisite(s)

MATH 253 or MATH 254 (highly recommended)

MATH 361 - Theory of Computation

A discussion of the basic theoretical foundations of computation as embodied in formal models and descriptions. The course will cover finite state automata, regular expressions, formal languages, Turing machines, computability and unsolvability, and the theory of computational complexity. Introduction to alternate models of computation and recursive function theory.

Frequency: Every spring.

Prerequisite(s)

COMP 124 and MATH 136, or permission of instructor

Cross-Listed as

COMP 261

MATH 365 - Computational Linear Algebra

This course covers a central point of contact between mathematics and computer science. Many of the computational techniques important in science, commerce, and statistics are based on concepts from linear algebra: subspaces, projection, matrix decompositions, etc. The course reviews these concepts, adopts them to large scales, and applies them in the core techniques of scientific computing; solving systems of linear and nonlinear equations, approximation and statistical function estimation, optimization, interpolation, Monte Carlo techniques. Applications throughout the sciences and statistics.

Frequency: Every spring.

Prerequisite(s)

COMP 120 or COMP 123, and MATH 236

Cross-Listed as

 COMP 365

MATH 371 - Modern Geometry

Topics in geometry selected by the instructor. Possible courses include classical Euclidean and non-Euclidean geometry (Hilbert's axioms; parallel postulate; hyperbolic, elliptic, spherical, projective geometries; Poincare models), differential geometry (calculus on surfaces; curvature; minimal surfaces; geodesics; the Gauss-Bonet theorem), computational geometry (triangulation; point location; Voronoi diagrams; linear programming).

Frequency: Offered even-numbered spring semesters.

Prerequisite(s)

 MATH 236 and MATH 237

MATH 373 - Number Theory

An introduction to the properties of and unsolved problems about the integers (whole numbers). This course is built around the problem of proving that a large integer is prime or finding its factorization into primes. Topics include: divisibility and prime numbers, the Euclidean algorithm, modular arithmetic, quadratic residues, continued fractions, and public-key cryptosystems. This course counts towards the capstone requirement.

Frequency: Even numbered fall semesters.

Prerequisite(s)

MATH 136

MATH 376 - Algebraic Structures

Introduction to abstract algebraic theory with emphasis on finite groups, rings, fields, constructibility, introduction to Galois theory.

Frequency: Every spring.

Prerequisite(s)

 MATH 136 and MATH 236

MATH 377 - Real Analysis

Basic theory for the real numbers and the notions of limit, continuity, differentiation, integration, convergence, uniform convergence, and infinite series. Additional topics may include metric and normed linear spaces, point set topology, analytic number theory, Fourier series.

Frequency: Every fall.

Prerequisite(s)

 MATH 237

MATH 379 - Combinatorics

Advanced counting techniques. Topics in graph theory, combinatorics, graph algorithms, and generating functions. Applications to other areas of mathematics as well as modeling, operations research, computer science and the social sciences.

Frequency: Offered odd-numbered fall semesters.

Prerequisite(s)

MATH 136 and (COMP 120 or COMP 123).

MATH 394 - Topics Course

Varies by semester. Consult the department or class schedule for current listing.

MATH 432 - Mathematical Modeling

Draws on the student's general background in mathematics to construct models for problems arising from such diverse areas as the physical sciences, life sciences, political science, economics, and computing. Emphasis will be on the design, analysis, accuracy, and appropriateness of a model for a given problem. Case studies will be used extensively. Specific mathematical techniques will vary with the instructor and student interest. This course counts towards the capstone requirement.

Frequency: Odd numbered fall semesters.

Prerequisite(s)

(MATH 312 or MATH 365) and (COMP 120 or COMP 123).

MATH 437 - Continuous Applied Mathematics

Topics in applied mathematics chosen from: Fourier analysis; partial differential equations; wavelets; signal processing; time-frequency analysis; and more. Topics are examined in theoretical and applied contexts, and from analytical and computational viewpoints. This course counts toward the capstone requirement.

Frequency: Odd numbered spring semesters.

Prerequisite(s)

 MATH 236 and MATH 312 and (COMP 120 or COMP 123).

MATH 455 - Mathematical Statistics

An introduction to the mathematical theory of statistics: sampling distributions, estimation, hypothesis testing, regression. Additional topics may include: analysis of variance and goodness of fit. Emphasis on the theory underlying statistic, not on applications.

Frequency: Even numbered spring semesters.

Prerequisite(s)

MATH 254

MATH 469 - Discrete Applied Mathematics

Topics in applied mathematics chosen from: cryptography; complexity theory and algorithms; integer programming; combinatorial optimization; computational number theory; applications of geometry to tilings, packings, and crystallography; applied algebra. This course counts towards the capstone requirement.

Frequency: Even numbered fall semesters.

Prerequisite(s)

 MATH 236 and MATH 379 and (COMP 120 or COMP 123).

Cross-Listed as

COMP 469

MATH 471 - Topics in Topology/Geometry

An introduction to the topology of Euclidean, metric, and abstract spaces. Covers the fundamental ideas from point set topology - continuity, convergence, and connectedness - as well as selected topics from knot theory, three-dimensional manifolds, fixed-point theory, the fundamental group, and elementary homotopy theory. This course counts towards the capstone requirement.

Frequency: Even numbered fall semesters.

Prerequisite(s)

 MATH 236 and MATH 377

MATH 476 - Topics in Algebra

Topics in algebra to be chosen from: group representations; algebraic coding theory and finite fields; Galois theory; algebraic and transcendental numbers; ring theory; applied algebra. This course counts toward the capstone requirement.

Frequency: Odd numbered fall semesters.

Prerequisite(s)

 MATH 376.

MATH 477 - Topics in Analysis

A continuation of Real Analysis including discussion of basic concepts of analysis.  Topics determined by professor and may include the development of the Riemann and Lebesgue integrals, functional analysis, Fourier analysis. This course counts towards the capstone requirement.

Frequency: Odd numbered spring semesters.

Prerequisite(s)

 MATH 377.

MATH 478 - Complex Analysis

Algebra of complex numbers, analytic functions, the Cauchy-Riemann equations, Cauchy's theorem, the Cauchy integral formula, Taylor and Laurent series, the residue theorem, and conformal mapping. This course counts towards the capstone requirement.

Frequency: Even numbered spring semesters.

Prerequisite(s)

MATH 377 or MATH 437.

MATH 494 - Topics Course

Varies by semester. Consult the department or class schedule for current listing.

MATH 601 - Tutorial

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of mathematics not available through the regular offerings.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

MATH 602 - Tutorial

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of mathematics not available through the regular offerings.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

MATH 603 - Tutorial

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of mathematics not available through the regular offerings.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

MATH 604 - Tutorial

Closely supervised individual (or very small group) study with a faculty member in which a student may explore, by way of readings, short writings, etc., an area of mathematics not available through the regular offerings.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

MATH 611 - Independent Project

Individual project including library research, conferences with instructor, oral and written reports on independent work in mathematics. Subject matter may complement but not duplicate material covered in regular courses.

Prerequisite(s)

Arrangement with faculty prior to registration, departmental approval, and permission of instructor.

MATH 612 - Independent Project

Individual project including library research, conferences with instructor, oral and written reports on independent work in mathematics. Subject matter may complement but not duplicate material covered in regular courses.

Prerequisite(s)

Arrangement with faculty prior to registration, departmental approval, and permission of instructor.

MATH 613 - Independent Project

Individual project including library research, conferences with instructor, oral and written reports on independent work in mathematics. Subject matter may complement but not duplicate material covered in regular courses.

Prerequisite(s)

Arrangement with faculty prior to registration, departmental approval, and permission of instructor.

MATH 614 - Independent Project

Individual project including library research, conferences with instructor, oral and written reports on independent work in mathematics. Subject matter may complement but not duplicate material covered in regular courses.

Prerequisite(s)

Arrangement with faculty prior to registration, departmental approval, and permission of instructor.

MATH 621 - Internship

Internships are offered only as S/D/NC grading option.

Frequency: Every semester.

Prerequisite(s)

Junior and Senior standing. Arrangements must be made prior to registration. Departmental approval and permission of instructor required. Work with Internship Office.

MATH 622 - Internship

Internships are offered only as S/D/NC grading option.

Frequency: Every semester.

Prerequisite(s)

Junior and Senior standing. Arrangements must be made prior to registration. Departmental approval and permission of instructor required. Work with Internship Office.

MATH 623 - Internship

Internships are offered only as S/D/NC grading option.

Frequency: Every semester.

Prerequisite(s)

Junior and Senior standing. Arrangements must be made prior to registration. Departmental approval and permission of instructor required. Work with Internship Office.

MATH 624 - Internship

Internships are offered only as S/D/NC grading option.

Frequency: Every semester.

Prerequisite(s)

Junior and Senior standing. Arrangements must be made prior to registration. Departmental approval and permission of instructor required. Work with Internship Office.

MATH 631 - Preceptorship

Frequency: Every semester.

Prerequisite(s)

Work with Internship Office.

MATH 632 - Preceptorship

Frequency: Every semester.

Prerequisite(s)

Work with Internship Office.

MATH 633 - Preceptorship

Frequency: Every semester.

Prerequisite(s)

Work with Internship Office.

MATH 634 - Preceptorship

Frequency: Every semester.

Prerequisite(s)

Work with Internship Office.

MATH 641 - Honors Independent

Independent research, writing, or other preparation leading to the culmination of the senior honors project.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

MATH 642 - Honors Independent

Independent research, writing, or other preparation leading to the culmination of the senior honors project.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

MATH 643 - Honors Independent

Independent research, writing, or other preparation leading to the culmination of the senior honors project.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.

MATH 644 - Honors Independent

Independent research, writing, or other preparation leading to the culmination of the senior honors project.

Frequency: Every semester.

Prerequisite(s)

Permission of instructor.