Josh Hug's course would be a good place to start. Lectures -- Companion textbook -- Practice problems -- Projects -- all in one place covering everything from the basic to the complex.