Christopher Moh's Classes

This page documents the classes that I have taken and some thoughts I have had about them. And yes, its possible to finish 2 SBs and a MEng in 3 years, even for a person like myself who isn't particularly smart nor hardworking.

I came in with the following credits: 18.01 Calculus I, 8.01 Physics I, and 7.012 Introductory Biology, with no other transfer credit. Nearly everything missing in the pre-requisite structure was obtained through Advanced Standing Examinations. I don't necessarily have all the pre-requisites for all the classes I take, though; sometimes it becomes painful for me, sometimes not. I've survived so far, though.

As you can see, obviously I don't know how to choose classes, and don't know how to drop them either (Ed: As of Fall 2007, at least one class has been dropped). Whether this is a good thing or a bad thing is personal opinion.

I don't have any information below on the classes I did during IAP... should I put it up? It's not very interesting, though.


Quick Links

Terms:

Fall 2005
Spring 2006
Fall 2006
Spring 2007
Fall 2007
Spring 2008
Summer 2008

Classes that I took: (list of classes I have credit for)

5.111 6.001 6.002 6.003 6.004 6.033 6.034 6.046 6.170 6.254 6.265/6.975/15.070 6.437 6.438 6.829 6.830 6.837 6.840 6.851 6.854 6.867 6.A43 6.ThM 6.UAP 6.UAT 9.00 14.01 14.02 14.04 14.05 14.06 14.12 14.13 14.30 14.32 14.33 14.36 14.54 15.437 15.501 15.668 15.812 18.100B 18.443 21M.011 STS.011

First Term: Fall 2005 (Freshman)

Welcome to MIT! I was quite sure that my primary major was going to be 6-3 (18-C is too theoretical and doesn't provide enough flexibility to explore other CS areas), and this is reflected in the course selection below. I thought this term was fairly good: The classes were interesting, both in terms of the material as well as the way they were taught.

6.001 Structure and Interpretation of Computer Programs

Lectures: R. Davis
Recitations: F. Durand
Tutorials: A. Lee

Excellent class, even for those with substantial Computer Science and/or Programming background. I disagree with people who think that it is a waste of time for proficient programmers. Scheme is beautiful, even if I don't like certain aspects of it (death by parantheses, anyone? The lack of type-checking is flaky too. Contrary to a lot of people, I think the lack of loops is a plus, at least within the framework of a learning environment... of course not in real life software engineering). The material: Recursion, Abstraction, Environment Models, Object-Oriented Programming, Meta-Circular Evaluators is well conveyed using Scheme (the OOP part is not so good, but you can't have your cake and eat it too). Learning a programming language is easy; it's the method of thinking that's hard to teach. That's why Scheme is good for this class and not C++/Java/etc, because its so simple. No one's going to use Scheme in the real world, but you can so easily teach yourself C++ anyway.

I never really went to the 10am lecture, because the online tutor was so awesome. Fredo's recitations are good, even though he can sometimes be a bit disorganized. Angelina's tutorials helped clear things up for most people. I think I spent too much time on the Object-Oriented Game, but I got rewarded with a box of chocolates for it :)

6.170 Laboratory in Software Engineering

Lectures: D. Jackson, S. Devadas
Recitations: F. Chang

Java Death Lab. As a testament to my statement above in 6.001, I learnt Java in one week for this class. Jackson and Devadas were excellent lecturers, and Felix was a good TA. Unfortunately, as anyone who has taken the class knows, the problem sets are a huge time sink, and the final project just sucks up the entire last week of term. My team obtained the Best Feature Award for the RSS Reader project.

6.A43 Internet Controversies

Discussions: H. Abelson, M. Matczynski

An excellent Freshman Advising Seminar. Hal is very knowledgeable about issues like Copyright Law and Ethical Internet issues, and I thoroughly enjoyed his sharing of knowledge. The Sony DRM controversy also happened during this period, so this was an excellent forum to discuss the issue. We also had excellent guests, such as Marilee Jones (Ed. Spring 2007: Pity about the scandal that led to her resignation, but I have to say the decision was right). Gerry Sussman popped by once to offer his thoughts on Quantum Computing.

21M.011 Introduction to Western Music

Lectures: E. Harris
Recitations: E. Harris

I think 21M.011 is a good class for introducing music, both to people with and without musical background. In fact, having a musical background doesn't give you much advantage at all. In this class, you got exposed to a variety of musical styles from the historical ages to modern times. The workload isn't great: The papers are relatively easy to write (although you do have to find time to attend concerts!) and the only hard part is actually listening to songs over and over so that you can remember what they sound like for the examinations.

