Mit EECS

<p>i'm just curious since i didn't get in as a transfer...</p>

<p>about CS: what programming languages people learn at MIT? are there any classes where they make you certain languages? in the four years of undergrad, do you learn anything related to databases?</p>

<p>about EE: do you know how different EE at MIT is from other universities?</p>

<p>edit: do you learn anything related to makeing an operating system...?</p>

<p>thanks.</p>

<p>wow 43 views and not a single reply?</p>

<p>

<em>making</em>
sorry for that...</p>

<p>one more question, do you know any "wow" factors about MIT EECS that one would not find at other universities?</p>

<p>thanks. :)</p>

<p>I dont know what you mean. Programming classes will introduce you to certain languages. whether you'll have to learn them has a lot to do with whether you already know them.</p>

<p>For example, 6.001 which is a pre-req for all EECS courses is all in scheme.</p>

<p>EECS is a huge department: any course or study you can think of, chances are they'll have it.</p>

<p>Programming classes will just introduce? Let's say I want to learn the following languages: C++, C#, and Java, and later Oracle databases (not a language though). So, now my question is, are there any programming classes at MIT that would teach these languages in detail?</p>

<p>Yes, I know most universities are after the concepts, but different languages have different capabilities, so I'd rather learn the languages...</p>

<p>Also, I was searching around for SCHEME, and only MIT uses it. What I mean to say is that 6.001 is, I guess, totally dedicated to SCHEME, so are there classes at MIT that are totally dedicated to C++, C#, Java, and Oracle?</p>

<p>Thanks a bunch!</p>

<p>(I'm not an MIT student, but I'll take a stab at this question based on what I've been told)</p>

<p>My impression is that the emphasis is more on theory and algorithms rather than languages per se. You have to know and use languages to do those courses, of course, but there are not a lot of "Intro to" type courses for different languages. Most EECS students probably come in already pretty comfortable with 1-2 (or more) programming languages, and are able to pick up others pretty easily when they need them.</p>

<p>The point to 6.001 is not to learn Scheme. The language is just a vehicle for learning how to approach programming more generally. Scheme has the advantage of being unfamiliar to most people taking 6.001, so they can all start on sort of a level playing field in spite of a large spread of backgrounds. Novice programmers and gold medalists from the int'l computing olympiad all take it if they want to major in EECS.</p>

<p>Wow factors? Well, there are some smart as ***** people in EECS at MIT. That seems like a "wow factor" to me. If you look at everyone who has represented the US at the int'l computing olympiad for the past 10 years, a large majority of them have ended up at MIT. Then there's the faculty, many of whom are world famous in their fields.</p>

<p>Before coming to a university like MIT, of course, everyone majoring in EECS should know how to write for-loops and if-then statements and other stuff, but not everyone will know how to write code to connect Java application to a MySQL database and get * rows...</p>

<p>Thanks for the answer though, anything helps. :)</p>

<p><em>Waits for more responses.</em></p>

<p>This Computer Olympaid is only for high-school students right? Do you guys know any computer related competition?
Thanks.</p>

<p>The thing is that if you learn the concepts in a more general sense, it's easy to pick up and do things in other languages. For instance, I had never worked with a MySQL database before a few days ago, and I picked it up very quickly and got it working very quickly (a very trivial example, but since you were asking about databases). Basically they want you to know how to program, so that all learning a new language is, is learning syntax (for the most part). </p>

<p>As for classes for learning specific languages, it's pretty much only scheme (6.001) or java (1.00? not a 6 course anyway). 6.170 and other classes use different languages, but I think you're expected to just pick them up fast.</p>

<p>I don't know much about EE since i'm doing CS.</p>

<p>As for operating systems, there is <a href="http://pdos.csail.mit.edu/6.828/2005/%5B/url%5D"&gt;http://pdos.csail.mit.edu/6.828/2005/&lt;/a> .</p>

<p>Hey, thank you so much guys!
One last thing, just in case if anyone has missed it...


</p>

<p>And tovander, so are you an MIT student?</p>

