Useful Courses

This page contains a list of recommended courses for students at USU who are interested in working with me.

Required Courses

Students who are interested in doing research with me should generally have at a minimum taken these courses or their equivalents:

  • STAT 3000 (Statistics for Scientists) OR MATH 5710 (Introduction to Probability)

  • MATH 2270 (Linear Algebra)

  • Programming experience (e.g. CS 1400)

  • At least one of the following: STAT 5650 (Statistical Learning and Data Mining), STAT/MATH 5645/6645 (Mathematical Methods for Data Science), STAT/CS 6655 (Machine Learning), OR STAT 5685/6685 (Deep Learning Theory and Applications)

Recommended Courses

The following courses or their equivalents are highly recommended for most graduate students who are doing research with me:

STAT/MATH 5645/6645 (Mathematical Methods for Data Science)

Basically "everything you should have learned the first time in linear algebra but didn't". Most students need multiple exposures to linear algebra to understand it. This course also focuses on multivariate calculus and applications in machine learning. Topics also include optimization and some graph theory.

STAT 5685/6685 (Deep Learning Theory and Applications)

A dive into the mechanics underlying neural networks and a survey of common architectures. Required for doing research in neural networks.

STAT/CS 6655 (Machine Learning)

A practical and mathematical introduction to machine learning techniques and principles in supervised and unsupervised settings. Essential for doing research in the field of machine learning.

STAT 6100 (Advanced Regression)

Covers important topics in advanced regression techniques.

STAT 6710 (Mathematical Statistics I)

Modes of convergence of random variables, laws of large numbers, characteristic functions, and the central limit theorem.

STAT 6720 (Mathematical Statistics II)

Consistency, loss functions, risk, and notions of optimality of estimations. Hypothesis testing and confidence regions. Large sample theory, notions of robustness. Recommended for students interested in theoretical work.

MATH 4200/5210/5220 (Foundations of Analysis/Introduction to Analysis I/II)

A rigorous proof-based course that focuses on calculus. At least one of these courses is critical for students interested in theoretical work. Not necessary for students interested in applied work only.

Other Useful Courses

These courses may be useful depending on interest and focus:

STAT 5650/5660 (Statistical Visualization 1 and 2)

Good sequence of courses that teaches you how to make good figures and present/visualize data.

STAT 6180 (Time Series)

Time and frequency domain time series analysis.

STAT 5810/6910 (Special Topics in Statistics)

Topics of interest may pop up here from time to time.

ECE 6010 (Stochastic Processes)

A good course on discrete and continuous random processes, filtering, and Markov chains.

ECE 6040 (Convex Optimization) or MAE 5370 (Optimization for Engineers)

Optimization is a critical part of many modern machine learning methods.

ECE 7030 (Detection and Estimation Theory)

Foundations of detection theory, including Neyman-Pearson, Bayes, and Minimax Bayes detection. Maximum likelihood and Bayes estimation theory. Recursive estimation and Kalman filtering and smoothing. Expectation maximization and hidden Markov models.

ECE 7630 (Advanced Digital Signal and Image Processing)

Advanced digital signal and image processing theory and methods. Topics selected from: optimal filter design, adaptive filtering, spectral estimation, beamforming, tomography, data compression, restoration/superresolution, etc.

ECE 6930 (Special Topics in Electrical Engineering)

Topics of interest may pop up here from time to time.

MATH 3310//4410 (Discrete Math 1 and 2)

Important topics, especially the graph theory.

MATH 5810/6910 (Graph Theory)

Right now these courses are listed under special topics in math although that may change. Graph theory is an important part of machine learning.

MATH 5279 (Complex Variables)

Recommended for students interested in signal processing methods and/or Fourier theory.

MATH 5340 (Theory of Linear Algebra)

Good course for improving your linear algebra theory.

MATH 5510 (Intro to Topology)

Elementary point-set topology. Recommended for students doing theoretical work. Advanced courses in topology and geometry may also be useful.

MATH 6210 (Real Analysis)

Measure theory, abstract integration, differentiation, introduction to functional analysis, Hilbert and Banach spaces. Recommended for students doing theoretical work.

MATH 6220 (Functional Analysis)

This is essentially linear algebra when considering sets of functions as vector spaces. Recommended for students doing theoretical work.

MATH 5810/6910 (Special Topics in Math)

Topics of interest may pop up here from time to time.

CS 2420/5050 (Algorithms and Data Structures/Advanced Algorithms)

Covers important algorithms and concepts in computer science. Recommended for students with career goals involving lots of programming.

CS 5030/6030 (High Performance Computing)

Covers working with large computational problems using clusters and supercomputers.

CS 6665 (Data Mining)

Covers some aspects of working with larger datasets.

CS 6890 (Special Topics in CS)

Topics of interest may pop up here from time to time.