STS.011 American Science: Ethical Conflicts and Political Choices

Lectures: H. Gusterson
Recitations: W. Taggart

Another excellent class. Lectures don't really cover the course material: You *do* have to know the readings, even those that are not covered in lecture. The lectures are really a large discussion forum for controversial scientific issues. There are video documentaries, and once in a while you get guest lecturers to talk about controversial issues. If the guest lecturer adopts a controversial position, he/she gets bombarded pretty bad, such as when Hugh invited a scientist who was against embryonic stem cell research. Topics covered run the gamut: From Hiroshima to Engineering Ethics to Stem Cell Research to Creationism to Medical Ethics to the HIV/TB scene in Africa to the practices of Big Pharma etc.

Recitations are really reflection sessions on the lecture material, and another way for people to discuss point/counterpoint on controversial issues.



Second Term: Spring 2006 (Sophomore Standing)

The work starts piling up...

I declared 6-3 as a primary major, and was considering 14 as a secondary major. The workload for this term wasn't as bad as it appears below; I had time to do other activities as well, mainly because I had background in some of the material. It wasn't that easy to get my advisor to sign off on my registration form though...

6.002 Circuits and Electronics

Lectures: J. Lang
Recitations: R. Parker
Tutorials: L. Bourque

I was never an EE person, so I was kind of half-dreading this class. Regardless, though, Lang's lectures are awesome. His board technique is one of the best I have seen. It's worth having this class just for the lectures alone.

The quizzes were tough, and its reflected in the class averages. I think what it teaches you is that you might know the math anyways, but what really saves time is intuition. I would guess that most people got low scores because they did not have enough time to finish, as they just worked through the entire math and not use their physical intuition to quickly cancel terms or work out initial and final conditions.

Despite the early math being extremely grungy, when it came to the final examination I was essentially using intuition to solve everything. Sure, there's some math involved, but it becomes really really easy once you know what is happening behind the math.

I think my biggest beef with the class is the labs. Not only are they long (prelab, lab work, postlab), but the oscilloscopes are not in extremely good condition, and this makes things hard for the learning student. Not to mention that you can create undetectable bugs by, say, having a loose connection to ground for some chip, which create bugs not just for that chip but for the rest of the circuit as well.

6.004 Computation Structures

Lectures: C. Terman
Recitations: A. Arizpe

6.004 is an excellent class. Firstly, Terman is an excellent lecturer. He is passionate about the subject, and it shows. Secondly, the material covered is extremely interesting, and its a testament to the power of abstraction. You basically start from transistor (MOSFET) level, then abstract that away, then go to gate level, build the Beta, abstract away, and then go to higher level issues such as OSes. Thirdly, the class structure is awesome. You always know how close you are to an A (or B) and the labs are fun and lightweight! (Other than the Beta, which is fun, but certainly no lightweight).

The only real problem with this class is the lack of a good debugger for JSim/BSim. But what can they do about that?

6.034 Artificial Intelligence

Lectures: T. Lozano-Perez
Recitations: M. van Kleek

I don't really know how to evaluate this class. The material is definitely interesting, and Tomas definitely knows his stuff and covers the material well. He does have a tendency to stray off point, although I hear that Winston (who teaches 6.034 in the fall) has a bigger problem with that. The big problem is that the class can appear to be pretty unfocused, and you probably will have to spend a lot of effort in order to organize the concepts and ideas in your head.

In Spring, 6.034 has an online tutor, and the topic of logic is covered. If you are 6-3, I would strongly recommend that you take 6.034 immediately after 6.001, so as to keep your Scheme knowledge fresh.

6.046 Introduction to Algorithms

Lectures: R. Rivest, M. Kellis
Recitations: J. Fineman

This clashed with 6.002, so I rarely went for it. I'm not sure what people think of this class. I thought it was easy, but that's with International Olympiad experience. I would expect that most people without prior experience would find it moderately difficult. Regardless, this material is essential for anyone who would call himself/herself a computer scientist. Think of it as a problem solving class.

The take-home midterm is an experience for most people that really tests how well they understand the stuff. It is one thing to remember algorithms; it is a whole other thing to know how to apply them to a problem you have never seen before.

9.00 Introduction to Psychology

Lectures: J. Wolfe
Recitations: C. Baker

Jeremy Wolfe is an awesome lecturer. Great sense of humor, great anecdotes, makes fun of himself, plays tricks with the audience, etc. You can tell why the class was oversubscribed, even though they alloted 300 students to this class. After this term, though, its no longer a CI-H (still a HASS elective), so the number of people who go for the class may drop. If Wolfe is teaching, go for lecture! It's worth it, really. When I took it, the workload was substantial, but the class was really fun. The exams are really cool, too, with a different style from most other examinations.

