I was recently admitted to MIT EA and am thinking about whether to major in Course 6 computer science. As the program is obviously very rigorous, do you think it is dangerous that I would have no programming experience prior to enrolling in those classes?
Well, I don’t know much about MIT, but from a general standpoint you don’t need any prior programming experience when first taking CS classes. Although, you did state that the classes were quite rigorous so I would make sure if you do take them that you do some practice with programming if you register for those classes. (codeacademy, computer science lessons online, etc).
I know of students who had very little prior experience and still did well as a Course 6. I suggest you spend the next few months getting your feet wet. Open Course Ware has a couple of introductory classes you can study for free. That’ll help you determine whether you should pursue it.
@daywave Remember course 6 is EE and CS. But I would say you will be in the far minority in your freshman class, if you have not yet been exposed to computer programming in high school. . Many MIT students are in FIRST robotics, and learn Java or Python in that EC, many others take AP computer science in high school, others will study on their own. I would go ahead and find a summer class in programming, or take an on line Khan Academy CS class on your own, or just study ahead with MIT Open Course. For one, it will give you some confidence that you really want to major in computer science. Whatever prep you do now, and you might as well, will help you to be ready for MIT on day one. And I cannot emphasize this enough, review calculus, if you did not take BC calculus in 12th grade or a college level calculus class. You can do this by taking 18.01 on MIT Open Course, or Khan Academy on line. If you do, you will be happier in freshman year, where you will be taking a year of math and physics. The better you know calculus, the better off you will be. Its not really a good idea to say, “I got into MIT” all is well. I would take every opportunity to prepare, as what else do you have to do right now?
As a current MIT student, I can say you’re fine. You don’t need any programming experience. Odds are, the first computer science you take at MIT is 6.0001 which is a half-semester intro to Python class, commonly taken my freshmen in their semester. Most people who already have prior programming experience take the ASE (Advanced Standing Exam) during orientation and either jump into more advanced CS classes immediately or take their P/NR first semester to get out of the way GIRs or other advanced classes of interest.
If you want, it doesn’t hurt to check out edX’s 6.0001 class if you’re interested in learning Python or having a headstart. It’s free and short (designed to last two months). Unlike what @Coloradomama said, no intro class will ever give you confidence in what you want to major in unless you ignore everything else you’re taught. Do what you love. Spend your freshman year taking classes that interest you, and ignore major requirements until your sophomore year. Unless you declare sophomore standing during January of your freshman year, you won’t have to declare a major until the end of your freshman year, so there’s no rush to explore other subjects.
They try to make your transition to MIT as easy as possible during your first-year. If you got admitted, then you can certainly succeed. Enjoy your next year and a half!
I think a lot of students can and do choose a major based on intro subjects at MIT. In fact, the old 3.091 was a recruitment tool and took care of the Institute chemistry requirement, so it was a double duty class, always taught by a rock star professor. Chemistry rather used their into class as a weed out for all the chemistry hopefuls. Physics was in the middle. I actually worked a UROP for my 8.02 professor, in experimental plasma physics and self selected out of physics after that UROP, the summer after my freshman year.
How can a high school kid be passionate about computer science if he/she has never been exposed to it? Plenty of students will get exposed to material in freshman year and make a decision. However you don’t have to make a decision for almost two years, depending on your major, due to core requirements, and humanities and social sciences that you can get out of the way in year one and two.
Working in a lab can be helpful. Its hard to know “am a passionate about graph theory, or do I want to study algorithms or some other math related CS” as a high school senior. You will get exposed to that stuff at MIT.
Being prepared is never going to hurt any student, though one can never be entirely prepared for a school like MIT.
Just enjoy the ride. !
The EECS department has a large number of faculty who are physicists as well. They study everything from optics, to semiconductors, to crystal physics, to superconductors, to carbon materials and there is a lot of interdisciplinary work in EECS.
As a course six you will get exposed to both EE and CS, making you a stronger candidate for ANY job out there.
It seems like the course 6 numbering and courses got changed a lot since I graduated almost 2 years ago (6-14 is completely new to me), but a lot should be the same.
Since you want to major in CS, you’ll probably be on the 6-3 track (note that Course 6 splits into EE, or CS, or EECS as well as 6-7 and 6-14). If you have no coding experience, you’ll most likely take 6.0001/0002 (which is taught in Python), followed by 6.01/6.02/6.03/6.08 (it appears the introductory courses got changed as well, since pretty much every course 6 took 6.01).
The courses can be done in order without prior programming experience, so you should be fine. I took 6.01 with no Python knowledge and only a little prior coding experience, and while it moved fairly quickly, it was manageable.