
CPMA 511 Logic and Proof 
1.5 cr.

Mathematical truth, axioms and theorems, propositional truth tables, quantifiers, set theory, indexed families, mathematical induction, cardinality, finite and infinite sets, denumerability, the Axiom of Choice, and the continuum hypothesis. Example syllabus. 
CPMA 512 Linear Algebra 
1.5 cr.

Matrices, vector spaces, linear transformations, determinants, eigenvalues and eigenvectors, and functions of matrices. Example syllabus. 
CPMA 515 Advanced Discrete Math 
1.5 cr.

Introduction to number theory, recursively defined functions, analyzing algorithm performance, recurrence relations, generating functions, permutations and combinations, Inclusion/Exclusion, introduction to Graph Theory, and Boolean algebra. Prerequisite: 531. Example syllabus. 
CPMA 518 Vector Calculus 
1.5 cr.

Three dimensional geometry, directional derivatives, gradient, divergence, curl, maximumminimum problems, multiple integrals, parametric surfaces and curves, and line integrals. Prerequisite: 512. 
CPMA 521 Probability and Markov Chains 
1.5 cr.

Review of random variables, discrete and continuous distributions, expectation, conditional probability, and limit theorems. Introduction to the Poisson point process and Markov chains. 
CPMA 522 Statistical Inference 
1.5 cr.

Review of statistical estimation and hypothesis testing. Introduction to nonparametric methods, permutation tests, the bootstrap, and Bayesian statistics. Prerequisite: 521. 
CPMA 525 Linear Models 
1.5 cr.

Linear and nonlinear regression, logistic regression, analysis of variance, and generalized linear models. Prerequisites: 521, 522. 
CPMA 526 Experimental Design 
1.5 cr.

Principles of experimental design, randomization, blocking, factorial designs, repeated measures, and Latin squares. Prerequisites: 525. 
CPMA 531 Programming Language: Java 
1.5 cr.

Classes, objects, instances, messages, methods, inheritance, interfaces, polymorphism, software life cycle, variables, expressions, data objects, control structures, strings, arrays, files, searching, sorting, applets, toolkits, threads, and graphical user interfaces. Example syllabus. 
CPMA 532 Data Structures 
1.5 cr.

Abstract data types, stacks, queues, databases, priority queues, trees, linked lists, hashing, balanced trees, selforganizing data structures, and advanced sorting. Prerequisites: 531. Example syllabus. 
CPMA 535 Introduction to Computer Systems 
1.5 cr.

Computer representation and hardware, system programming, prototyping and development, memory and data organization, communications and networking, human/computer interactions, and performance analysis and improvement. Example syllabus. 
CPMA 536 Software Engineering 
1.5 cr.

Software development processes and the software life cycle, software architecture and design, emphasizing objectoriented design, user interface design, validation and verification, testing methods, systems analysis and requirements definition, software management and personnel issues. Prerequisites: 531, 535. Example syllabus. 
CPMA 550 Computer Networks 
3 cr.

Network technologies, protocols, and management. Programming networked applications. The effects of the Internet and World Wide Web on computing and society. Prerequisites: 522, 532. 
CPMA 551 Digital Image Processing 
3 cr.

Introduction to the mathematics of images and image processing, as well as computational methods for real data manipulation. Topics include image acquisition, image enhancement and restoration in both the spatial and frequency domains, the Fourier transform, wavelets, image compression, image segmentation, and morphological processing algorithms. Prerequisites: 512 (or MATH 315) and 518, (or MATH 215). Example syllabus. 
CPMA 560 Algorithms/Graph Theory 
3 cr.

An introductory course covering concepts such as paths, Eulerian circuits, trees, distance, matchings, connectivity, network flows, colorings, planarity, Hamiltonian cycles, and NPcompleteness, with focus on both theoretical and algorithmic aspects and emphasis on writing proofs. Prerequisite: 532. 
CPMA 561 Mathematics of Financial Markets 
3 cr.

Option strategies, future markets, option price relations, binomial option pricing model, binomial put model, and the BlackScholes analysis. Prerequisites: 511, 512. 
CPMA 562 Applied Complex Variables 
3 cr.

Analytic functions, elementary transformations, complex integration, Cauchy theory of integration, complex power series, Laurent series, and residues. Prerequisites: 511, 512. 
CPMA 563 Numerical Differential Equations 
3 cr.

Finite difference methods, stability, boundary value problems, ordinary differential equations, integral equations, and partial differential equations. Prerequisites: 511, 512. 
CPMA 564 Cryptology 
3 cr.