Now that its no longer a CI-H, I don't know how much of it will be changed though. Note that its more scientific than a lot of other HASSes: You will have to know some stuff about the structure of the brain, and part of your required knowledge will be arguing for various interpretations of different psychology experiments.

14.01 Principles of Microeconomics

Course 14 Staff

There's not much to say about this. This is a class that's mainly about taking first derivatives. There are neat introductions to interesting topics like game theory and asymmetric information at the end of the class, but its not tested much. Nevertheless, a good background in this will help a lot if you decide to take 14.04.

14.02 Principles of Macroeconomics

Course 14 Staff

14.02 is a lot more "real-world" than 14.01, although if you are math-inclined you will prefer 14.01. The key to doing well in this class is to understand the big picture, and knowing how different shocks in the economy shifts the lines in the graphs you draw. As with 14.01, if you do the recitation-only option a lot depends on the TA you get.

The material here doesn't get much coverage in 14.05, although 14.05 touches on IS-LM in an open economy setting as well as long-run growth models.

14.30 Introduction to Statistical Method in Economics

Lectures: H. Bennett
Recitations: T. Bowen Bishop

Herman's a good lecturer with good notes, but I think he's no longer around, which is kind of a pity. There are many routes to probability and statistics in MIT; many departments have offerings in them. This is the economics route. It comprises both a gentle introduction to probability as well as an introduction to statistical distributions, hypothesis testing, confidence intervals, etc. It's a useful class to take if you didn't know the material, although if you are a course 6 major 6.041 is probably a better alternative.

I believe the course staff for this class changes very rapidly, so what I say here may not be applicable in the future.



Third Term: Fall 2006 (Sophomore)

And it gets worse...

This term was bad. I thought it would be similar to the workload from last term, but no, it was a lot worse, which resulted in me having to drop many of my activities. The real problem is that the difficulty of the classes were much higher than last term, so I had to spend more time per class than before. And I think there's a huge gap in difficulty between 14.01/02 and 14.04/05.

5.111 Principles of Chemical Science

Lectures: K. Nelson, C. Cummins
Recitations: J. Guan

This class didn't extend much of my High School Chemistry knowledge. The only things I took from it were really Crystal Field Theory and Molecular Orbital Theory. The material is pretty much standard physical chemistry; no organic chemistry and little inorganic chemistry. Most of the material is pretty straightforward and the quizzes and problem sets are pretty straightforward as well.

6.003 Signals and Systems

Lectures: J. Lim
Recitations: P. Hagelstein
Tutorials: S. Arfin

Another EE class for this 6-3 major. Lim's generally competent, definitely knows his stuff, and gives good notes for the class. The demos are awesome as well and he occasionally tells interesting jokes. He doesn't convey much passion though, but he definitely makes the important points clear and has good organization.

In exactly the same way as 6.002, there's grungy math, but you can simplify the math using intuition. I can think of two major take-homes from this class. The first is the importance of the frequency representation of a signal: It makes a lot of things clean, and helps makes signal processing a lot clearer. The ability to draw spectrums in frequency space also provides a good graphical picture and visualization of the required transformations. The second take-home is the power of systems to transform and convey signals. Things like sampling, digital signal processing, communication systems, feedback, etc., can make life a lot easier for many of us.

Again, it helps not to think of this class as a "grungy math" class, but what is going on behind the math. If you can build intuition for that, your life in this class becomes a lot simpler. As a side note, and at the risk of sounding arrogant, I am rather proud of myself (and slightly amused) that as a 6-3 major, I lettered both 6.002 and 6.003.

6.840 Theory of Computation

Lectures: M. Sipser
Recitations: E. Grigorescu

Despite the title of the textbook, this class is anything but an introduction. It covers a lot more than your usual introduction to theory of computation class. Besides the usual Regular languages, CFGs, Turing Machines, Decidability, and NP-completeness and reduction, there is also coverage of topics such as space complexity including Savitch's theorem, NL=coNL, NL-completeness, and areas such as intractability, oracles, some probabilistic complexity classes like BPP and RP, and a short intro on Interactive Proof systems.

On the class itself, Sipser is a wonderful lecturer who tries to make sure the whole class understands what he is doing and has excellent board technique. The homework itself isn't extremely hard, just be careful not to omit essential details when writing them out. The optional problems tend to be pretty fun, so do them if you have time. It helps for understanding the material as well!

6.854 Advanced Algorithms

Lectures: D. Karger

