MIT Challenge

http://open.163.com/
http://study.163.com/mooc/find.htm

 

http://www.scotthyoung.com/blog/mit-challenge/

http://ocw.mit.edu/index.htm

http://www.core.org.cn/OcwWeb/web/courses/lang/cn2/cn2.htm

 

 http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

 

MIT Challenge

http://www.scotthyoung.com/blog/mit-challenge/

Over the next 12 months, I’m going to learn the entire 4-year MIT curriculum for computer science, without taking any classes.

UPDATE: The MIT Challenge is now complete. I finished on September 26, 2012, just under 12 months after beginning October 1st, 2011. Click on “See More…” for any class to access my exams, official solutions or code I wrote.

Computers have always fascinated me. From finance to Facebook, algorithms are the hidden language that underlies most of our life. The largest transformations of our world are being written in code, and advancements in artificial intelligence allow us to use computers to understand what it means to be human.

Beyond the poetry of the machine, computer science is also immensely practical. Fortunes have been made and revolutions sparked on lines of code.

I’ve always wanted to speak that language. But, I didn’t want to invest four years of my life and hundreds of thousands of dollars to learn it.

I’m embarking on this experiment because I want to show that learning doesn’t require acceptance boards and SAT tests, thousands of dollars in debt, or even the 4-year pace most students assume is necessary to learn a subject.

Will I fail? It’s definitely a possibility—people a lot smarter than myself struggle through immense workloads at institutions like MIT, and I’m attempting to learn the same material at 4x the speed, without the benefit of instructors.

All I can promise is to share what I find with you. Listed below are all 33 classes I’ll be covering. For each of them, I’ll write the final exam and you can compare my answers to the MIT official solutions. I’ll also post any failures, so you can be sure I’m not omitting my mistakes.

LEARNING PROGRESS (33/33):

Click on “See More” to view videos, access the courses and see my results

8.01: Physics I – Classical Mechanics – COMPLETED See more…

18.01: Single Variable Calculus – COMPLETED See more…

18.02: Multi-Variable Calculus – COMPLETED See more…

8.02: Physics II – Electromagnetism – – COMPLETED See more…

6.01: Introduction to EE and CS I – COMPLETED See more…

5.111: Principles of Chemical Science – COMPLETED* See more…

7.012: Introduction to Biology – COMPLETED See more…

18.03: Differential Equations – COMPLETED See more…

6.02: Introduction to EE and CS II – COMPLETED See more…

6.042J: Mathematics for Computer Science – COMPLETED See more…

6.006: Introduction to Algorithms – COMPLETED See more…

18.06: Linear Algebra – COMPLETED See more…

6.041: Probabilistic Systems Analysis – COMPLETED See more…

6.002: Circuits and Electronics – COMPLETED See more…

6.046J: Design and Analysis of Algorithms – COMPLETED See more…

6.034: Artificial Intelligence – COMPLETED See more…

6.003: Signals and Systems – COMPLETED See more…

6.004: Computation Structures – COMPLETED See more…

24.241: Logic I – COMPLETED See more…

14.01: Principles of Microeconomics – COMPLETED See more…

6.033: Computer Systems Engineering – COMPLETED See more…

6.013: Electromagnetics and Applications – COMPLETED See more…

14.02: Principles of Macroeconomics – COMPLETED See more…

24.242: Logic II – COMPLETED See more…

6.011: Intro to Comm., Control and Signals – COMPLETED See more…

24.244: Modal Logic – COMPLETED See more…

14.20: Industrial Organization – COMPLETED See more…

14.23: Government Regulation of Industry – COMPLETED See more…

14.48J: Economics of Education – COMPLETED See more…

6.005: Elements of Software Construction – COMPLETED See more…

6.801: Machine Vision – COMPLETED See more…

6.837: Computer Graphics – COMPLETED See more…

COSC 545: Theory of Computation – COMPLETED See more…

FAQ for the MIT Challenge

  1. What rules are you following?
  2. Are you doing all the assignments, papers and projects?
  3. Does your curriculum differ from MIT’s?
  4. What happens if you fail a class?
  5. Why are you doing this? Do you just love studying?
  6. Will you get a diploma for doing this?
  7. You’re doing classes serially, isn’t that just cramming for tests?
  8. What kind of past experience do you have with the subject?
  9. I’m a blogger/reporter/journalist–how can I contact you to share the story?

Q) What rules are you following?

Because I’m not enrolled in MIT (or affiliated with them in any way) I’ve had to construct my own rules to make the challenge fair, yet feasible. The basic rules are simple:

  1. I consider a class successfully completed if I can pass the final exam (which typically means getting a grade of at least 50% although I aim for much higher).
  2. I write the exam under the same constraints of a student: no looking at the questions or solutions beforehand, no notes or forbidden material, same time constraints (the default is 3 hours if not specified).
  3. I grade the papers myself, comparing them to the actual MIT solutions. I’ll post both, so anyone can double-check my grading methods.