<p>Yeah, I just finished freshman year. I know most of this stuff from listening/looking at upper-classmen's classes/work and looking at course requirements. I only got to take 6.001 (and 6.370 if you want to count that) this year. I've also been programming for a long time before MIT (like quite a few people at MIT) so I've been exposed to programming before.</p>

<p>My understanding of the EECS dept at MIT is, as texas137 and tovander have said above, that you won't find classes that teach you programming languages or how to successfully write and execute a MySQL query. You're expected to pick that up on your own as you need it. Writing code is not the point. Theory and algorithms are the point. You'll have to write code to complete projects, but you won't find an SQL or C++ course in the Course 6 catalog.

[quote]
Let's say I want to learn the following languages: C++, C#, and Java, and later Oracle databases (not a language though). So, now my question is, are there any programming classes at MIT that would teach these languages in detail?

[/quote]
No: see the Course 6 catalog above. There basically aren't "programming classes" per se. (That's what weekends and summer are for, right? ;) )</p>

<p>you can learn a language over a weekend. why would you need a class?</p>

<p>6.001 uses scheme cause it's a very good base from which to learn computer science.</p>

<p>1.00 on the other hand, uses Java.</p>

<p>you learn operating systems in 6.004. EECS undergrad at MIT is like EECS Masters at other schools. languages you will learn: scheme, python, java</p>

<p>Is it possible to place out of 6.001 w/ an exemption exam? (I'm studying 6.001 w/ a teacher at school next year, following strictly the OCW course)</p>

<p>
[quote]
This Computer Olympaid is only for high-school students right? Do you guys know any computer related competition?

[/quote]

there's the ACM contest. It is more brute force programming and less finesse than the computing olympiads. Plus the ACM contest got started at a time when computers were much more expensive. Because of that history contestants compete in teams of 3 sharing one computer. The olympiad is a better contest, but yes, you have to be a pre-collegiate student. Even if you are not eligible to compete, you can learn a lot about algorithms by working through the interactive (and free) training materials. <a href="http://www.usaco.org%5B/url%5D"&gt;www.usaco.org&lt;/a>
ACM info here: <a href="http://icpc.baylor.edu/icpc/default.htm%5B/url%5D"&gt;http://icpc.baylor.edu/icpc/default.htm&lt;/a&gt;&lt;/p>

<p>
[quote]
Is it possible to place out of 6.001 w/ an exemption exam?

[/quote]
no.</p>

<p>nope. you'll just have to ace it.</p>

<p>thanks texas. yeah, i was in ACM, but i didn't like it at all. i mean they just give you bunch of numbers, and you do stuff with them. it's not too realistic, not fun...</p>

<p>anyone know good programming contests that are coming up very recentely? i'll be searching google for them, but i just want to make sure i don't miss anything...</p>

<p>There's a new one by Google. <a href="http://www.google.com/programming-contest/%5B/url%5D"&gt;http://www.google.com/programming-contest/&lt;/a>
Here's one from Duke <a href="http://www.cs.duke.edu/%7Eola/ipc.html%5B/url%5D"&gt;http://www.cs.duke.edu/~ola/ipc.html&lt;/a>
Topcoder <a href="http://www.topcoder.com/%5B/url%5D"&gt;http://www.topcoder.com/&lt;/a>
These are open to anyone, not college contests specifically</p>

<p>yeah i saw both by google and topcoder. but thanks. :)</p>

<p>kdd - you can also enter USACO internet contests as an observer. That would give you all the benefits of doing the problems and comparing your performance to other people, even though you won't be eligible for the training camp if you've already started college. (your opinion of ACM is the same as my son's. He really liked competing in USACO, but found ACM pretty inane. Sounds like the whole ACM contest needs to be revamped.)</p>

<p>River Pheonix, 6.004 isn't operating systems, it is mostly comprised of how to build a processor and program it in assembly language. 6.828, a graduate class, is operating system engineering and is known to be pretty hard and require a lot of coding. A professor at MIT is trying to make an undergraduate operating systems class.</p>