This is a good class if you like algorithms. Be warned: You should expect to spend *a lot* of time on this class! Karger is brilliant, and his presentations are clear but extremely fast paced. He has an excellent sense of humor, however. The material is relatively challenging, and the problem sets are far from mechanical; in fact, this is the one class where the problem sets are not only long, but require the most thinking to solve. And you have problem sets every week and a final project as well! Nonetheless, the problem sets are essential to consolidate your understanding of the material. I guess the biggest complaint with regard to problem sets is that some problems are somewhat buggy: Sometimes the problem statement is not clear, or you can't actually prove what is asked without making extra assumptions (and in one occasion, the class was informed to make a blatantly incorrect assumption in order to solve the problem). It's not that big a deal, though.

You can't afford to fall back in this class at all, or it all collapses on you really fast. There's serious dedication required. As I like to put it, its the 6.170 of algorithms. Nevertheless, I enjoyed it greatly and learnt much from it. But take it only if you like algorithms.

6.UAT Preparation for Undergraduate Advanced Project

Lectures: T. Eng
Recitations: J. Schindall, L. Salameh

I really feel this class should be encouraged more for sophomores and juniors, to the extent that I would recommend that second term sophomores and juniors should take this class as long as they have something (maybe a UROP?) to present for their final presentation. The material presented here: Presenting yourself, how to perform negotiations, ethical dilemmas and discussions, etc. should really be presented earlier to MIT students. It's never too early to learn this material, which can remain useful to you over your life.

Some people have said that UAT is a waste of time. That's not really true. Although some of the UAT lectures can be pretty boring, overall I feel that there's much you can take home from it. And besides, Tony Eng's lectures are entertaining enough to make this class worthwhile.

14.04 Intermediate Microeconomic Theory

Lectures: S. Izmalkov
Recitations: T. Wilkening

Started out really mathematical, petered out towards the end. If you know 14.01 really well, this class is relatively easy; if not, it's hell. Despite the mass of math that is presented in lecture and recitation, this is very similar to 6.002 and 6.003 in one respect: It's all in the intuition. Knowing the intuition simplifies the math greatly and makes it solvable, at least in an examination setting.

Sergei's lectures are very conversational: They are more suited to a small group setting than a large lecture group. This is probably because 14.04 was previously not compulsory for economics majors and was previously harder, so far less people took it. Regardless, Tom's recitations helped clear up some doubts. I felt Tom was a good TA who would try to make sure everyone in the class understood the material.

14.05 Intermediate Applied Macroeconomics

Lectures: P. Temin
Recitations: J. Tessada
Paper: R. Guiteras

I got an A+ in this, but I had to work really really hard for it (at least I got something for my hard work!). This class and 6.854 were the two classes that took the most time this term. This is a course 14 CI-M: In addition to Problem Sets and Quizzes, there are tons of additional readings and a 20 page paper required. I don't advise anyone who is not a course 14 major to take this class, unless you are a masochist who has plenty of time or you are really really interested in the material.

This was compounded by the fact that I'm not a morning person, and the lectures were at 9am. Temin's not the most energetic or passionate lecturer, so I tended to find it really hard to stay awake during lecture. You need to stay awake, though; otherwise you will miss the key points that you need to know for the quizzes. I missed a few lectures and had to suffer through studying entire readings not knowing what to look out for.

Jose is an excellent TA though, and his notes really help. And Raymond can be a little harsh on the grading, but he gives really good tips for the paper.

14.32 Econometrics

Lectures: S. Ellison
Recitations: E. Kocatulum

If you liked probability and statistics, be warned: This class is nearly nothing like 14.30 or 6.041! This is nearly entirely a class of techniques and interpretation. The statistical methods used in the class can almost never be computed by hand, so what you will be doing mainly consists of constructing models, analyzing models and their problems using econometric models, and interpreting results given to you in the context of econometrics.

In terms of content, nearly the entire class is on (mainly multiple) linear regression, as well as discussions of violations of the Gauss-Markov assumptions: Why they happen, how to test for them, how to deal with them. Some advanced topics on applications of linear regression, such as panel data, time series data, and lagged models are covered. On the nonlinear side, the probit and logit models are taught as well. It's useful to know a bit of 18.06 before taking this class, although its certainly not necessary.

14.54 International Trade

Lectures: G. Lorenzoni
Recitations: T. Didier

This class covers international trade (first half) and finance (second half). Although the class prerequisite is 14.01 or 14.02, my opinion is that you need both 14.01 and 14.02: 14.01 for the first half and 14.02 for the second.

