Skip to content ↓

There Are No Uninteresting Things by Evan B. '10

I'm taking classes. If you ask nicely, I might tell you about them.

“…only uninterested people.”

I kind of hate coming up with titles, so when I can’t, I scour the internet for a quote that’s moderately related to what I’m writing about. That particular one comes from Gilbert K. Chesterton.

In any case, the entire point of that little tangent was to get on the topic of knowledge, and from there, school. Classes have started, as has already been pointed out by several others, and during term, classes are generally at the top of my priority list.

And also, I figured that I would have a problem if Snively managed to get more posts up than me, so I’m going to stay one jump ahead of him.

I’m taking four classes this term, which is a pretty normal load. Those of you that wanted a Course VI overload are going to enjoy this, because that’s sort of what I’m going for. So now, in numerical order:

6.002 – Circuits and Electronics: The general purpose fundamentals of electronics class. This used to be required of all Course VIers, but it’s going to be phased out in the next few years in favor of 6.01 and 6.02. So far we’ve covered basic circuit elements like voltage/current sources and resistors, and solving the systems of equations that represent circuits. Later on we’ll be covering things like how MOSFETs work and signal filters. I can already tell that this is going to be challenging for me, because we’re already dealing with things that I don’t have to think about in the circuits that I design.

6.034 – Artificial Intelligence: Mostly what it sounds like. I’m more interested in electrical engineering than computer science, but this class is supposed to be very good. It’s taught by Patrick Winston. Winston has written several books on the topic, and used to be the head of the MIT AI Lab (before it joined with the CS Lab to become CSAIL). In addition to that, though, he’s also my advisor – in case you didn’t believe the “you, too, can have a famous researcher as your advisor” bit. Winston teaches the concepts using Scheme as his language of choice, which is a great language for focusing on the underlying concepts of the code and not the specific implementation.

6.111 – Introductory Digital Systems Laboratory: Endearingly known as the “Digital Death Lab.” This class revolves around using FPGAs (Field Programmable Gate Arrays), a form of programmable logic. This is a really weird concept that’s exactly what it sounds like: you define the logical operations that are applied to the inputs. It’s kind of like working with processors, but processors have a limited, pre-defined set of instructions that they are restricted to. FPGAs can do just about anything, and short of custom designing your own integrated circuit, they can operate faster than anything else, too.

This class is the one that I’m most excited about, because FPGAs are just amazing.

Finally, 21M.223 – Folk Music of the British Isles and North America: I studied fiddle in high school, and I’ve always been a fan of that, Celtic music, and styles like that. This class covers primarily ballads and fiddle music, so I thought it would be a good fit. In addition it’s a HASS-D and CI-H, so it’ll count towards a couple of the HASS graduation requirements.

I think I’ve got a good set of classes, but I know already that it’s going to be a rough semester. In the first week of classes, I had 2 labs, 2 psets, and about 75-100 pages of reading.

Which reminds me…I have more reading to do…

