Center For Science, Technology, Engineering, and Mathematics




course overview

Program layout

Intellectual Foundations
54 credit hours
Center Foundations
18 credit hours
Center Core
36 credit hours
27 credit hours
24 credit hours
21 credit hours
Total for degree
180 credit hours

Areas of

Computing and Data Science

Center Foundations
STM 1001
Calculus I (4.5 credits)

This course is the first in a two-course sequence and exposes the student to mathematical modeling, differentiation, and the basics of vectors and operations on vectors.

STM 1002
Calculus II (4.5 credits)

This course is the second in a two-course sequence and exposes the student to mathematical ideas of accumulation, integration, and basic dynamics.
Prerequisite:  STM 1001

STM 1004
Differential Equations (4.5 credits)

Linear and simultaneous ordinary differential equations, exact solutions, solution by Laplace transform, and solution by numerical methods.
Prerequisite:  STM 1002

STM 1005
Discrete Mathematics (4.5 credits)

This course introduces students to fundamental concepts and techniques in discrete mathematics.  Topics covered include sets, logic, proofs, functions, relations, combinatorics, graph theory, and counting principles.

Center Core
STM 2101
Probability (4.5 credits)

A first course in probability. Topics include basic probability axioms and counting techniques, random variables, conditional probability and Bayes’ Rule, discrete and continuous probability distributions, joint distributions and correlation, Law of Large Numbers, and Central Limit Theorem.
Prerequisite:  STM 1002

STM 2102
Statistics (4.5 credits)

An introduction to statistics emphasizing multivariate modeling. Topics include descriptive statistics, experiment and study design, hypothesis testing, linear regression, analysis of variance, logistic regression.
Prerequisite:  STM 2101

STM 2103
Matrix Algebra (4.5 credits)

A first course in matrix algebra. Topics include systems of equations, matrix arithmetic and factorizations, the rank-nullity theorem, eigenvectors and eigenvalues, the singular value decomposition, projections, regression, and other applications. Computer programming language will be used throughout the course.
Prerequisite:  STM 1002

STM 2104
Linear Optimization (4.5 credits)

An introduction to linear programming. Topics include formulating mathematical optimization models, the Simplex solution method, sensitivity analysis, and basic linear programming theory.
Prerequisite:  STM 2103

STM 2300
Data Wrangling and Visualization (4.5 credits)

Students will use Python to wrangle large, messy data sets into forms suitable for modeling and analysis and create visualizations that provide useful insights for decision-making.

STM 2301
Programming I (4.5 credits)

Introduction to computer programming for the purpose of implementing solutions relating to data acquisition, storage, processing, analysis, and visualization. The concepts provide foundational knowledge and experience upon which later data science courses will build.

STM 2501
Physics I (4.5 credits)

The first of a two-course sequence emphasizing the fundamental principles of classical physics, introducing a variety of applications. Topics include kinematics, linear and rotational motion, forces, energy, collisions, gravitation, wave motion, and simple fluids.
Prerequisite:  STM 1002

STM 2502
Physics II (4.5 credits)

The second of a two-course sequence emphasizing the fundamental principles of classical physics, introducing a variety of applications. Topics include electricity, circuits, magnetism, and optics.
Prerequisite:  STM 1002, STM 2501

STM 2302
Programming II (4.5 credits)

This course builds on the programming skills developed in the prerequisite course and moves the focus towards a wider software ecosystem in order to solve more complex data science tasks. Students will learn and apply foundational principles of program organization including classes and objects, interfaces, inheritance, abstraction, and decoupling. In addition, important command-line skills will be developed for data gathering and cleaning, as well as library and software acquisition and use. These principles will be utilized through high-level programming in Python to analyze and manipulate real-world data sets.
Prerequisite:  STM 2301

STM 3301
Data Structures and Scalability (4.5 credits)

Students will become familiar with the use and performance characteristics of common data structures including stacks, queues, lists, trees, heaps, and hash tables. The techniques of asymptotic analysis using big-O notation will be introduced as a formal tool to understand how computer programs scale in resource use for increasingly large inputs. A strong emphasis will be placed on developing the ability to choose the most appropriate data structures for a given computational task, and to roughly estimate the asymptotic complexity of programs with loops and nested function calls.
Prerequisite:  STM 2301

STM 3302
Data Storage (4.5 credits)

Provides an introduction to data storage methods and systems. Topics include hardware and software used to efficiently store large datasets, relational databases and data models, SQL, and applications that interact with databases.
Prerequisite:  STM 3301

STM 3303
Machine Learning (4.5 credits)

Provides an introduction to computational machine learning techniques. Topics include learning theory, unsupervised learning, recommendation systems, reinforcement learning, and neural networks.
Prerequisite:  STM 3301

STM 3304
Computer Architecture and Organization

Provides an introduction to low-level aspects of computer design. Topics include performance metrics, instruction set architectures, assembly language, logic design, memory hierarchies, and pipelining.
Prerequisite: Programming I

STM 4101
Nonparametric statistics

Provides an introduction to nonparametric methods in statistics and their applications. Topics include the sign test, the rank-sum test, the Kruskal-Wallis test, Kolmogorov-Smirnov type tests, and others. Examines methods from both theoretical and application points of view.
Prerequisite: Probability

STM 4102
Statistical Learning

Covers a variety of statistical learning topics, including: function estimation with data, bias-variance tradeoff, classification, linear regression, resampling methods, linear model selection and regularization, non-linear modeling, and tree-based methods, support vector machines, and unsupervised learning.
Prerequisite: Statistics

STM 4301
Human Data Interaction

Studies the intersection of people and data. This course covers technical concepts relating to how humans interact with data interfaces and visualizations, as well as ethical questions of how humans interpret, present, and ultimately deploy data science tools.
Prerequisites: Data structures and scalability

STM 4302
Big Data Computing

Focuses on processing large datasets in a distributed environment, including cloud systems and High-Performance Computing Centers. Topics include NoSQL systems, cloud architecture, and distributed frameworks.
Prerequisites: Data Storage

STM 4303
Computer Algorithms

Presents techniques for designing, analyzing, and implementing computer algorithms. Students will gain a solid understanding of algorithmic problem-solving and be exposed to a variety of classical algorithms used in numerous applications.
Prerequisites: Data structures and scalability

applications are now open

apply now