# Course Descriptions

## Computational Mathematics and Statistics Courses

#### Computational Mathematics and Statistics Courses

CPMA 511 Logic and Proof

1.5 cr.

Mathematical truth, axioms and theorems, propositional truth tables, quantifiers, predicate calculus, decision procedures, and mathematical induction. Offered fall only.  Example syllabus.
CPMA 512 Linear Algebra

1.5 cr.

Matrices, vector spaces, linear transformations, determinants, eigenvalues and eigenvectors, and orthogonality. Prerequisite: grade of "C" or better in CPMA 511. Offered fall only. Example syllabus.

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. Prerequisites: grade of "C" or better in CPMA 511 and CPMA 530. Example syllabus.
CPMA 518 Vector Calculus

1.5 cr.

Three dimensional geometry, directional derivatives, gradient, divergence, curl, maximum-minimum problems, multiple integrals, parametric surfaces and curves, and line integrals. Prerequisite:grade of "C" or better in CPMA 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 Markov chains, finite absorbing and non-absorbing chains, limiting distributions, and infinite chains.
CPMA 522 Statistical Inference

1.5 cr.

Review of statistical estimation and hypothesis testing. Introduction to nonparametric methods, analysis of variance, statistical modeling and Bayesian inference. Prerequisite: grade of "C" or better in CPMA 521.
CPMA 525 Linear Models

1.5 cr.

Review of simple linear regression and multiple linear regression. Topics further covered include Type I and Type III SSQ, various residual diagnostics measures, effects of outliers and influential measures, estimation distinctions when dependent and independent variables are either nominal or continuous, introduction to fixed/random effects and components of variance, 1-way ANOVA with multiple comparisons techniques, and ANACOVA models for the common slope and separate slope form. All models are demonstrated using JMP and SAS. Prerequisites: grade of "D" or better in CPMA 521 and CPMA 522.
CPMA 526 Experimental Design

1.5 cr.

Continuation of CPMA 525. Begins with the concepts about the principles of experimental design, randomization and blocking. Topics covered are 2-way and multi-way ANOVA models, orthogonal contrasts, factorial designs, balanced and unbalanced designs, repeated measures, nesting effect within models, mixed models analyses, and estimation comparing the EMS and REML approaches. Prerequisite: grade of "C" or better in CPMA 525.
CPMA 530 Programming Language: Python

1.5 cr.

Variables, expressions, built-in data types, sequences, control structures, classes, objects, instances, methods, inheritance, polymorphism, files, searching, sorting, IDEs.
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. Note: This course is no longer being offered. Example syllabus.
CPMA 532 Data Structures

1.5 cr.

Abstract data types, stacks, queues, databases, priority queues, trees, linked lists, hashing, balanced trees, self-organizing data structures, and advanced sorting. Prerequisite: grade of "C" or better in CPMA 530. 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. Prerequisite: grade of "C" or better in CPMA 532. Example syllabus.
CPMA 536 Software Engineering

1.5 cr.

Software development processes and the software life cycle, software architecture and design, emphasizing object-oriented design, user interface design, validation and verification, testing methods, systems analysis and requirements definition, software management and personnel issues. Prerequisite: grade of "C" or better in CPMA 532.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: grade of "D" or better in CPMA 522 and CPMA 532.  This course carries a mutual exclusion with COSC 450.
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: MATH 215 or CPMA 518, MATH 310 or CPMA 512, or permission of the instructor..
CPMA 555 Web-based Systems

3 cr.

Technologies underlying the Web, including TCP/IP, HTTP, HTML, CSS, JavaScript, the DOM, XML, server-side development, client-server communication, and web services.Prerequisites: CPMA 531 and CPMA 532, or permission of the instructor.
CPMA 560 Algorithms/Graph Theory

3 cr.

Graph theory, graph algorithms, coloring, network flows, computational geometry, compression, randomized algorithms, parallel algorithms, and NP-completeness. Prerequisite: grade of "D" or better in CPMA 532.
CPMA 563 Numerical Differential Equations

3 cr.

Finite difference methods, stability, boundary value problems, ordinary differential equations, integral equations, and partial differential equations. Prerequisites: grade of "C" or better in CPMA 511 and CPMA 512.
CPMA 565 Numerical Methods

3 cr.

Linear systems, interpolation, functional approximation, numeric differentiation and integration, and solutions to non-linear equations. Prerequisite: grade of "D" or better in CPMA 530 or CPMA 531.
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: grade of "C" or better in CPMA 512. This course carries a mutual exclusion with MATH 366.
CPMA 571 Optimization

3 cr.

