4 ms·
How Harvard's CS50 Renewed My Hope For Online Education
- vicks711 14y agoCs50 and cs75 by prof David malan are great courses. The prof is really cool
- aruss 14y agoI wholeheartedly agree with the OP. I took Prof Malan's course via the Harvard Extension School my junior year of high school while trying to get into programming. I first tried to get into PHP and C++ the prior summer (I had no clue, and had no idea of how clueless I was). Enter MIT's OCW and CS50. I quickly watched all of the lectures in about a week or so, and decided to take the course for the following fall shortly thereafter. Prof Malan is one of the best lecturers I have had the pleasure to learn from, knowing how to keep an audience interested in just about anything. Malan and his army of TAs have also done a fantastic job of creating a community around CS50, and have provided a plethora of resources for their students. Their assignments and problem sets were also perfect. They were challenging and interesting without being inaccessible; teaching both programming skills and being relevant to important CS concepts. We also got a special lecture from Brian Kernighan at the end, which was a real treat. I'm extremely appreciative for the skills and knowledge CS50 has given me, and would highly recommend it to anyone willing to take on the challenge. It's the reason why I have my current interest in and basic understanding of CS. I'm really excited for what online education can offer if many other classes can be brought up to the high standard Prof Malan and his team has set. With 5 years of community college (8th-12th grade) and a semester at a top liberal arts college, all taken in-person, CS50 remains one of my favorite classes (in terms of interest, challenge, fun, etc). I should also mention I took CS75 with Malan as well, and while it wasn't quite as enjoyable for a number of reasons, it was also an excellent course.
- benesch 14y agoMalan truly is a fantastic lecturer, isn't he? He's also been leading the charge for free, online education—his course has been on MIT's OCW since 2007 [1]. Did you find that the lectures provided enough basis to complete the problem sets? A number of students I talked to struggled to actually piece together code after the presentation of mostly concepts in lecture. [1] http://cs50.tv http://cs50.tv
- aruss 14y agoI thought they were fine - I did watch some of the TAs virtual office hours on a couple of problem sets, but beyond that, the problem sets were largely good. I'm incredibly glad that the lectures were conceptually focused. It may have been a bit harder to do the assignments, but it forced you to really learn them. You had to go from concept to code on your own. In other classes (including CS75), it was much easier as you could copy a lot of work from lectures and office hours.
- eriktrautman 14y agoMalan's energy is awesome. For some of the more beastly problem sets in data structures and memory management, where Googling the error message just didn't cut it, I had to watch through all that week's available content (both lectures, both recitations, the walkthrough and the shorts) before gaining enough momentum to grind by. That's where it really hurt to not have another student sitting in the next seat to bounce ideas off of. They've put together a well monitored forum but it's not the same as walking someone through your code. I got it done, but some gray hairs could have been avoided. One of the major areas of improvement for all online ed is how to bring back that frictionless asking of questions. It's a comparative advantage for both people -- you may save me two hours of frustration with ten minutes of your time on a particular memory error and I may save you two hours of frustration in a similar fashion by better understanding pointers.
- benesch 14y agoThis is really good to hear. On campus, CS50 has a cult-like reputation. You'll regularly see CS50 t-shirts worn on campus; upperclassman insist that CS50 is one of those classes "you just have to take"; Malan is practically a celebrity. (I'll admit I was excited to spot him in CVS one day.) But I've watched students struggle through CS50 on-campus and come out barely understanding C and never wanting to touch computer science again. A small percentage, but enough to make me wonder if CS50 is the best approach. There's no "intro to programming" course at Harvard—this is it. There's also no advanced first-semester CS course: only four or five kids a year will skip 50. So CS50 is forced to teach both kids who've never touched more than an internet browser and kids who've lived on the terminal. Starting with C isn't easy, and HTML/CSS/Javascript (and goddamit, PHP) are shoved into the last 20% of the class. There was a study done a while back about why programming is so hard to learn. Wish I could find it. The researchers discovered something like a third of people picked up programming with little effort, a third could grok it with hard work, and the last third never had a chance. I think CS50 is great for the first two-thirds, but completely lacking for the last third. There's just too much material in too little time. Based on your reaction to edX, I think there's significant potential here. A one-size-fits-all class works much better online since you can move at your own pace. I'm excited to see where this goes. First place might be an option to pay for human grading. It's awfully hard to learn from automated grading. Also, David Malan and his TFs have literally dedicated their lives to this class. I went to a talk by Tommy MacWilliam (one of the head TFs and lead developers of the CS50 edX platform), and they've been working tirelessly for months to develop the UX at scale. They scrapped the standard edX format to truly optimize the experience for this class, and I'm glad it worked. [1] (Some of the apps were used on-campus first and had a few years in the wild.) Most of Malan's recent research has been on large-scale pedagogy. Interesting stuff. [2] [3] PS. The appliance really is complete crap, isn't it? (For those unfamiliar, Malan puts together a VMWare Fusion image with a heavily stripped-down version of Fedora. It's got a command-line auto-submission tool and some other CS50-specific stuff as well.) Do yourself a favor and use a vanilla install of your favorite linux distro. It's a necessary effort to normalize hundreds of thousands of development environments, but god they managed to cripple Fedora. [1] http://cs.harvard.edu/malan/publications/ccscne10.pdf http://cs.harvard.edu/malan/publications/ccscne10.pdf [2] http://cs.harvard.edu/malan/publications/CMU.pdf http://cs.harvard.edu/malan/publications/CMU.pdf [3] http://cs.harvard.edu/malan/publications/fp129-malan.pdf http://cs.harvard.edu/malan/publications/fp129-malan.pdf
- gits1225 14y agoThe difference between CS50 and others is that CS50 gives you a similar experience of taking a class in flesh and blood, while offering all the flexibility of online education; in other courses, it feels like the professors are held at gun point and are asked to teach the material in 10-15 mins intervals. It is awkward to both the teacher and the student, because teaching with a camera up so close to one's face is so, and just because Salman Khan (Khan Academy) did so, doesn't mean every Udacity, edx, and Coursera should. Remember that in the beginning, Salman Khan intended those videos for his cousins. Just look at SEE[1], to see how effective a traditional class room style teaching can be. SICP[2], SEE and CS50 are hands down the best lectures I ever had the pleasure to learn from. [1] http://see.stanford.edu/see/courses.aspx http://see.stanford.edu/see/courses.aspx [2] http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussma...
- dschiptsov 14y agoThis is mediocre course. You get lots of information, but without hows and whys which are absolutely necessary in CS. Compare it to MIT's course on the same page - they spend lots of time to explain you whys and hows, so later you nave no questions when faced with crap like PHP. They not just taught you coding in Python, they explain how it works and why - they teach you environments - how all those classes are implemented, so, when you see Ruby, your educated guesses (note language usage) will be correct.) So, Berkeley's CS61A by Brian Harvey is where to start. After this course you need data-structures and algorithms (MIT has good ones). Then it doesn't really which crap you have to face in industry - PHP, Java, something from MS or SAP - you will be able to pick up in on the go, because you have learned those fundamental hows and whys first.
- objclxt 14y agoI think you misunderstand the purpose of the two courses. The overwhelming majority of students taking CS50 on campus will never take another CS course. Harvard undergraduates are required to take a quantitative reasoning course regardless of major, which CS50 fulfils. Both Harvard's CS50 and MIT's 6.00 are intended to introduce people with little or no experience to programming. However, the former has far more students with humanities and arts backgrounds. This requires a different approach to teaching. Neither course is 'better' than the other, and the student evaluations bear this out. The feedback I hear from contacts at edX is that both courses are being very well received. The assumption you seem to be making is that the majority of people taking CS50 care about working in the industry, whereas they just want to find out more about programming. And that's not a bad thing.
- dschiptsov 14y agoI cannot look at it from a freshman's point of view, so I'm biased, but I definitely don't want it to be my only CS course. This is because I just know, that to understand, say, SQL (and NoSQL) there is excellent Database course from Stanford and it worth taking because it will pay back later. To understand programming you need CS61A (because it teach you whys) and then Data Structures and Algorithms. Then you can pick up everything you need from books. So, let's say that this is an Introduction To Coding (without deep understanding).
- rartichoke 14y agoI really wish they opened up CS51 and CS61. I can't say enough good things about CS50x. I haven't experienced being taught material in such a way... ever. They do a tremendous job at explaining everything and have loads of video / text with really fun and interesting problem sets. I wish I could erase the knowledge of taking the course just so I can re-take the course again to experience its sheer amazingness.
- fiatpandas 14y agoCS50 online was a really awesome experience. I haven't found another online CS course with an equally or more effective teaching style and material. CS51 looks great, the problem is of course they won't open it up. Harvard has every CS51 lecture, help session, etc. recorded, with all assignments online. The class even makes use of CS50's VM. Harvard Distance education students can access this full material if enrolled. It's a shame it just goes to waste after every semester. Anyone know the CS51 professor? Maybe they can be convinced to make a CS50-style permanent online offering with a small amount of effort.