Keep in mind these are only the minimum requirements of my challenge. For classes which have a significant programming component, I try to do representative programming assignments, to the extent that this is possible.

Q)Are you doing all the assignments, papers and projects?

For theory or math-based classes, final exams are generally a comprehensive basis of evaluation, so I’ll use those as my evaluation. I still end up doing most or parts of the assignments and quizzes as preparation, but since I can’t maintain consistency with this criteria over the entire challenge (many assignments are either unavailable or impossible to evaluate objectively) I’m doing them in an informal manner.

For classes with a significant amount of programming work or practical design problems, I’ll try to complete most the assignments. However, since these are harder to evaluate, I’m still relying on final exams as the major criterion for these classes.

Q) Does your curriculum differ from MIT’s?

I spent nearly a month trying to piece together the closest mirror of MIT’s actual computer science curriculum to follow. Unfortunately, I can’t do this perfectly since some classes are impossible to evaluate (including labs and research classes), and others didn’t have any access online.

I am taking the same number of credit hours as an actual MIT degree, so where I couldn’t take one class, I replaced it with a similar alternative. In terms of volume of knowledge to learn, therefore, my curriculum is similar to the one suggested by MIT to its students.

The only other exception with MIT has to do with electives. I’m taking various non-computer science classes, to best mimic the HASS requirements for MIT students. These aren’t a perfect match, as the online courseware for arts is considerably weaker than for sciences at MIT.

You can see the actual MIT curriculum for computer science here.

Q) What happens if you fail a class?

Given the pace I’m attempting, I think it’s inevitable that I’ll fail a class. My main requirement is that I pass a final exam, so if I fail one, I’m allowing myself to take a different exam after.

My strategy is to take a fail-first approach, to be more efficient with my time on classes where I have several final exams I can use as the basis of evaluation. This is very different from university where a failure can be a real setback. That’s a benefit of self-education over rigid formal institutions.

Q) Why are you doing this? Do you just love studying?

Nobody likes studying, but everyone wants to be smart. Learning, getting to those insights and feeling smarter about a subject are immensely rewarding. Too bad many of us have forgotten this after years of punitive formal education.

I’ll admit, I may be a bit crazy, or arrogant, for wanting to complete a 4-year program in only 12 months. However, my real motivation is to show people that learning faster is possible and that it can be more fun at the same time.

Q) Will you get a diploma for doing this?

No, and that’s exactly the point. Our society incorrectly equates knowledge with accreditation. Getting a piece of paper is great, and for many lines of work, it’s completely necessary. But the equation is made so strongly that people forget the two things are different.

I already have a career as a writer and small business owner. I never want to work for a large corporation, where HR might scrutinize over my lack of a diploma. For me, I just want to learn computer science in case I want to start a new business or work for a start-up.

I have nothing against college. University was an amazing and worthwhile experience for me, and it could be for you as well. All I hope is that by showing an alternative, people who feel the current system doesn’t work for them can find another path.

Q) Isn’t this just cramming for tests?

No, but the difference is subtle. Most the classes build on past concepts, so my goal with each is to develop a deep understanding that I can leverage. Cramming is typically a resort to memorization to quickly pass a test then forget it. Understanding is harder, but not necessarily more time consuming (and a requirement if each class builds on the one before it).

As an update, Since the first four classes, I’ve been proceeding 3-4 classes in parallel at a time. Although this involves reviewing over a much shorter time span than is typical (1 month instead of 1 semester), it increases the benefits of spaced repetition.

Ultimately, my ability to comprehend and perform adequately on higher level classes will be the test of my method, since most freshman classes serve primarily as grounding for more difficult senior classes.

Q) What kind of past experience do you have with the subject?

When I was still in high-school I did a fair bit of programming, mostly creating small computer games. In addition, I’ve taken 4 university-level computer science classes, when I attended the University of Manitoba for my business degree. Yes, I do have some prior experience with programming which will give me an advantage in the challenge. That being said, my prior level of skill isn’t probably far from many of the CS students actually attending MIT and for whom the curriculum is based.

In addition, I completed the first course 8.01 Classical Mechanics as a pilot experiment for this main challenge in July of 2011. Therefore the number of classes I’m attempting in the 12 month period is officially 32.

Q) I’m a blogger/reporter/journalist–how can I contact you to share the story?

You can contact me at challenge@scotthyoung.com or use the form here. I’m going to be fairly busy (for obvious reasons) so apologies in advance if it takes me awhile to get through my emails, as I usually go offline when I’m working through a course.

posted @ 2012-11-06 10:11  庚武  Views(618)  Comments(0Edit  收藏  举报