The material is definitely interesting, and Guido provides lots of real life examples, both based on history and on recent events. Several different models are presented as well. The biggest complaint I have is that Guido could organized his presentations better as well as provided more notes. Tatiana provides several numerical examples of the models taught in class to help clear doubts about them.



Fourth Term: Spring 2007 (Sophomore on Junior Standing)

Another crazy term. Oh well :P Declared a double degree in 14, and a 15 minor (giving myself more classes that I have to do...).

6.033 Computer Systems Engineering

Lectures: F. Kaashoek, B. Liskov
Recitations: D. Katabi
Tutorials: H. Komal

The material's good, the readings are for the most part excellent and well-written, the hands-on are worthwhile, and everything else in this class, especially the way it is taught, just doesn't cut it.

Dina's recitations are excellent though, even though she tends to forget her timing and runs over time very often.

6.437 Inference and Information

Lectures: P. Golland
Recitations: F. Doshi, J. Geraci, M. Shanechi

This class is hard! It's a graduate-level introduction to (Bayesian) estimation and inference and some notions of how it relates to information theory. I think anyone who wants to do this class needs to be prepared for how much work it requires. The problem sets are hard, but its a worthwhile experience; you will learn a ton from doing them. Quizzes are ok, except the final one, which was quite killer. If you are wondering why I have 3 recitation instructors, it turns out that the 3 TAs alternate recitation weeks, so you get to see all the different TA teaching styles.

As an idea for what kind of prerequisites you should have, you definitely need to know multivariable probability (with calculus), as well as the more common probability distributions (Bernoulli/Binomial, Poisson, Geometric, Normal, Exponential, Gamma, Beta, etc). What will be helpful: Linear Algebra, Analysis, and mathematical maturity in general.

Although the class was hard, I did like the material covered and I learnt a lot of stuff; the question of course is whether the pain was worth it :)

6.851 Advanced Data Structures

Lectures: E. Demaine, O. Weimann

Awesome class. Take it if you like data structures. Demaine's just a cool guy in general, and gives excellent lectures. The workload is fairly lightweight (other than the project), but the problem sets ensure you do understand the material. As interesting as 6.854, but without the pain (admittedly, less material is covered, since there are two lectures a week instead of three). Another great thing is that some of the results presented in this class are literally new, in the sense that they have only come out within the last two years or so.

The biggest problem with this class is that its offered only every two years. Seriously, something this cool should be offered every year, although I can see why demand might not be that high (it is fairly technical).

6.UAP Undergraduate Advanced Project

Thesis. I prefer not to comment on it while its still undergoing... so, like the standard MIT Thesis, this gets a J grade from me until its completed. Good work got done though, and an M.Eng Thesis Proposal was submitted.

14.06 Advanced Macroeconomics

Lectures: G. Angeletos
Recitations: U. Akcigit

I think its a fairly good class. You do want to know your 14.05 material though. The lectures can be fairly disorganized, but as long as you pay attention and ask questions, you are fine. There were less than 10 people in the class this term, and so the lectures were fairly interactive; class participation is important to understand the material! It's really more a class in mathematical techniques used in economics than a class in understanding the real world; its a lot of theory, although in the earlier parts of the class more empirical evidence is presented as well.

Recitations are a must to go for though. In lecture a lot of details is kind of swept under the rug, so recitations are essential to go through the grungy mathematical details and strengthen your intuition for the results. Ufuk teaches recitations very well too.

14.13 Economics and Psychology

Lectures: L. Goette
Recitations: S. Chassang

