**A. Required Core**

Note: Students need to take:

One of these three courses: CS356, or M356, or P356;

one of these three courses: CS456, or M456, or P456;

and one of these two courses: M344 or P344.

CS106 Introduction to Programming for Sciences (3 cr.)

This course teaches introductory programming within a problem solving framework applicable to the sciences. The course emphasizes technical programming, introductory data storage techniques, and the processing of scientific data. There is an emphasis on designing and writing correct code using an easy to learn scientific programming language such as Python. Advanced excel spreadsheet concepts will be taught and utilized during the programming process. Credit is not granted for this course and CS101.

CS356 Introduction to Scientific Computing (3 cr.)

A course designed to provide undergraduates students with the basic computational tools and techniques needed for their study in science and mathematics. Students learn by doing projects that solve problems in physical sciences and mathematics using symbolic and compiled languages with visualization. By use of the Sage problem-solving environment and the Python programming language, the students learn programming and numerical analysis in parallel with scientific problem solving.

CS456 Scientific Computing Project (1 cr.)

This course is required for all Scientific Computing minors. Its purpose is to provide students the opportunity to develop a research project or participate in an ongoing research project under direction of a faculty advisor. The project must combine scientific computing tools and techniques with a substantive scientific or engineering problem. It is also intended to give students experience in experimental design, record keeping, and scientific writing.

M252 Linear Algebra (4 cr.)

This course provides an introduction to techniques and applications of linear algebra. Topics include: systems of linear equations, matrices, determinants, Euclidean n-space, real vector spaces, basis and dimension, linear transformations, inner products, and eigenvalues and eigenvectors.

M344 Applied Mathematics (3 cr.)

This course serves physics majors as well as those mathematics majors whose area of interest is analysis. Topics include: Fourier series, the complex numbers, analytic functions, and derivatives and integrals of complex functions. Other topics may include Laurent series and residues, partial differential equations and boundary value problems.

M356 Introduction to Scientific Computing (3 cr.)

This course is designed to provide undergraduates students with the basic computational tools and techniques needed for their study in science and mathematics. Students learn by doing projects that solve problems in physical sciences and mathematics using symbolic and compiled languages with visualization. By use of the Sage problem-solving environment and the Python programming language, the students learn programming and numerical analysis in parallel with scientific problem solving.

M456 Scientific Computing Project (1 cr.)

This course is required for all Scientific Computing minors. Its purpose is to provide students the opportunity to develop a research project or participate in an ongoing research project under direction of a faculty advisor. The project must combine scientific computing tools and techniques with a substantive scientific or engineering problem. It is also intended to give students experience in experimental design, recordkeeping, and scientific writing.

P344 Mathematical Methods for Science (3 cr.)

This course serves physics majors as well as those mathematics majors whose area of interest is analysis. Topics include: Fourier series, complex numbers, analytic functions, and derivatives and integrals of complex functions.

P356 Introduction to Scientific Computing (3 cr.)

A course designed to provide undergraduates students with the basic computational tools and techniques needed for their study in science and mathematics. Students learn by doing projects that solve problems in physical sciences and mathematics using symbolic and compiled languages with visualization. By use of the Sage problem-solving environment and the Python programming language, the students learn programming and numerical analysis in parallel with scientific problem solving.

P456 Scientific Computing Project (1 cr.)

This course is required for all Scientific Computing minors. Its purpose is to provide students the opportunity to develop a research project or participate in an ongoing research project under direction of a faculty advisor. The project must combine scientific computing tools and techniques with a substantive scientific or engineering problem. It is also intended to give students experience in experimental design, recordkeeping, and scientific writing.

ST232 Introduction to Statistics (2 cr.)

This course is designed to provide the basic ideas and techniques of statistics. Topics include: descriptive and inferential statistics, an intuitive introduction to probability, estimation, hypothesis testing, chi-square tests, regression and correlation. This course makes significant use of appropriate technology. Topics in this course are treated at a higher mathematical level than they are treated in ST132.

**B. Two of the following courses:**

M310 Combinatorics and Graph Theory (3 cr.)

This course provides an introduction to combinatorial and graph theoretical techniques in mathematics. It is also designed for students in computer science. Topics include: sets, functions, combinatorial techniques, graph theory, searching algorithms, and trees.

M315 Number Theory (3 cr.)

This course provides an introduction to elementary number theory. Topics include: divisibility, prime and composite numbers, congruences, arithmetical functions, primality testing, factorization techniques, and applications to cryptography.

M341 Differential Equations with Applications (3 cr.)

This course provides an introduction to the theory, methods, and applications of ordinary differential equations. Topics include: first order differential equations, linear differential equations with constant coefficients, and systems of differential equations.

M342 Numerical Analysis (3 cr.)

This course provides an introduction to the theory and methods of numerical analysis. Topics include: numerical methods for solving linear and nonlinear equations, polynomial approximation of functions, numerical integration and differentiation, numerical approximation to solutions of differential equations, direct and iterative methods for solving systems of equations.

M361 Operations Research (3 cr.)

This course is required for the Mathematics Education major, providing an introduction to techniques and applications of operations research. Topics include: linear programming, game theory, queuing theory, Markovian decision processes, and decision theory.

P340 Classical Mechanics (3 cr.)

This course is an analytical study of Newtonian mechanics, including the harmonic oscillator, central force motion, nonlinear oscillators, and an introduction to the Lagrangian formulation.

P360 Electricity and Magnetism I (3 cr.)

This course is an introduction to the physics of electricity and magnetism at the intermediate undergraduate level. It examines the experimental evidence that led to the development of the theories of electromagnetism (electrostatics, polarization and dielectrics, magnetostatics and magnetization, electrodynamics, electromagnetic waves, potentials and fields, and radiation) and the development of Maxwell's laws. The mathematical analysis of electromagnetic situations uses vector calculus to a great degree, so students also are exposed to working with a variety of vector operators.

P370 Microcontroller Organization and Architecture with Laboratory (4 cr.)

The course covers the PIC18F4520 and Arduino microcontrollers as a paradigmatic microprocessor; other devices may be used as well. A brief survey of number systems, logic gates and Boolean algebra are followed by a study of the structure of microprocessors and the architecture of microprocessor systems. Programming microprocessors and the use of an assembler and a higher-level language (C) is covered. Peripheral interface devices are studied along with some wired logic circuits. Students gain experience through the use of microprocessor simulators and hardware implementations.

P380 Quantum Mechanics I (3 cr.)

This course expands on the ideas of quantum mechanics introduced in P304, and develops the necessary formalisms and tools for further work. Topics include the Schrödinger equation in its time independent and time-dependent forms, an introduction to operators, square-well and harmonic oscillator potentials, scattering, the hydrogen atom, angular momentum, and perturbation theory.

ST371 Applied Regression Analysis (3 cr.)

This course provides students with an introduction to linear and non-linear models in statistics. Topics include: linear regression, multiple regression, one-, two-, and higher-way analysis of variance, and popular experimental designs. Real-world problems are analyzed using appropriate technology.

ST373 Design of Experiments (3 cr.)

This course provides an introduction to the principles of the design of experiments from a statistical perspective. Topics include: Analysis of variance, covariance, randomization, completely randomized, randomized block, Latin-square, factorial, response surface methods and other designs.