Useful Non-Physics Courses
General useful UIUC courses:
STAT 542 -- Statistical Learning. Theory and proof of popular machine learning algorithms, with practical implementation homework. Has a useful end-of-semester project.
ECE 598 -- Computational learning and inference (topics course).
STAT 425 -- Applied Regression and Design
STAT 440 -- Statistical Data Management
STAT 448 -- Advanced Data Analysis
CS 446 -- Machine Learning
CS 512 -- Data Mining
CS 598 -- Machine Learning for Signal Processing (topics course)
Useful UIUC courses for students who need numerical methods:
CS 101 – Intro Computing: Engrg & Sci (tools course, scientific computing, C, Matlab, Unix/Linux)
CS 357 – Numerical Methods I (theoretical, Python, Mathematica, Matlab, course for large scale programming)
CS 450 – Numerical Analysis (theoretical)
CS 555 -- Numerical Methods for PDEs
Useful UIUC courses for students who need programming experience:
CS 125 – Intro to Computer Science (Java, object oriented programming)
CS 173 – Discrete Structures (prereq for CS 225)
CS 225 – Data Structures (C++, object oriented programming)
Useful on-line courses:
Udacity: “Programming Foundations with Python,” “Design of Computer Programs” These free, self-paced courses are extremely well-structured and interesting.
Code Academy: Offers programming basics for Python, Java, HTML, Ruby, etc.
Udemy: A variety of online courses, including programming with Python
Coursera: Offers "specializations" -- students must pay a fee to earn the specialization certificate; however you can gain the same knowledge by taking the recommended courses for free. Our own university, for example, has a specialization in Data Mining, and Johns Hopkins has one in Data Science.
Khan Academy: Useful on-line courses to brush up on Probability and Statistics, Multivariate Calculus, Linear Algebra, etc.