"...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...
Comments (Closed after 30 days to reduce spam)
Posted by: Sh1fty on September 17, 2007
Posted by: Isshak on September 17, 2007
@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.
Posted by: Snively on September 17, 2007
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.
Posted by: Evan '10 on September 17, 2007
Posted by: Vytautas on September 17, 2007
Good luck with your classes and everything Evan. Don't forget to have fun on the side though.
Posted by: Paul '11 on September 17, 2007
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.
Posted by: Hunter '11 on September 17, 2007
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
Posted by: donaldGuy on September 17, 2007
Posted by: Karen on September 17, 2007
Posted by: Farhad on September 17, 2007
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!
Posted by: Isshak on September 17, 2007
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)
Posted by: Evan '10 on September 17, 2007
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**
Posted by: Nihar on September 18, 2007
Posted by: Star on September 18, 2007
Posted by: Sh1fty on September 18, 2007
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.
Posted by: Evan '10 on September 18, 2007
Posted by: Sh1fty on September 18, 2007
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.
Posted by: Evan '10 on September 19, 2007
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 ?
Posted by: Isshak on September 19, 2007
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.
Posted by: Evan '10 on September 19, 2007
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...
Posted by: Isshak on September 19, 2007
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!
Posted by: Andre B on September 19, 2007
Posted by: Hank R. on September 20, 2007
Uh...so 18.03 is a prereq for 6.002, which you need to take to get a Course VI degree.
Posted by: Evan '10 on September 20, 2007
Man, back in the day, when things were more hardcore....
Posted by: Nathan '10 on September 20, 2007
Posted by: Evan '10 on September 20, 2007
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.
Posted by: Marshall '48 on September 20, 2007
Add a comment