Resources
Some Code to print out plots of optimization problems. https://github.com/onaclovtech/OptimizationProblems
Burlap-seed Something to get you started with burlap https://github.com/onaclovtech/burlap-seed
My REALLY TERRIBLE ATTEMPTS at converting from Java to Python. https://github.com/onaclovtech/ABAGAIL
Deep Learning Topics: List of RNN resources! https://github.com/kjw0612/awesome-rnn
The math is not soo hard or deep. If I were doing this all over again, my strategy would be this: Watch, take notes, understand, the "unsupervised learning" lectures (4 chapters, I think). Use that knowledge to choose your datasets in advance. Nothing fancy, no dirty data. UCI datasets are fine. Pick classification problems, not regression. If one of them is a binary classification task, even better. Choose a framework. Either R, or Python. Read the respective Packt book, and get your hands dirty doing ML with your datasets (and also learn a plotting library). It will be hell if you try to understand lots of information before working on assignment 1, try to find two datasets, and just try to understand how the frameworks work. A1 needs a lot of knowledge (if you haven't been exposed to ML knowledge before) If you are comfortable with your toolbox in advance, you won't waste time just learning how to use scikit/plotting/etc instead of working on your analysis.
https://docs.google.com/spreadsheets/d/1AQvZ7-Kg0lSZtG1wlgbIsrm90HaTZrJGQMz-uKRRlFw/edit#gid=0
http://neuralnetworksanddeeplearning.com
https://www.youtube.com/watch?v=GUtlrDbHhJM&index=5&list=PLlJy-eBtNFt6EuMxFYRiNRS07MCWN5UIA