6.00x: Introduction to Computer Science and Programming

John Guttag, Chris Terman, Eric Grimson — MIT  

Rating
4.2
16 reviews
Difficulty
3.8
Workload 14 weeks
Next SessionIn session
Categories Computer Science
Programming

GO » Write Review

People interested in this course were also interested in


Computer Science 101
Stanford University — Nick Parlante

5 Reviews
Learn to Program: The Fundamentals
University of Toronto — Jennifer Campbell, Paul Gries

22 Reviews
HTML & CSS for Beginners
Codecademy

2 Reviews
Machine Learning
University of Washington — Pedro Domingos

0 Reviews
CS50x: Introduction to Computer Science
Harvard University — David J. Malan

4 Reviews

16 Reviews


5
By Shane Mason from Berkeley, California 4 months ago
Taking Course Now

This is a comprehensive introduction to Computer Science. It is hard- but you will feel like a rockstar everytime you get a problem right.

Expect to put in 15+ hours a week while you are first getting the hang of Python. The upside is that you will walk away from it with a strong grasp on the fundamentals of python, algorithms, statistics, object oriented programming, and scientific programming.

As in life, you will not learn everything you need from neatly packaged videos and readings. Expect to 'look outside the box' for resources on stack overflow, python documentation, the course discussion forum, MIT's Open Courseware materials, and the course Wiki to obtain supplementary material to help you learn.

0
By Tamir Duberstein from San Francisco, California 4 months ago
Taking Course Now

I recommend avoiding this course.

First, the course instructors are exceedingly dry and monotone in their delivery of the material. They manage to cover a broad cross section of topics, but no thought is given to teaching the student the "joys" of programming. You will not learn code reuse, modularity, or DRY, here. This course's assignments are the closest thing to manual labour in programming.

For experienced programmers looking to learn Python through this course, look elsewhere. The techniques shown here are the farthest thing from idiomatic Python. 6.00x's imperative programming style emulates C and its object-oriented style emulates Java, with abstract classes and superfluous inheritance.

TL;DR if you're considering this course, reconsider, and take Udacity's CS101.

3
By MJ from Pittsburgh, Pennsylvania 4 months ago
Taking Course Now

This is not an easy class; it ramps up really quickly, and I think if I'd really had zero previous experience in programming I'd have felt quite lost at first. I'd recommend doing something like http://cscircles.cemc.uwaterloo.ca/ before beginning.

That said, it was a FANTASTIC class. It isn't easy, but they do present a lot of very complex ideas in a straightforward way, and the finger exercises and programming exercises are very carefully picked to drive home the important points.

There were some "bugs" in the first iteration of the class, mostly toward the end of the semester when a staff member's illness prevented a couple problem sets from being posted on time. HOWEVER, I was taking an actual PAID class at the same time as this, and 6.00x had WAY fewer problems than my actual paid university class. So I was really impressed by the class's professionalism, and I think it compares very favorably to any intro to CS class you might take for credit.

I highly recommend it!