In contrast to 14.06, this is more a class of empirical results than theory. Yes, you learn mathematical models that can be used to fit various empirical results from psychology, but there are only 4 models, and apart from the first model (present-biased preferences), the math that you are required to know is really fairly elementary. What I really like about this class, though, is you can see how the various models can explain empirical results in psychology (of course, they aren't necessarily the best explanations, but they at least can explain the results), and you get to see results from interesting empirical experiments as well.

Another interesting thing is that a lot of the material is new; in the sense that a lot of the empirical literature is from papers published within the last 5-6 years, and some even from papers within the last year or so.

Lorenz is a guest lecturer, so the comments that I have here may become quite irrelevant regarding future incarnations of this class.

14.33 Economic Research and Communication

Lectures: A. Finkelstein
Paper: P. Hinrichs

Fairly lightweight considering its a CI-M and a LAB (its not lightweight compared to a standard 12-unit course 14 class, though). However, apparently after this term it has a new name and a new syllabus (from checking the course listings on WebSIS), so maybe they are revamping this class.

You get a lot of freedom in deciding a final project (an empirical study of something related to economics). A lot of the learning takes place in trying to find data sources and using the appropriate econometric techniques (depending on your project, you will need different econometric techniques, not all of which are covered in 14.32). Most of my time was spent redrafting papers to get it to fit within the prescribed formatting standards, though...

Although the official prerequisites are 14.04/14.05/14.32 (substitute 14.03 for 14.04 and/or 14.06 for 14.05 if necessary), I think only 14.32 is really necessary. You can definitely do the class if you have 14.01/02 and done an economics field class (although 14.05 will help, 14.04 not so much so).

15.437 Options and Futures Markets

Lectures: J. Cox
Recitations: J. Kondo

The material in this class is fairly interesting. Although the entire class concentrates around one technique (Replicating portfolios), you get to see the myriad ways this technique can be applied. Cox's voice can be sleep-inducing, but you should try to stay awake because the material he covers is interesting and his explanations are clear and easy to follow; you will save a lot of time studying once you understand the points he is trying to convey in lecture (otherwise a lot of the formulas will simply make very little sense; and its very dangerous to plug-and-chug formulas if you have no insight into the derivation of the formulas, because the formula may simply be inappropriate for that particular application!).

Jiro's recitations are good, and his notes help a lot too. The final examination was a take-home, and it was ok, except for one question...

18.100B Analysis I

Lectures: B. Parker

The material is good as a brain exercise, I guess, but its fairly dry, and unlike many other classes, intuition helps little (in fact, a lot of the results you are asked to prove will appear "obvious"), although it may help in looking for a correct method in attacking problems.

I think I'm glad I took the class though, since it gives me a lot of concrete proofs for "intuitive" results and the formulas we take for granted in calculus. There's some mathematical maturity required, but I don't think the mathematics involved is as hard as that required in 6.437, for example. I can see people struggling in it, though; there were two or three problem sets I had significant difficulty in completing, not to mention totally bombing the first quiz.

18.443 Statistics for Applications

Lectures: R. Dudley

It's not a hard class at all. Perhaps its my background and the classes I've already taken (and taking 6.437 in the same term makes nearly any other statistics class really easy). Although Dudley is really helpful over email, lectures can be quite the opposite experience, as he goes through material really fast and if you fall behind at some point you tend to not understand the rest of the lecture. Problem sets and quizzes tend to be a lot of plug-and-chug though, but you need to do quizzes fast as time can be tight.

Overall, I think its a useful class that will be helpful in most disciplines as a brief introduction to statistics.



Fifth Term: Fall 2007 (Junior)

This was an interesting term. On the one hand, this was a low in the number of classes I took (because, among other reasons, I dropped a class). On the other hand, this was probably (at least for the first two months, until I dropped one class) the busiest term I have had. Partly it could be that the classes I took this term were more programming (and thus time) intensive, but more likely than not, I lost 24-48 hours nearly every week doing full-time job interviews, so I was essentially working on a 5-6 day week instead of 7.

Since I scheduled most of my interviews on Fridays, and I was out nearly every week (except Thanksgiving week, but there was no school then), I missed nearly every recitation from being off-campus. Thus, I'm not going to comment on recitations at all in my thoughts and reviews of the classes.

6.438 Algorithms for Estimation and Inference

Lectures: G. Wornell, P. Golland

Good class. The class is structured very similarly to 6.437, and the same caveats apply: Interesting but (can be) hard material, hard weekly psets that take forever to finish, and as an additional bonus, insane quizzes. I liked the last third of the class, which concentrated on graphical models, much more than the first two-thirds, which concentrate more on linear and recursive estimation (Kalman filter) with some digression into areas such as periodograms, Levinson's algorithm and the Wiener filter. Both lecturers are excellent, and make it worth going to lecture.

The official pre-requisities are 18.06 and 6.011. I didn't have 6.011. Despite what the official course notes say, you really only need basic signals and systems, linear algebra, probability and mathematical maturity. Having 6.011 might make the class a little easier for you, but probably not too much.

6.830 Database Systems

Lectures: S. Madden, M. Stonebraker

It has the good parts of 6.033, and much less of the bad parts. The good parts: The material's interesting, the readings are not bad, and the lecturers are good (They split the work up: Madden does more of the theoretical discussions, while Stonebraker, who is a legend himself in the database world, talks more about the practical aspects). Furthermore, there no longer are irritating DPs (you do a final project, but its of your choice, so you can get to do something interesting and more practical rather than fictitious concocted scenarios), and there's a lot more hands-on, practical coding, which is good (although they sometimes take a lot of time).

The only bad relic of 6.033 that's really still around in this class are the quizzes, but they are a lot more improved: Much less true/false and more explanation questions, meaning that you can actually show that you understand the material instead of guessing what the question is actually asking.

This semester there were three labs (there were meant to be four, but the last got cancelled). Lab 1 and 2 were ok, lab 3 was bad. Maybe its because I didn't do 6.824 or some distributed systems class, but debugging race conditions is not fun at all. Lab 2's somewhat controversial: Some people felt it was difficult, while I thought it was fairly straightforward, as long as you understood extendible hashing - it was important to think it through before even writing a single line of code.

Overall, I'll say this is a good class worth taking, but it helps to have a team ready for the final project. This class *does* take some of your time, especially if you want to stay ahead with the readings (which I did), so be sure to allocate some time for that.

6.837 Computer Graphics

Lectures: J. Popovic

Go to the class for the demos. Beyond that, I'll say its a lot a matter of personal taste. Knowing C++ helps a lot. The math is not overly complicated, most of it is just linear algebra. You'll get a smattering of everything, without going into any detail: Transforms, curves, geometry, differential systems, integral equations, etc.

The class organization is fairly unstructured, which is good for those of you who like to exercise your creativity: Assignments have millions of possible *extra credit*, and this semester the last assignment was basically a giant extra credit assignment to use your creativity. The point of lectures usually is just the demos, although some stuff is mentioned that is important which is not in the textbook.

6.867 Machine Learning

Lectures: T. Jaakkola

Good material that is fairly well-taught with excellent lecture notes. This class is a fairly gentle (although some will disagree with this) introduction to machine learning from both a theoretical and practical point of view. You'll see some results and some notions of "generalizability" such as geometric margins (for SVMs and perceptrons) and VC-dimension (for general classifiers), as well as general machine learning techniques, from perceptrons and SVMs to regression to boosting to mixture models/EM and HMMs and Bayesian networks (MRFs/Factor Graphs aren't really covered in any detail, although you can take 6.438 for that).

