Courses I've taken
In Spring 2006, I finished my Bachelor of Science in Mathematics
with Computer Science (course 18C). I graduated with a GPA of 5.0 out
of 5.0, despite all my efforts to the contrary (including writing
these reviews). I am currently a PhD student, still at
MIT. Fortunately, I am done taking classes.
Spring 2006 (M.S.)
-
24.955
More Advanced Syntax (grad)
— Sabine Iatridou, Elena Anagnostopoulou (grade: A)
- Very nice class, wonderfully delivered. Somehow, jumping straight
from undergrad semantics to the most advanced grad class turned out to be
quite okay.
- 6.863/9.611
Natural Language Processing (grad) — Berwick (grade: A)
- Easy class. Some work, but not much; moderately annoying. There is
no point in attending. Most of the material is about formalizing
simple and stupid heuristics, which seems to be an unfortunate common
feature of AI classes.
-
24.903/24.933
Semantics and Pragmatics — von Fintel (grade: I, for now)
- Minor in linguistics.
- 6.899
Advanced Seminar in Complexity and Cryptography (grad)
- This is the complexity reading group. Somehow I was always busy and
didn't attend, except when I gave a talk.
Fall 2006 (M.S.)
- 18.409
Metric Embeddings (grad, special topic) — Michel Goemans (listener)
- The class was way too early in the morning.
- 6.876/18.426 Zero-Knowledge and Applications (grad, special topic)
— Silvio Micali, Ran Canetti (grade: A)
- Wow, I was so lost in this class! But Silvio is hilarious.
Spring 2006 (senior)
-
18.434
Seminar in Theoretical Computer Science (CI-M)
— Michel Goemans (grade: A)
- The course covers some fairly challenging material. However this
is a seminar for CI-M purposes, so lectures are given by undergrads,
who often get you confused even if you already understand the
material. Here are the notes for the two lectures I thaught:
-
6.100 Electrical Engineering and Computer Science Laboratory
— supervised by Erik Demaine (grade: A)
- A device to get 6 more units of credit, needed to maintain my
financial aid for the last semester.
Fall 2005 (senior)
-
14.12
Economic Applications of Game Theory (HASS) — Yildiz (grade: A+)
- Reasonably interesting and easy. It's impossible to stay awake
during lectures, but it's easy to understand what's going on from the
material online, and quizes are very easy.
-
21M.065
Introduction to Musical Composition (HASS-D) — Robison (grade: A)
- Teach people with zero musical background how to compose music in
one semester? Totally unrealistic, but lots of fun. The professor is
hilarious, and very relaxed (forgets about quizes, lets you hand in
assignments weeks late). The only really annoying part were the
quizes: recognizing songs is one thing, remembering how to spell the
composer's name is another.
My final project was
A Bear in the
Sandstorm.
-
21A.100
Introduction to Anthropology (HASS-D) — Paxson (grade: A-)
- I was genuinly interested in anthropology, but this was boring; we
focused way too much on women's studies. Fortunately, the work is
rather minimal.
Spring 2005 (junior)
- Teaching Assistant for
6.897
Advanced Data Structures (grad, special topics) — Erik Demaine
- The course was very cool, but it took a lot of effort. I taught 4
of the lectures. I also created and graded problem sets; most of them
are pretty interesting. Finally, I editted the scribe notes, which
turned out to be a very time consuming task. It's really unbelievable
what some people submit as scribe notes.
-
6.856/18.416
Randomized Algorithms (grad) — David Karger (grade: A)
- The course is fun and contains very interesting material. It's
also not too hard or time-consuming. I recommend taking it earlier in
your career. I knew about half of the material already, which was
annoying.
-
6.841/18.405
Advanced Complexity Theory (grad) — Madhu Sudan (grade: A)
- The course is cool, and you learn a few interesting things. Madhu
has a rather unusual teaching style: he side-tracks a lot, is very
informal etc. But in the end, it works quite well in conjunction with
the material of this class, and he's a very cool guy.
- 6.182 Psychoacoustics Project Laboratory (LAB req.)
— Braida (grade: A)
- A rather brain-dead course. Lectures are unbearable; I only
attended a few, and never really needed to learn what the rest of them
were about. Labs are very annoying: all you have to do is listen to
loud sounds for hours. Data-faking skills are essential to keeping
your sanity.
Fall 2004 (junior)
-
24.902
Language and its Structure II: Syntax (HASS)
— Sabine Iatridou (grade: A+)
- This was a great class. The material was very interesting. Sabine
Iatridou is an excellent lecturer; she's very eloquent and very
energetic. On the down side, she's quite patronizing, and assigns long
homework.
-
6.896
Sublinear Time Algorithms (grad, special topics)
— Ronitt Rubinfeld, Eli Ben-Sasson, guests (grade: A)
- Friendly and easy class. Sublinear algorithms are not too
interesting; the catch phrase is "at least you can do something", but
that something is usually very weak and uninteresting. The class is
best understood as the exercise for the mind that every theory student
needs to stay in shape.
-
6.893
Database Systems (grad, special topics)
— Sam Madden (grade: A)
- This class convinced me that I belong in complexity theory. I just
hated all these lame attempts at "practical research". This was a
full-blown systems course, with all the standard features such as
crappy exams, lots of awful reading (that I usually ignored), projects
etc.
-
18.447
Probabilistic Methods in Combinatorics and Algorithms (grad)
— Peter Shor (grade: A)
- Peter Shor is the absolute superlative of a bad lecturer. A
Tibetan monk who doesn't speak English could not be much worse at
teaching Mathematics. That said, you are stuck with reading the book,
which is actually quite good and contains a lot of interesting
material.
-
7.012
Introductory Biology (BIO req.)
— Lander and Weinberg (grade: A+)
- The class was actually not bad. You learn a lot of very
interesting stuff, and it's mostly logical. Unfortunately, there is
also a fair amount of memorization involved (no, don't believe what
they tell you in the first lecture). Both professors were cool;
Weinberg was funny, and Lander energetic.
Spring 2004 (sophomore)
-
18.312 Algebraic Combinatorics — Rom Pinchasi (grade: A)
- Very cool material, even though it has almost no bearing on
CS. Rom was very fun during lectures (often intentionally); too bad he
left for Technion. Here are some course
notes which Corina and I prepared while studying for the final
exam.
-
CS 225
Pseudorandomness (grad, Harvard)
— Salil Vadhan (grade: A+)
- A worthy theory course, teaching a lot of very important and
interesting ideas. Unfortunately, Salil and at least a part of the
students never quite got to be on the same wave-length during
lectures.
-
6.896
Theory of Parallel Hardware (grad, special topics)
— Charles Leiserson, Michael Bender, Bradley Kuszmaul (grade: A+)
- The material is very interesting, smart and rather surprising. The
class is very easy, especially due to Leiserson's determination to
teach at a slow pace and always start from the very-very basics. I
think he's taught 6.046 once too many times.
-
6.823
Computer System Architecture (grad)
— Krste Asanovic (grade: A+)
- The material is fun and interesting. Lectures are good;
recitations are so boring that your neurons wil want to commit suicide
(needless to say, I didn't attend many). The class is nice and easy
overall, but the quizzes are rather tedious (they require fast and
unintelligent reasoning).
-
6.033
Computer System Engineering (CI-M)
— Sam Madden (grade: A)
- The material and the projects are quite interesting. The
recitation sections taught by Sam were very nice; I didn't attend
lectures. Surprisingly, quizzes actually require thinking, and
learning what is taught in lectures won't help at all. Unfortunately,
some questions are entirely unclear, so some amount of random guessing
is necessary.
Fall 2003 (sophomore)
-
6.840/18.404
Theory of Computation (grad)
— Michael Siper (grade: A+)
- Absolutely beautiful class, including brilliant material and
excellent teaching. A must for anybody who is interested in CS (not
only theory). I got 9 out of 10 for one problem in one problem set
(unjustly), and a max on everything else.
-
6.838
Geometric Computing (grad, special topics)
— Piotr Indyk (grade: A+)
- Very interesting material, including a nice coverage of current
research topics. This class totally demistified computational geometry
to me, even to a point where I can think about research problems.
Piotr is a very good lecturer.
-
6.854/18.415
Advanced Algorithms (grad)
— Erik Demaine and David Karger (grade: A+)
- The material was fun and very interesting; everything else was
terrible. Featuring: buggy problem sets, many problem sets, dumb
problems on the problem sets, graders who expected pages of
explanations on such dumb problems, and instructors who were always
late to class and never finished on time.
- 18.314 Combinatorial Analysis
— Stanley (grade: A)
- Nice and interesting class, though there was too much emphasis on
algebraic manipulation for my taste (i.e. the tricky part was almost
always the algebra, not the combinatorics). Stanley's lectures are a
bit boring, but they become interesting towards the end (I attended
the first and last couple of weeks).
-
24.900
Introduction to Linguistics (HASS-D, CI)
— Flynn (grade: A)
- A rather good way to satisfy the HASS-D and CI requirements. The
material is reasonably interesting, and the class is not hard.
Unfortunately, two things made this class rather annoying: exams were
mostly an exercise in memorization, and Suzanne Flynn was the worst
lecturer I have seen so far.
Spring 2003 (freshman in sophomore standing)
-
6.897
Advanced Data Structures (grad, special topics)
— Erik Demaine (grade: A+)
- Very nice class; you are exposed to a lot of research topics in
data structures. Erik usually manages to explain the essential points
very well.
-
6.004
Computation Structures
— Ward (grade: A)
- Very fun; you actually have to design a complete RISC processor.
It reminded me of the good old days when I was interested in processor
architecture. It's nice because you can take the class "offline"
(don't attend anything, and only study for the quizzes the evening
before).
-
6.002
Circuits and Electronics
— Gray (grade: A+)
- Reasonably interesting, and not too hard. Sometimes annoying,
especially because of the labs, and the instructors' determination to
treat students as idiots (though I conjecture there are people who
need to be explained three times the same simple idea).
-
6.046/18.410
Introduction to Algorithms
— Indyk and Tidor (grade: A+)
- Probably hard for those who don't know the material already. But I
found it very annoying, because problem sets took me 30 seconds of
thinking and 6 hours of typing. Attendance is entirely unnecessary (I
spent some 2 hours in class during the whole semester).
-
14.02
Introduction to Macroeconomics (HASS)
— Vickery (grade: A+)
- Not as fun as micro (mainly because the material is too easy), but
still a pretty good way to satisfy the HASS requirement.
Fall 2002 (freshman)
-
6.041
Probabilistic Systems Analysis (REST)
— Medard (grade: A+)
- Very easy, but worth taking because you learn a lot of very
important material.
-
14.01
Introduction to Microeconomics (HASS)
— Gruber (grade: A+)
- Very fun and interesting, and it also satisfies the HASS
requirement. Prof. Gruber is very good. Grading is quite unfair, but
it's the same for everyone, so it doesn't matter.
-
3.091
Solid State Chemistry (CHEM req.) — Sadoway (grade: A)
- The class covers an incredible number of topics, but is not too
hard. The solid state slant makes it more interesting than 5.11, and
you also get to enjoy Prof. Sadoway's jokes.
- 6.A41 Sailing, Signal Processing, and Magic (freshman seminar)
— Al Oppenheim
- An interesting seminar with my freshman advisor.
-
24.04/17.01
Justice (HASS-D, CI) — Cohen (grade: B+)
- A bit boring, but ideal because it satisfies the HASS-D and CI
requirements, it has no final, and the workload is low (especially if
you don't do the reading and don't attend lectures). It's annoying
because the most desirable things about an essay seem to be clarity,
logic of argument, and total lack of any original idea.
Before MIT
I studied for one year at the University of Craiova, in the
Department of Automatic Control, Computers and Electronics. I managed
to get a 10 (out of 10) in all my classes there. I came to MIT as a
freshman, not transfer student. Still, I made very good use of
the year I spent in Craiova. Here's how.
First, I took the following advanced standing exams (with grades of
A in every one):
- 8.01 - Physics I
- The exam was pretty easy. Topics not covered by the Romanian high
school curriculum included elementary problems with moments of
inertia, and Kepler's laws.
- 8.02 - Physics II
- The exam was really easy. The
curriculum is a mathematically (and otherwise) primitive version of
the Electrotechnics course taught in Romanian universities. There are
many topics not covered in the Romanian high school curriculum. A
rather inclusive formula sheet was provided.
- 18.03 - Differential Equations
- The exam was pretty long. The curriculum is a very stripped-down
version of the Special Mathematics course from Romanian universities.
Instead, the MIT class is heavy on intuition and practical cases.
I got the following tranfer credit, for courses taken at the
University of Craiova:
- 18.01 - Calculus I
- 18.02 - Calculus II
- 18.04 - Complex Variables and Applications
- 18.06 - Linear Algebra
This is quite a misrepresentation of the original classes, which
were fairly advanced theoretical classes. The following classes from
MIT would have been better equivalents:
- 18.100B - Analysis
- 18.700 - Linear Algebra
- 18.112 - Functions of a Complex Variable
I also took some courses for which I didn't get transfer credit (I
didn't try): Solid Mechanics, Advanced Physics (some
quantum, relativistic, and analytical stuff), and Technical
Drawing.