Mathematical techniques for securing data for storage or transmission in an insecure context: abstract algebra, threat modeling, information and coding theory, errorcorrecting codes, public and private key encryption schemes, and cryptanalytic techniques. Prerequisites: 511, 512, 516, 522. 
CPMA 566 Operations Research 
3 cr.

An introduction to the background of operations including example problems and a brief history. An extensive discussion of the theory and applications of linear programming will follow. Other topics will include integer programming, transportation and network flow models, and dynamic programming. Prerequisite: MATH 116. 
CPMA 565 Numerical Methods 
3 cr.

Linear systems, interpolation, functional approximation, numeric differentiation and integration, and solutions to nonlinear equations. Prerequisite: 531. 
CPMA 571 Optimization 
3 cr.

Linear programming, transportation problem, network flow, nonlinear convex programming, dynamic programming, geometric programming, game theory, and gradient methods. Prerequisites: 512, 518. 
CPMA 573 Statistical Computing 
3 cr.

Regression algorithms, simulation, generating pseudorandom numbers, Markov chain Monte Carlo, and the bootstrap. Prerequisites: 512, 522, 531. 
CPMA 574 Prediction and Classification Modeling 
3 cr.

Classification rates, ROC curves, crossvalidation techniques, modern regression methods, data reduction/principle components, stages of biomarker development, and study design issues in cancer and occupational research. Prerequisite: 521, 522. Example syllabus. 
CPMA 575 Introduction to Elementary Data Mining 
3 cr.

Building both a predictive and a classification model using data mining techniques. Software used for building models is JMP and SPlus IMiner. Specific topics include: the distinction between supervised and unsupervised learning; issues in data exploration (steps in data cleaning, missing data, transformations, methods of imputation, training set vs. testing set and validation sets; methods of determining model accuracy (ROC curves, lift and cumulative lift charts); crossvalidation, modeling methods for discrete and continuous dependent variables; clustering algorithms; neural networks. Prerequisite: 525, 526. 
CPMA 580 Artificial Intelligence/Cognitive Science 
3 cr.

Computational and statistical modeling of human cognitive processes and their implementation: modularity of mind, rulebased vs. distributed vs. prototype models, search techniques, story understanding, and statistical models of language. Prerequisites: 511, 512, 522, 532, 535. Example syllabus. 
CPMA 581 Distributed Computing 
3 cr.

Development and application of techniques which allow computation on different components of a network: network technology and design, communications theory, applications protocols, remote procedure calls, distributed storage techniques, parallel algorithms, load balancing, scheduling, and task migration. Prerequisites: 511, 512, 525, 532, 535. 
CPMA 582 Machine Learning 
3 cr.

Basic tools, including statistical significance testing, overview of theory, algorithms, and applications, concept learning, reinforcement learning, clustering, advanced concept learning, neural networks, perceptrons, decision trees, generalpurpose algorithmic methods, data mining, and collaborative filtering. Prerequisites: 521, 531. 
CPMA 583 Principles of Programming Lang/Category Theory 
3 cr.

BNF representation, variables, scope, binding, data types and type checking, abstract data types, control, control flow abstractions, procedural abstractions, calling mechanisms, semantic models, category theory, functional programming, lambda calculus, logic programming, functors, adjoint functors, 2categories, and little categories. Prerequisites 531, 535. 
CPMA 584 Formal Languages and Automata 
3 cr.

Cardinality of sets, uncountability of certain sets, languages, regular languages, contextfree languages, the Chomsky hierarchy, Turing machines, ChurchTuring thesis, problems that are not Turing computable, and an introduction to computational complexity. Prerequisites: 511, 512.

CPMA 585 Computer Security 
3 cr.

Network, database, and Web security, threat models, elementary and advanced crytology, protocol analysis, covert channels, access control and trust issues, legal and ethical issues in security. 
CPMA 590 Special Topics 
3 cr.

Various subjects in computational mathematics. May be repeated for credit when content changes. Prerequisite: Permission of the instructor. 
CPMA 595 Independent Study 
3 cr.

Directed study on a topic related to computational mathematics. May be repeated once for credit. Prerequisite: Permission of the instructor and Graduate Director. 
CPMA 601 Project 
16 cr.

Prerequisite: Permission of the Graduate Director. 
CPMA 700 Thesis 
16 cr.

Prerequisite: Permission of the Graduate Director. 
