I have studied physics and electrical engineering at the undergraduate level, and computer vision at the graduate level. I am currently working as a software developer.
When it comes to programming and computer science, I am largely self-taught. I'm always trying to learn more.
Programming links:
AI Shack and Mathworks computer vision tutorials.
Getting started with MATLAB.
Divakar's profile - a list of functions that will make you a better MATLAB programmer if you learn how to use them.
NumPy for MATLAB users; also check out the Spyder IDE.
Image processing with NumPy/SciPy.
C pointers - a wonderful video series that clears up all confusion. It also explains function pointers.
CIS-194 Haskell course - a good introduction to Haskell with some pretty cool exercises.
The Y-Combinator - a simple explanation of how to achieve recursion in lambda calculus.
Math links:
Better Explained - great articles on the intuition/visualization of math concepts.
Math Doctor Bob - videos on university-level pure mathematics like abstract algebra.
Introduction to differential forms - videos explaining a more elegant approach to multivariable calculus that emphasizes geometry without coordinate systems.
Snoopy Topology Notes - an introduction to topology written by students who took a class at Colorado State (it possibly contains mistakes, but it's a nice gentle introduction to the basic ideas for the beginner).
Differential Geometry Notes - succinct notes on classical differential geometry with great figures for visualization.
Category Theory for Programmers - category theory explained through C++ and Haskell. Pretty much the only introduction to category theory that I find readable at my level of exprience.