(For the record, I'm writing this just before taking the final exam.)

2
By Sebastián Ramírez Montaño from Bogota, Bogota D.C. 5 months ago
Taking Course Now

This is a great course!

Maybe for newbies to programming it's a little bit hard.

I had a little programming experience, and I have learned a lot. They describe a lot of aspects of programming, without going too deeply but keeping the concepts clear and technical.

They explain very clearly a lot of key concepts that other courses sometimes forget.

They explain some kind of advanced topics that I wouldn't have expected, but I can learn a lot from them. Things like: random experiments, probability, algorithm runtime analysis, statistics, plotting...

1
By Arend Thorp 4 months ago
Completed

Best online course ever. I've taken a few Udacity courses (CS101, Intro Stats, Physics) and they are awesome too. This course gave me a clear sense of the sheer talent working at MIT. The lessons were challenging and occasionally frustrating but taught me an immense amount of new material. I came into this course with zero experience in OOP and now feel utterly confident implementing it all over the place. The HW exercises were entertaining and provided a look at the real utility of simulation. The text for the course was excellent as well. I can't recommend this course highly enough. BRAVO!

1
By William Doyle from Minneapolis, Minnesota 4 months ago
Completed

This is a great course. The faculty is really top shelf. Grimson is one of the best instructors I've ever seen.

Sure, there were a few technical difficulties but hey MOOC didn't exist a year ago. I'm sure they'll get it right for the next group. The difficulties didn't really detract from the learning experience.

I learned a lot, especially the modeling algorithms, and I'm no newby. Highly recommended!

1
By ChristineH 10 days ago
Completed (Partially)

I am taking the course now, but the course has stalled, and I do not know if it will restart. There were problems with the second midterm. Some of the problems were poorly worded and some answers were marked incorrectly, so the staff decided to work on fixing the midterm we already took instead of posting the problem set for our current set of lectures. They have also failed to post the next set of lectures. In other words, we are pretty much where the class was last semester. The first few weeks were great, but then the quality of the class went down, and now materials are not ready when they should be. As happened last semester, communication from the staff has been woeful. Instead of just posting a message saying that they did not plan their time well and that they screwed up the second midterm, they have chosen not to post material and not to let anyone know what's going on. Finally, we did receive a note, via one of the community TAs, to say that they were busy because of school and that they were working to fix the midterm

This class has a very interesting syllabus, but edX seems to have some persistent problems implementing the class in an timely and professional manner. I would give the class a five if the whole class were as good as the first third of the class when Eric Grimson, the chancellor of MIT, was presenting the lectures.

1
By Tim Holyoake from Derby, England 3 months ago
Completed

1. Content

As an introduction to computer science and computational thinking, it’s rather good. It’s reassuring to know that the fundamental principles I first learned around 30 years ago are still sound, albeit with the implementation method being Python rather than Pascal these days. The only significant criticism I have of the content is that not enough time was taken to introduce Object Oriented Programming (OOP) principles. It first appeared 6 or 7 weeks in and was then rushed – even though it was absolutely essential to understand it properly to successfully complete the rest of the course. Too many people seemed to struggle with the way it was introduced and some gave up in despair. Splitting this week over 2 would definitely help. Unlike a significant number of other students who commented in the course forums, I don’t think this was the “fault” of the lecturer who presented this part of the course – rather, that he needed to be given more time in the schedule to communicate the material.

2. Course Leadership

Woeful. The mea culpa of the edX leadership team published on the course information page in response to the non appearance / sporadic appearance of assignments, finger exercises and other materials towards the end of the course was welcome, but was too little too late. The last third of the course between Midterm 2 and the final may as well have not happened. And yes, the course was “free” for those of us who took it, but the massive step backwards in delivery quality compared with 6.002x earlier on in 2012 should have traditional distance learning institutions heaving a sigh of relief.

(This is an abridged version of a post from my blog: http://www.tenpencepiece.net/blog/2013/01/20/edx-6-00x-final-thoughts/ )

1
By Jun from Seoul, Seoul 4 months ago
Completed

Completed the final exam on Jan 14th. Here are my thoughts about the course.

THE GOOD:
- Amazing community -- for some reason 6.00x attracts some very talented coders who created test suites and testing frameworks for other students to use (these coders were fellow students, not 6.00x staff!)
- The rigor of the course is what you might expect from MIT-- it's really sink or swim! I remember there was a drop off of several thousand students in week 6 when we covered Classes and OOP,
- Material covered in 6.00x is definitely more academic and theory-oriented than other hands-on cookbook "programming" courses. I don't know of any other introductory CS course covering graphs, optimization, memoization (dynamic programming) etc.
- Mini problem sets (aka "finger exercises") -- these test your understanding immediately following a 10min lecture segment. Very helpful for cementing understanding. Unlike the regular HW sets, finger exercises can be completed in just a few minutes to an hour at most.
- Challenging HW sets -- some of the problem sets took me 15+ hours to think about, implement, and debug. This is where I think I learned the most.

THE BAD:
- First offering of 6.00x, so there were many bugs such as autograder crashes (twice during midterms and finals), discussion forum crashes, sporadic site unavailability when AWS US-East went down, etc.
- Lack of communication from staff regarding delays in posting content (which was apparently due to a serious illness plaguing a key staff member)
- The finger exercises and HW sets, which I think separate edX from being another MIT OCW, were no longer developed or made available during the last 5 weeks of the course due to staff issues (sickness, etc).

VERDICT: You should still take 6.00x. For regular people, it's a hard-core intro to CS, emphasis on the 'S' (science). I'm sure regular MIT students don't find it too difficult, but I really had to work my butt off just to get a B in the course (A: 80+, B: 65+, C: 55+, <55 no certificate). The next offering is in Feb 2013, and by then I'm sure they'll have worked out most of the issues I referred to above. Thank you, MITx!

1
By Mot Maos 4 months ago
Completed

Great course and great teachers! It was my first online course and it was amazing. I've just finished the final and I have to say that, despite some minor problems in the course organization, it was very well designed. Good pace, lots of beautiful problems and examples, really great teachers!
I am not a native english speaker (as you have already guessed :D ), I knew only the basics of functional programming but nothing about python or OOP, still I was able to follow the course pretty well and I found it really useful.
Simply excellent! Many thanks to all the staff at MITx!

0
By Tyler from Santa Barbara, California 4 months ago
Completed

This course was fantastic. I had never done any programming before, but I enrolled in this course and just completed it. The videos are extremely high quality and the course is specifically designed to be taught online, not simply posted on the internet. The discussion forums are live an helpful and the course staff is helpful and articulate.

This course gave me a great, solid understanding of the fundamentals of computer science and programming and I would absolutely recommend it as a first course in programming if you have the time to put into it and the determination to finish.

The due dates and the promise of an MIT certificate at the end were just the right amount of motivation to keep me current with the course.

A great course.

0
By Lisa from Christchurch, Canterbury 4 months ago
Completed (Partially)

This course would have been almost perfect if not for the numerous small issues that plagued its first offering.

First the good - the interface (aside from the weirdly structured forums) is fantastic and very well polished. Videos have all the necessary options along with captioning on the side and waiting for the little green tick to appear in the quizzes is always fun (and frustrating).

Content and difficulty was well managed and very consistent, with the exception of one week on object-oriented programming when a new professor entered.

Unfortunately, while the course had all the promising features, it seemed to have many teething issues in this first instance. Finger exercises would often not appear for many days, quizzes and midterms had several incorrect answers, and several other small niggling things hampered the experience.

Giving the benefit of the doubt, this course should have hopefully fixed what are mere bugs rather than core issues, and is fantastic for anyone looking for a mildly rigourous introduction to Python. If you want something a little more gentle, or perhaps like blitzing through at your own pace, Udacity also has an excellent offering in CS101.

0
By Niko Tzikas from Brooklyn, New York 27 days ago
Taking Course Now

I'm a newbie to programming and this course is pretty challenging. I would have appreciated the homework answers to be provided after the due date so that I may at least understand what it was that I wasn't able to figure out on my own.

0
By andykp 31 days ago
Completed

great class to learn python and more importantly, the bigger concepts behind sound program writing
assignements are well designed and challenging, lots of satisfaction in completing them

0
By Brian 48 days ago
Completed

This is a good introduction to programming. It is also a good programming course for a scientists, as it introduces some usage of graphing packages for python.

The autograder was very frustrating at times, but there is a significant amount of programming assignments, that really benefited my python ability.

The class started very strong, but kind of loses steam after halfway through, and the number of lecture questions and programming decreases. I think they realized much of this though, and hopefully things improve in subsequent offerings of this course.

-1
By suirsuss from TN 3 months ago
Taking Course Now

excellently challenging supplemental resources required to accomplish homework. this is my second attempt last semester i had to quit since i tried to start late and work on the harvard CS class and chemistry at the same time. it was too much for noob. this time i will try just this and biology ... for total novice programmer i would say 20 hours weekly and that is expecting you are at least above average intelligence

21 People Interested  Show




Support us:    

Follow us on Twitter, Google+, and Facebook.

Read about us.

© 2013 CourseTalk