Linear programming, transportation problem, network flow, nonlinear convex programming, dynamic programming, geometric programming, game theory, and gradient methods. Prerequisites: grade of "C" or better in CPMA 518, MATH 215 or equivalent and CPMA 512, MATH 310 or equivalent.
CPMA 573 Statistical Computing

3 cr.

Generating pseudo-random numbers, Monte Carlo integration, simulation, Bayesian inference, Gibbs sampling, Metropolis sampling, Metropolis-Hastings sampling, the E-M algorithm, multivariate Newton-Raphson maximization. Prerequisites: grade of "D" or better in CPMA 512, CPMA 522 and CPMA 530 or CPMA 531.
CPMA 574 Prediction and Classification Modeling

3 cr.

This course covers the basic topics for supervised vs. unsupervised learning and low dimensional vs. high dimensional datasets. Topics include a short review of statistics inference, beginning steps in looking at data, identifying missing values, patterns of missing data, outlier detection and data visualization methods with multivariate data. Modeling methods include linear and multiple regression methods, logistic regression, regression and classification decision tree analyses, and cross-validation techniques.   Prerequisites: grade of "D" or better in CPMA 521 and CPMA 522.
CPMA 575 Data Mining and Data Science Analytics

3 cr.

Complements 574, adding beginning concepts in data mining and introductory concepts about developing decision-making models using practical data science tools. Special topics covered are: issues in data exploration; steps in data, use of transformations and methods of imputation for missing data; training vs. testing sets; determining model accuracy (ROC curves, lift and cumulative lift charts), training vs. testing data samples, bootstrapping estimations; partitioning and classification tree analyses, linear and logistic regression techniques and bagging/random forests to explore variation.  Prerequisites: grade of "D" or better in CPMA 525 and CPMA 526.
CPMA 577W Applied Statistics with Regression

3 cr.

This course begins with a review of inferential statistics. Emphasis on data collection methods, stating hypotheses, confidence intervals and bootstrapping methods for estimating parameters are introduced. Both traditional and re-sampling methods are demonstrated for testing hypotheses. Additional topics covered are graphical methods for exploring distributions and determining outliers, 1-way and 2-way analysis of variance models using a linear models approach, and linear and multiple regression methods. JMP software is used for demonstrating methods. Prerequisite: CPMA 521 or taken as a corequisite.
CPMA 580 Artificial Intelligence/Cognitive Science

3 cr.

Computational and statistical modeling of human cognitive processes and their implementation: modularity of mind, rule-based vs. distributed vs. prototype models, search techniques, story understanding, and statistical models of language. Prerequisites: grade of "D" or better in CPMA 511, CPMA 512, CPMA 522, CPMA 532 and CPMA 535.
CPMA 582 Machine Learning

3 cr.

Foundational theory, models, and methods of supervised machine learning, including VC dimension, validation, linear models, artificial neural networks, and support vector machines. Various learning algorithms will be implemented and tested, such as perceptron learning, linear regression, and gradient descent. Prerequisites: grade of "C" or better in CPMA 521 and in CPMA 530 or CPMA 531.
CPMA 590 SPTP: Advanced Operating Systems (FA20)

3 cr.

Distributed systems, parallel computing, virtual machines and containers, concurrency control, shared memory, fault tolerance, operating system interaction with the hardware architecture, synchronization and communication, mutual exclusion, encoding methods, interconnection networks, operating system security, data encryption, data compression.
CPMA 590 SPTP: Data Compression (SP21)

3 cr.

Information and coding, static and dynamic Huffman coding, arithmetic coding, dictionary methods (Ziv-Lempel), sampling and quantization, predictive coding, transform coding, sub-band coding, compression of still images (JPEG), video image compression (MPEG).Prerequisite: COSC 215 or equivalent.
CPMA 591 SPTP: Database Management Systems (FA20)

3 cr.

File organization, entity-relationship model, relational model, relational algebra, SQL, relational calculus, query by example (QBE), security and integrity constraints, dependencies and normal forms, concurrency control (two-phase locking, time stamping mechanism), crash recovery (deferred update technique, immediate update technique, ARIES, shadow paging technique), distributed databases, object-oriented databases, data mining.
CPMA 595 Independent Study

1-3 cr.

Directed study on a topic related to computational mathematics and statistics as determined by the Program Director and dependent on the approval of the department. May be repeated once for credit.
CPMA 599 Internship

0-3 cr.

Internship suitably related to the program as determined by the Program Director and dependent on the approval of the department. May be repeated for a total of up to six credits.
CPMA 700 Thesis/Project

1-6 cr.

Prerequisite: Permission of the Graduate Director.