I've decided to engage in a pretty interesting self development project this summer: Completing the requirements for the MIT Applied Math curriculum through auditing classes, meeting professors, and completing the corresponding OCW course assignments and exams where applicable. In this post, I'll explain my background and motivations for doing this, as well as the specific courses I'll be taking on my journey.
Feel free to skip straight to the plan if you don't feel like reading the "why".
Why the hell would you do this?
I'm a Master's student at Harvard and Georgia Tech studying Machine Learning and Computational Biology. I'm also a research assistant in a few labs, and my work spans Applied Math, Theoretical Neuroscience, and Machine Learning. Previously, I helped start an ML startup. I'm planning on applying to PhD programs this fall!
My journey into Machine Learning has been fairly non traditional, I studied mostly biology and cognitive science in my undergraduate career at UCSD and my internships were always in Product Management. I taught myself to code, mostly application development for web and mobile, and slowly started to see parallels between Information Science and Biology, and was fascinated by Neural Networks. This fascination led me to apply for graduate programs in CS and Biology, and I miraculously was accepted! So, with luck and momentum going my way, I dove deep into deep learning research and taught myself whatever mathematical preliminaries were necessary to make sense of the literature.
The thing is, I've started to really like math in its own right, and while its certainly not necessary to study large swaths of math beyond a few topics like Linear Algebra, Probability Theory, and a little Vector Calculus, I've found that a lot of the brilliant people around me can dip into different topics in mathematics and make new, interesting breakthroughs in ML.
So, I like math, and getting a more formal foundation seems useful if I'd like to go even deeper into the research I'm doing and think in new interesting ways. After talking to a few of my mentors and colleagues, including Professors and Grad students at Harvard and MIT, I was recommended to try diving into an undergraduate applied math curriculum. I've been graciously offered the chance to sit in some classes and learn for the sake of learning in my free time, so why not make a fun project out of it and share it with everyone! Maybe you can find something useful here :)
The MIT Applied Math curriculum is very well laid out and straightforward, and basically comprises of a collection of core courses and electives to choose from. The courses I'll be taking are mostly available via OCW, and some are offered on campus over the summer, or similar material is being taught at nearby universities. The courses I'm planning on taking currently are as follows, and are a sample track fulfilling the degree requirements, though the specific courses may change if I get feedback that something is better suited for my interests.
I've included the courses, followed by links to the materials below!
- Calculus - My calculus is quite strong, so I'll likely just review notes and complete the exams for the single and multivariable classes, but the material can be found here - > 18.01, 18.02.
- Differential Equations - Though I've taken a differential equations class in my undergrad years, I wasn't really paying attention. So, I'll likely focus on this class to fill my foundations -> 18.03
- Linear Algebra - My Linear Algebra is similarly strong, so again I'll likely focus on reviewing and taking the exams found here -> 18.06
- Complex Variables with Applications - This is a required core course that covers complex algebra and functions, analyticity, contour integration, Cauchy's theorem, singularities, Taylor and Laurent series, residues, evaluation of integrals, multivalued functions, potential theory in two dimensions, Fourier analysis and Laplace transforms. It sounds interesting -> 18.04
- Principles of Discrete Applied Mathematics - I've never taken Discrete Math. I taught myself programming and algorithms without a strong mathematical intuition, and I'm looking forward to developing one in this course -> 18.200
- Principles of Continuum Applied Mathematics - Principles of Continuum Applied Mathematics covers fundamental concepts in continuous applied mathematics, including applications from traffic flow, fluids, elasticity, granular flows, etc. It also seems largely useful and is a required course so I'll be taking it! -> 18.300
Following the core courses, the curriculum gives students the option of choosing courses from 2 groups, 1. Combinatorics, Computer Science, Probability and Statistics or 2. Numerical Analysis, Physical Mathematics, Nonlinear Dynamics
4 courses must be taken, with at least 1 from each group. I'll likely be splitting down the middle, as I already have a Computational background that is provided by some of the classes in the first group. The courses I'm tentatively planning on completing are Probability - 18.600 and Statistics - 18.650 from the first group, and Partial Differential Equations - 18.303 and Numerical Analysis - 18.330 from the 2nd group.
So, that's my plan. I'm not shoehorning this into a set period of time, though I will be actively meeting with Professors and auditing classes this summer while completing a research fellowship. I'm really looking forward to exploring and understanding Math, my plan is to share my updates, studies and intuitions here and perhaps they'll even translate into cool new architecture ideas or interesting collaborations!
Maybe after this, I'll take a crack at the Pure Math curriculum too!
Do you have any suggestions for me? I'd love to hear them, you can drop me a line on Twitter @harshsikka!