Problem sets were good to help solidify the knowledge taught; maybe the last problem set was a little long, but there was more time given for it. Quizzes test intuition and understanding over hard math.

14.12 Economic Applications of Game Theory

Lectures: M. Yildiz

Interesting material, definitely, and the lecture notes are excellent. The topic is precise, and when I say precise, I mean that definitions are exact in a kind of mathematical way. Several different notions of equilibrium are prescribed, each being of different strength, and applying to different kinds of games (perfect/imperfect information).

You don't really need much math until maybe the final. Helps to know your calculus well; in particular, you should know how to solve linear ODEs. The probability required is really trivial; as far as I know, you don't really need to use Bayes rule in its full power; most probabilities can be trivially observed by staring at the reduced sub-space induced by the values conditioned on, and those that can't (for example, certain non-uniform probability distributions) are usually given to you :P

15.501 Corporate Financial Accounting

Lectures: R. Watts

This is a class more on concepts than anything else. The math is amazingly trivial, the question is knowing which numbers to plug into which formulas. There are quite a lot of formulas to remember, but its usually easiest to remember them by understanding the concepts rather than hard memorization. It was an interesting period to take the class, with all the investment banks writing off losses from the subprime fiasco.

Lectures could be a lot faster, but I'm not complaining. :)

15.668 People and Organizations

Lectures: T. Kochan, H. Hsi, guest lecturers, students

Only two kinds of people should take this class: People who are interested in how organizations work in terms of human management (other issues like financial management are more or less swept under the rug here) and course 15 minors. I'll say the material is not too bad: The start of the term was a little more monotonous, but the ending of the semester, where more recent organizations and more interesting topics like startups were discussed, was a lot more fun.

The workload is a bit more than I would expect from a 9-unit Sloan undergrad class (it was certainly substantially more than 15.501, especially with all the readings that had to be done every week), but its reasonable. Overall, its not a bad experience of a business school kind of class (some cold calling, a lot more team discussions and class participation required).



Sixth Term: Spring 2008 (Senior Standing/M.Eng Student/Whatever)

