Algebra, Topology, Differential Calculus, and Optimization Theory for Computer Science and Machine Learning