My epic quest to encounter more math…
Math, really? Yes! I have come to the point in my studies that I feel the need to brush up on my math skills. I have been reading many resources and on multiple occasions I have discovered that a pitfall some may succumb to is not taking enough math when pursuing a degree in Computer Science. Apart from this research, many of the books I’ve been reading mention that although an extensive background in math is not necessarily a requirement, it helps. Some of these resources even add that the better programmers have backgrounds in Mathematics as well.
Well, that’s fine and dandy but what now?
I am in the situation where I have fulfilled the Math requirement for my degree, but I took these classes over 10 years ago (oh boy I feel old). In addition to this, my double major is already getting a bit pricey so I do not want to take any additional credits that won’t go directly to my degree requirement. My solution? MIT Open Courseware…
What is MIT Open Courseware exactly?
A few posts ago, I wrote about MOOCS, massive online open courses. MIT makes a huge chunk of their courses available, and many of them have assessments, audio/video lectures, and final exams so that you can test yourself on concepts and retention. Although you do not receive credit for taking the courses, who can put a price on gaining knowledge? For me, it is not about receiving credit, it is about brushing up on concepts and developing a mental muscle that will ultimately make me a better programmer in the long run.
What classes will you take?
Here’s the thing… lol. I have this thing where I am a learning junky. I am that girl that can not sleep because she has to read one more chapter of that coding book (like last night). I am saying this because once I started researching which classes I want to take, my list grew from about 3 or 4 courses and now it’s at 23 lol. Just to put that into perspective, the number of classes required to get a full 4 year MIT degree is about 35-36 courses.
Once I started browsing, I said to myself, “Self, why not learn a bit more while you are at it?”. Why limit myself to just learning some Math, why not see what all of the hype is about? What started as supplementing my learning with Math, turned into supplementing my learning in general. The mentality behind my decisions were to choose courses that I:
1) know I will need some extra practice with. In these situations, I am already taking the equivalent at my University, but I want to take the MIT OCW version to solidify my learning.
2) fit the requirements of MIT students. I took a look at the Math requirements for a Software Engineering degree at MIT and found most of the equivalent classes. I also added a few courses that interest me in general and have nothing to do with any particular structure.
Yeah, but the courses?
Here are the courses that I came up with. Remember this was catered to me specifically based on my interests, the classes that I’m taking at University, and the requirements of a MIT Software Engineering degree.
Ok here they are (in no particular order):
- Intro to Computer Science and Programming
- Computation Structures
- Elements of Software Construction
- Introduction to Algorithms
- Artificial Intelligence
- Computer Language Engineering
- Probabilistic Systems Analysis
- Mathematics for Computer Science
- Design and Analysis of Algorithms
- Practical Programming in C
- Intro to C Memory Management & C++ OOP
- Effective Programming in C and C++
- Physics I
- Physics II
- Calculus I
- Calculus II
- Differential Equations
- Linear Algebra
- Computational Methods of Scientific Programming
- Logic I
- Modal Logic
- Decisions, Games and Rational Choice
Um… that’s a lot…
Welp, it is, especially in addition to work, a full time school schedule, and a game dev internship. From now until I get my masters, I have quite a few years, so I will use these resources to supplement my learning on a more structured bases. Right now, I already use MOOCs to supplement my learning, but now I will approach it from a different angle. Instead of looking for materials to help me with the classes I’m taking, I will use MOOCs to help me learn tangential topics that will help me in the long run. I believe it’s a win-win in my opinion.
Mmmmm Yummy Math…
All in all, I’m extremely excited about this new adventure. I have always believed that knowledge is power and MIT OCW is just another tool to gain knowledge with a bit of a challenge added to it!