If last term was a low in classes, this term was even worse. Call it senioritis or something. To be honest, there were some hard classes in here (6.975, I'm looking at you), as well as a greater focus on my thesis. It's funny, as I've said before, how your work just fills up your time regardless of how much work you have. I did feel significantly freer this term than previous terms, but I think I just tended to sleep more... as I've said, I'm a lazy bum.

6.254 Game Theory With Engineering Applications

Lectures: A. Ozdaglar
Recitations: S. Mittal

Good class. Having taken 14.12 let me understand about 20% of the material, but the rest was fairly new, especially the mathematical derivations. I had fun with the final project, too. Some mathematical maturity is required, although if you understand basic real analysis you shouldn't find it a problem. The class covers basic game theory, with regard to different forms of equilibrium for different kinds of games. There's also a brief introduction to Mechanism Design.

Generally speaking, Asu's a good and clear lecturer who tries to ensure that her students understand the material. She can be a bit fast sometimes though. Lecture notes are good, and help a lot, although later in the class they come out rather late...

6.829 Computer Networks

Lectures: H. Balakrishnan, B. Davie
Recitations: R. Gummadi, J. Subramaniam, M. Vutukuru

As with any systems class, expect tons and tons of work. This class had a lot of readings, and the lectures tried to provide a general guideline of the important aspects of each reading. The key takeaway from this class is probably that while there has been a lot of work and interesting ideas (like COPE) in the network community, using different approaches from different fields, there is still a lot of work still be done in many areas, especially in areas like wireless and distributed networks.

I learnt a bunch in the class, although not without some pain (especially when trying to do a thesis on the side). Lectures-wise, the lecturers are pretty good - Hari's very clear, for one. Probably way too many readings, although I learnt a lot from them.

6.265/6.975/15.070 Advanced Stochastic Processes

Lectures: D. Shah

Ouch, seriously ouch. Even for someone who did decently well on 18.100B and spent the week before going through the entire set of notes for 6.436 to learn probability and measure theory, this class hurt - the material is pretty advanced analysis and measure theory, and to be honest, I can say that this was one of the few classes I felt unprepared for. It showed in the long long hours that I had to spend wrecking my head and going through many possible approaches to attack the problems in the problem sets.

Material wise, this is definitely important material for people who want to do research involving continuous stochastic processes (such as in financial mathematics); it covers large deviations theory (Cramer's, Gartner-Ellis, and specializations such as Sanov's), the theory of weak convergence (Prohorov's theorem, Donsker's theorem showing the convergence to Brownian motion etc), Martingales (Doob's inequalities and other stuff), and a short introduction to Ito calculus (definition of the Ito integral, some properties, brief overview of the derivation of Black-Scholes, etc).

Lectures are good; Devavrat tries to be as clear as possible and uses analogies to try to get his points across and ensure people understand. Adrian's a helpful TA as well. It certainly was needed in order to get through this class.

For me, the pain was probably worth it, although that's from a perspective after you have done the class.

14.36 Advanced Econometrics

Lectures: J. Hausman
Recitations: J. Berry, D. Vu Cao

To be honest, after going through a class like 6.975, undergrad classes, even those with the word "advanced" in the title, don't really scare me anymore. That being said, this was a good and worthwhile class, but only if you (like me) are interested in statistics and econometrics. The class covered a bunch of different models and problems in econometrics, starting from simple models such as probit/logit, using IV to reduce the effect of various specification error problems, and basic non-linear estimation, to more advanced problems and eventually to pretty advanced non-parametric models using kernel density estimation (basically, what kernel density estimation is doing is that it tries to estimate a continuous distribution function from a set of discrete measurements using a smoothing function known as a kernel; the kernel of choice depends on your preferences as well as mathematical convenience).

While classes like 6.975 was more heavy on theory and less on application, this was probably in the other direction (as is the wont of most undergraduate classes); Professor Hausman tried to demonstrate this by going through papers that showed the empirical application of the models taught; the TAs also covered different applications on real data.

Instead of a final examination, this class had a final paper in which we were going to apply some of the techniques taught in class to a problem of our interest. This was good: When doing the research and then writing the paper, I had to learn a bit more about the techniques I was using and think about them for a while; that certainly helped me to understand much more about the particular techniques I used.

15.812 Marketing Management

Lectures: J. Zhang

Last class needed for the minor. It wasn't too bad, had some interesting material. Marketing is somewhat of a "soft" science, using techniques from areas such as psychology and some economics. Extremely interesting mid-term and final projects as well. I'll be honest and say I spent the least time on this class (considering that this was a 9 unit class and my other classes were 12 unit Grad-H classes and a 12-unit undergrad class with the word "Advanced" in it...); maybe if I did put in more time I might have learnt more from it, although I did manage to get the 5Cs and 4Ps of marketing ingrained into my brain.



Auxiliary Term: Summer 2008 (M.Eng Student)

This was basically a "Finish your thesis" term... not much to say, except that the Boston summer is fairly enjoyable, as long as you have A/C.

6.ThM M.Eng Thesis

Supervisor: F. Durand

After a long long time, I got the thesis done! Many thanks to Fredo for his great help and advice with all of this. It was worth it.