27 responses to “There Are No Uninteresting Things”

  1. Sh1fty says:

    I though that 6.002 is for freshmen. How can anyone take any electronics classes if they don’t know the basics? Some people in my class who have taken 2 years(4 semesters) of basic electronics still have trouble understanding some pretty much basic things. Also, I prefer bipolar transistors :D AI seems interesting, I downloaded the OCW version but that’s not it :( As for FPGA speed, basic circuits are usually faster :p But I agree, they are amazing smile It sounds like you have an interesting year ahead of you smile

  2. Isshak says:

    Hm, well, I didn’t really understand everything you said (the same for Shifty post), but apparently you LOVE the classes you take. And you’re studying artificial intelligence ? Wow! Never heard of Scheme before (I only know C++…), I better start doing research now.

  3. Snively says:

    lol, I won’t be blogging that much Evan, no worries.

    @Sh1fty
    Freshman year is pretty locked in terms of classes, you take math, physics, chem, biology, and HASS (which is some kind of humanities). Course specific stuff generally starts sophomore year.

  4. Evan '10 says:

    @Sh1fty (and sort of Snively, too)
    Course specific stuff usually starts more like the second semester of your freshman year, so I took 6.001 (Structure and Interpretation of Computer Programs – introductory programming class), as well as 18.03 (which is not strictly a “course-specific” course, but it’s required for all engineering majors)

    Also, 6.002 is technically a pre-req for 6.111, but I was able to get into it since I had electronics experience going in.

    What else…we do a lot with MOSFETs around here, and less with BJTs because everything is done in CMOS these days.

    And as for speed of FPGAs, basic chips usually aren’t faster because of the interconnects. By the time you get to circuits with the propagation speed of CMOS logic, you actually have to consider the time it takes for the signals to travel at the speed of light from one gate to another. If you’re using basic chips, you have to run wires (or PCB traces) to connect them, which adds a non-trivial propagation delay to the signals.

    @Isshak
    I wrote that entry knowing a lot of people wouldn’t understand much of it, but I wanted the people who could to see the kind of fun stuff that’s available here.

    And you should look into Scheme. You don’t frequently learn it, which is actually one of the reasons it remained popular at MIT for introductory programming – people coming in almost always didn’t know it, so it put everyone on the same page. The textbook that is used for 6.001, the course where they currently teach Scheme, is available online for free – Structure and Interpretation of Computer Programs. You should also check out Dr. Scheme, which is the distribution of Scheme that all of the MIT CS classes use now.

  5. Vytautas says:

    Hey Snively and Sh1fty, one of you must change his screen name in here as with skimming through the comments I usually get confused. Just like this time when I thought that Sh1fty’s post was Snively’s and realised the shocking truth just after making a post in my own blog and talking a little bit with Sh1fty(the real Sh1fty, I hope) in IRC.

  6. Paul '11 says:

    I gotta say Evan, mad props on choosing Chesterton for your title quote; that man was brilliant.

    Good luck with your classes and everything Evan. Don’t forget to have fun on the side though. wink

  7. donaldGuy says:

    Yay VI-info!!!

    I was really sad when I first heard of the switch to 6.01 and 6.02 .. #1 because it throws off numerical order .. I mean .. the new 6.005 is way after 6.01 but it seems like its half as hard. Mathematical concerns aside, the real reason was #2 I was counting on 6.001 to finally make me learn a LISP! I was looking through course stuff and I didn’t see any classes still using Scheme, so I’m glad there are still some.

    Since I heard of the switch, I’ve been trying to do the 6.001 OCW with the iTutor, which I constantly fear will go away since the iCampus initiative died … I should more time to work on it sooner

    Anyway, Evan thanks for giving those of us looking for a life in VI something to read, keep it coming ^_^.

    Good luck with all your classes.

    ~Donald

  8. Karen says:

    These boards seriously need new blood. Where are all of the ’12s?

  9. Nihar says:

    Now I realise why the checklist for ‘101 things to do before you graduate’ has a “refer to MIT course numbers to a Non-MIT person”…to turn their brains into whipped cream I say..smile

    But seriously, the classes sound fantastic and not to mention a lot of skull-cracking work!.
    I’d definitely take up AI if I get in.
    **Now to check out Python….hmmm**

  10. Farhad says:

    They probably gave up to presure and don’t use the ’12 anymore, they who used to use it next to their names I mean.

  11. Star says:

    Thanks for the course VI post – if I get in that’s definitely what I’m going to major in (although I’m much more into the CS aspect than the circuits and stuff…). The AI course sounds amazing though… that`s what I want to focus my studies on. Keep the posts about course VI coming… or the posts in general smile

  12. Isshak says:

    @Evan

    Thanks ! I’m checking it right now ! And do you learn Python too when you’re aiming at an EECS ? Because if I get in, that’s one of the majors I’m interested in right now.
    OMG the book is free online ! Yay for free learning!

  13. Evan '10 says:

    @donaldGuy
    All of the course numbers have been changing as they transition to the new curriculum – I’m guessing that ones like 6.005 will change, too.

    @Isshak
    Most Course VI classes don’t teach you to program in a particular language – they teach you how to program, which is a skill that transcends specific programming languages. So any languages you learn are the vehicles through which they teach you to code.

    Seriously – when I started my first pset for 6.034, I realized that I knew what the structure of my code should look like, I just couldn’t remember the specific keywords and function calls in Scheme. That’s when I realized that 6.001 worked.

    The new Course VI curriculum seems to be fading out Scheme in favor of Python (which makes some sense, because you’ll probably actually use Python in the workplace, and it allows you to do a lot of the weird things that you can do in Scheme)

  14. Sh1fty says:

    i just crunched some numbers and it seems that you’re right about FPGAs being faster, but it’s because the IC components are too slow. TTL, which is much faster then CMOS, has max response time from 15 to 50ns. to achieve a frequency of 100MHz response time would have to be under 10ns. i owe you a beer when i get to MIT smile

  15. Evan '10 says:

    @Sh1fty
    Heh. This is fun – I’m already getting to apply some of the early concepts from 6.111. The propagation delays for TTL and CMOS vary depending on the specific family – some TTL are faster than some CMOS and vice versa. The components we used in our first lab were the 74LS00 and 74HC00, which have delays of 15ns and 7ns, respectively. If you look at high-speed TTL or Schottky TTL, you get slightly lower delays than that. But keep in mind that FPGAs are CMOS, just a faster CMOS (usually rated to a propagation delay of 4-5 ns).

    In any case, you still can’t neglect the time it takes for the signals to travel – if you need a 2 inch trace to move a signal from chip A to chip B, it takes about 0.25 ns to travel down the trace. In the cases of complicated logic, that can add up. And that doesn’t even consider parasitic capacitance/inductance that is so much more present in PCBs (and, God forbid, breadboards) than it is inside an IC.

  16. Hunter '11 says:

    To add on to what Snively said:

    The first semester is pretty much set UNLESS you pass out of things or push things off until later. There are plenty of seniors in 7.012, for example, because they never completed their bio requirement and it wasn’t a prerequisite for their other classes. This is also why you wait until after your first year to declare a major. People who do pass out of things, though, and have the room can take additional classes.

  17. Evan '10 says:

    Don’t worry about it! Most people come here not knowing any of this stuff – I did. All of the stuff I know about electronics I learned last year, either through 6.070 or just by teaching myself.

    I’m definitely planning to write more about the AI class. It’s not entirely clear to me yet what we’re going to cover, though.

  18. Evan '10 says:

    The truly awesome part of FPGAs isn’t just that you can do things really quickly – it’s more that you can do really complicated things really quickly. Microcontrollers can do really complicated things, but not nearly as fast as FPGAs (depending on the exact task, it’s usually a factor of 5-10 difference).

    More importantly, it’s possible to bypass prereqs a lot of times by convincing both your advisor and the course instructor that you’re not going to die a slow painful death. It helps if you’re taking the prereq concurrently. Also, the biggest reason you need 6.002 before taking 6.111 is just to make sure you know basic circuits stuff, and I took 6.070 first semester last year, which provides that kind of background.

  19. Isshak says:

    I hope you will ! It sounds interesting.
    Oh darn, you spiked my interest, now I have to learn some Python or I won’t rest ! Hm, let’s see, if I stop sleeping, I might be able too ^^’. I think my schedule is as crazy as MIT’s right now, but I don’t think it’s as hard.
    You know what ? I think I small detour by OCW is a good start for me…

  20. Sh1fty says:

    i was talking about usual series. 74LS for TTL and 4000 for CMOS. besides, you rarely need such high speeds. i’ve never needed more than 1MHz and if i ever happen to need something faster i’ll probably use microcontrollers, at least until i take 6.111 :D what did you have to do to get into 6.111 without taking 6.002?

  21. Isshak says:

    @Evan
    Wow! Between the courses numbers and the electronic vocab, I’m completely lost ! All I understood is that some circuits are faster then others because the time it takes to the signal to travel is shorter ? Hm I think I would be more interested in the CS part, but I think circuits are cool too (IF you build something with them).
    What do you exactly study in the AI class ?

  22. Andre B says:

    Hey, I am really interested about your classes, thank you or the post. I have a couple of questions for you.
    Were you there your freshman year?, and How easy was to integrate into the school?
    AI sounds like a good class!, and with Patrick Winston Im sure you will find your educational needs full filed. Well, enjoy life and write back!

  23. Hank R. says:

    So at the Academic Expo, I was talking with the guy at the Course 6 table, and he told me 18.06 > 18.03 for VI-3 majors. Will I be missing out on anything by not taking 18.03?

  24. Evan '10 says:

    @Hank R.
    Uh…so 18.03 is a prereq for 6.002, which you need to take to get a Course VI degree.

  25. Evan '10 says:

    Ah – good call, Nathan. Disregard my comment.

  26. Nathan '10 says:

    Evan: Not anymore; remember, we’re the last class that has those requirements =P Now they get to choose between 18.03 and 18.06, and 6.002 isn’t required – they just have to pick 3-4 classes out of 6.002-6.007.

    Man, back in the day, when things were more hardcore….

  27. Marshall '48 says:

    I’m a DE EC (50+yrs) and father of a BS, MS, EE VI grad (’77). My son was a computer nut in high school and overloaded his freshman year with all the 6.??? courses he could take (not allowed anymore). He loved software programming and grumbled about all the circuit stuff he had to take (“I care about what computers can do not how they are made.”
    After getting his degrees he was a founder of a LISP machine co. — licensed from Tech. He was the “software guy” all the rest were working on the design of the new and improved machine. The design was improving so fast that they didn’t get around to freezing it and starting production and nearly went broke.
    All of a sudden, changes stopped and they ALL started producing pieces of the machine. He was assigned several boards to layout and get them manufactured. I can clearly remember him call home to confess — boy! I’m really glad I learned all that EE stuff!
    To finish the story — the machine was a success and the company went public — so he’s retired now.
    I’m Course X myself and enjoy reading here what’s on the minds of the undergrads and applicants.