I took these two OCW courses: https://ocw.mit.edu/courses/electrical-engineering-and-compu...
https://ocw.mit.edu/courses/electrical-engineering-and-compu...
And worked my way through these two books: https://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena...
https://www.amazon.com/Algorithms-Robert-Sedgewick-ebook/dp/...
I wrote out my solutions on a whiteboard or pen and paper before typing them into a computer.
Outside of A & DS, I spent some time on operating systems and networking in general. A little bit of probability, but no hardcore discrete math.
There are swaths of areas which I now cover at a slower pace as time allows; compilers, AI, etc.
Also, this one [2] is quite good and concise. I believe better suited for someone who is not unfamiliar with classic algorithms (like you).
[1] http://algs4.cs.princeton.edu/home/
[2] http://www.amazon.com/Algorithms-Sanjoy-Dasgupta/dp/00735234...
Algorithms by Dasgupta, Papadimitriou and Vazirani:
http://www.amazon.com/Algorithms-Sanjoy-Dasgupta/dp/00735234...
And Elements of Programming Interviews by Aziz, Lee and Prakash:
http://www.amazon.com/Elements-Programming-Interviews-Inside...
And here's the uk one: http://www.amazon.co.uk/Algorithms-Sanjoy-Dasgupta/dp/007352...
https://www.amazon.com/dp/1792644833
The text used to only be available via a PDF. Highly recommend if you're learning about algorithms, might buy a copy myself just to support Jeff (and add my own notes into the book).