Harvard CS professor David Malan built a distance-learning empire
newyorker.com
newyorker.com
It's a mistake to think this is one man's achievement, and a model to universities everywhere of the kinds of quality that can be achieved if they give their staff a break from the endless restructurings, precarity, admin, overwork and burnouts that characterises the vast majority of their situations.
Most major research uni profs are obliged to teach 2-3 courses per semester. Most would prefer to teach fewer or more advanced courses. Only those who love to teach revel in intro courses, and from what I've seen, that's less than 10% of profs at big name research-driven schools.
From my experience that extends quite a bit further than that too even for a university that wasn't research heavy. I'd argue about half of my lecturers at university back in the day saw Level 1 classes not only as a hassle, but had active disdain for teaching them.
IME, that's a heavy courseload. At the university where I work (not as faculty), it's closer to 1 course per semester on average. Maybe 2 occasionally, but that leaves very little time for research.
also i guess worth pointing out that it's win-win for Harvard to be giving this kind of support, with the attendant marketing it drives and the implication that if you take this class you can be the next Zuck.
I also don't understand why the course seems to cover everything and the kitchen sink. It covers a rather wide swath of material and programming languages. It's my personal learning and teaching style that courses should be more focused and concise. The course content also seems very trendy and software engineering job-oriented, and I think learning should be removed from trends. My fear is that students will come out of the course with a very narrow view of computer science such that they think C, Python, HTML/CSS/JS, SQL are the only games in town.
Are MLs (SML, Ocaml, F#) or Lisps/Schemes mentioned at all in this course? I don't even see the point in teaching C as an intro language anymore. Python as well, which has nothing going for it as a language aside from library support and industry use.
I'd be interested in how both students and other professors at Harvard feel about the course's success given their experience in courses that follow.
It is selling you into the world of computer science, a window into it. This could be further seen by its spin-off courses for different audiences.
> My fear is that students will come out of the course with a very narrow view of computer science such that they think C, Python, HTML/CSS/JS, SQL are the only games in town.
It's an "intro" course. In fact, this intro course covers way more than what colleges in the US do for an intro course.
> Are MLs (SML, Ocaml, F#) or Lisps/Schemes mentioned at all in this course?
Nope, and why should they be?
> C as intro language
David Malan answers this here: https://qr.ae/pNsCkQ
I personally don't like being sold something when learning and feel like there's a fine line between something being sold and something being presented as important or interesting. I acknowledge this is a strong personal preference.
> It's an "intro" course. In fact, this intro course covers way more than what colleges in the US do for an intro course.
Well, that's part of my problem with it. If it's an intro course, why throw so much into it? If it's meant to survey a lot of things, then why not provide a wider view? Having not taken the course, I am speculating here, but I would guess there's two outcomes to a student taking the course. They either get a superficial view of what they cover or things are covered at such a pace by going both deep and wide that there isn't time to properly ingest everything. That's why I am curious of hearing about actual outcomes from people taking the course. Courses that cover too much, for me, get me thinking in too many directions to be useful.
> Nope, and why should they be?
I was just asking the question, not saying they should be. But I do feel it's a bit of a disservice not mentioning them given that they inspired a wide swath of today's modern programming features. I also feel they are the ideal teaching languages, especially for intro courses.
> David Malan answers this here: https://qr.ae/pNsCkQ
I'm fairly unconvinced by that answer, which is rather predictable. Why is it important it's close to hardware? There's nothing stopping you from implementing data structures or exploring buffer overflows in other languages. Mathematicians don't start teaching students mathematics by being "close to the hardware". If they did, we'd start off the university education with real analysis, topology, and abstract algebra. Instead, calculus is the primary starting point, which sits at the right level of abstraction. C is exactly at the wrong level of abstraction. It's too far away from the hardware to really understand the hardware <-> software interaction in depth, and it's too low-level to understand the more useful abstractions in computer science and programming. I personally view abstraction as the key point in learning programming and computer science, and C is probably the worst language you could pick for that.
The approach found in Nand2Tetris and the book The Elements of Computing Systems is far more interesting if one wants to truly understand how software stacks on top of software that stacks on top of hardware.
---
I am not sure how familiar you are with university intro-level course. This course actually providers a wider viewer than many many other intro courses.
---
> I also feel they are the ideal teaching languages, especially for intro courses.
Not sure how involved you are with designing a CS curriculum but at least in the US, most colleges shy away from these languages. (Yale does start in Racket) I'd make an assumption that over all this time period, a lot of these professors have actually put some thought into which language is suitable.
--- There's nothing stopping but since this course is giving you a window into the world of computer science, they wanted to add the hardware/memory-mangament aspect as well. I'd say this is quite unnecessary for an intro-cs course, but not a bad thing. Assuming this purpose, I can't think of another language that would be more suitable than C. Assembly? That'd be painful and unhelpful.
I think your analogy is a false equivalency, regarding topology and abstract algebra. I don't know about math enough to give my vision of a better analogy.
I'd saying teaching kids to drive in manual shift instead of auto would be a better equivalency to having them write in C.
---
The course you are mentioning is for a very specific purpose. Even the author says that the students for this course should be able to program in some programming language. (Which wouldn't work for an intro course where they target someone with no exposure at all).
And most CS programs would have a similar course at 200-level. See examples of CMU's 15-213, MIT's 6.004, Stanford's C107.
"Malan’s contract at Harvard allows him to focus almost exclusively on CS50; even the research he publishes centers mainly on the class...Malan’s method of remote teaching is not easily replicable; CS50’s pyrotechnics would not be possible without an unusually deep well of resources and his own fanatical commitment"
Why have 10.000 poor versions of a lesson accross the country instead of teachers or parents guiding classes based on curated, great online classes?
Gilbert Strang comes to mind as an example of great explanations without the TV Show production quality.
I wish my country did something like Khan Academy but for more subjects, and in Spanish
I really think this could feed into a rich ecosystem of free, online distributed research and publications. Ideally that could lead to public grants and funding for research outside of the university system.
Maybe one day.
The closest possibility is that the California state school system develops an online wing.
An online university would have probably been a better fit for me in the first place, but at the time I didn't want to do it due to the reduced prestige associated with it.
I don't know whether to blame the professor or the students here--my gut feel is to blame the professor.
I taught at a far less "prestigious" university and that wasn't my experience. I used to record all my CS lectures and practically all my students showed up anyway. And I never took attendance.
Even when I had a "marketing and sales" guy come in to deliver a lecture for me (because, let's be fair--a significant fraction of CS students are going to wind up in non-tech roles so students need exposure to that side, too), practically the whole class showed up. It completely stunned the poor presenter flat who expected that maybe one or two students would show up and instead wound up with a full house.
If good students regularly aren't showing up for lectures, the person delivering the lecture needs to do some serious soul searching and fix the content of the lecture.
If I am not doing that, what's the point of a "lecture"?
Otherwise, you might as well read a book. It's faster than a lecture, likely more thorough, and not tied to a specific timeslice.
I was one of those students who didn't learn by actively participating and I always felt like I had trouble learning in class. The school I did my PhD in started using online tools for some of the courses and I found that I learned way better when I watched the online lectures. A big issue I always had in class is when the lecturer explains something that is obvious to me in great detail, or just speaks slowly in general I find myself daydreaming and once I snap out of it I may have fallen behind and not be able to follow the rest of the lecture well. Online lectures at 2x speed are way more interesting for me and I almost never daydream. If I feel tired I can pause for a couple of minutes and stand up and stretch or walk around the room. If I miss a detail I can go back and replay it again. I would still attend office hours and email the professors though. What I learned from the online lectures also stuck with me much longer.
At the end of the day, students are paying an enourmous amount of money to learn, and I feel it shouldn't matter if the way they learn it by not showing up to class. Especially if they learn it better by not showing up to class.
Okay, that's a LOT of missing context.
Having a "discussion" section is unusual for most universities outside of beginner prerequisite classes. And, office hours have never been mandatory for students anywhere I have taught.
Given that, yeah, I can see that interrupting a lecturer is problematic and that watching a recording is probably okay.
Probably not the case and they just structure their own course to be similar to MIT's courses.
THIS. So much.
Having just done an online talk, I can tell you that the audio-visual stuff was BY FAR the most annoying.
More expensive webcam, add way more lighting to my office, get an expensive lavalier mic (highly recommended for lectures--earphones with boom mics drive me nuts as the monitoring has enough delay to be annoying--probably could remove that with a $500 audio interface that has DSP monitoring), learn OBS, realize my laptop has nowhere near the power necessary to drive OBS, build a new Desktop machine outfitted for video (that barely even notices OBS), relearn OBS now that it works beautifully, realize that I don't know even a fraction of OBS but have to get things done, record the lecture, and finally have it presented in potato-cam because the people running the thing have laptops with less power than mine and can't playback the hi-res video I sent them.
The lecture maybe took 40 hours to do. Maybe.
The A/V--probably 120+ hours. And probably will take another 120+ the next round because I'll be more capable with the tools.
Not a great thing in the middle of Covid.
However, once Covid passes, perhaps WeWork should try this with all their real estate to avoid going bankrupt.
I'd think that despite variations in environments in a home, there are either 1) enough accommodating tools to normalize (e.g., lights that have a variety of settings) or 2) the majority of the processes required to handle the variations are figured out (e.g., in consistently poor lighting, you need package B instead of package A).
I see some hardware packages for home studios going on sale, but nothing to the level of hardware/software integration necessary for the most effective online instruction/discussion.
Tufts had a professor who was nationally recognized for incredible intro CS lessons: https://www.computer.org/profiles/benjamin-hescott
They denied him tenure: https://tuftsdaily.com/news/2017/08/29/professor-computer-sc...
It’s not a bad thing that Malan has the privilege to be in a position where he can successfully focus on perfecting a single class. In fact it’s fantastic for us all that he’s doing this work. It’s just important to acknowledge the privileges he has so we don’t look at normal teachers and say “if you only tried a bit harder, couldn’t you do something like this?” It’s not just about effort and intelligence, it’s also about the resources that are put behind the educator.
The thing that sets apart good instructors from mediocre ones is the passion they have toward teaching (esp. the good ones seem to have empathy as in they want students to succeed and understand the materials that the instructors themselves probably took a good amount of time digesting when they were in students' shoes).
I was at my best during those first months. Experience and empathy all help but I could notice how being only slightly enthusiastic was hindering my performance.
College instructors everywhere should take the course to see what the zenith of multimedia online education looks like.
I have been interested in pedagogy and talking with all the great teachers, the one thing I see in common is the ability to update, improve, and iterate. Constantly. Pretty much every time the course is taught there is something slightly different. There is risk there (sometimes changes are harmful) but that is how you make the course better.
My guess is that is the case here, and that the course 13 years ago was not nearly as refined. But he had a vision and stuck with it.
In contrast, I watched all the lectures of Martin Odersky's functional programming MOOC. I learned a ton from that even when I'd already seen the material. His presentations were lower tech, with less razzle-dazzle, but my goal was to learn. His presentations are optimized (intentionally or not) to facilitate good note taking and later application.
The happy-go-lucky, flashy tone of the course is completely misleading. It is a challenging course, so much so that it’s been the subject of numerous cheating scandals from students caving under the pressure over the years.
As for depth, this is a first intro to CS meant not only for CS majors but for people from other domains (Econ, humanities, hard sciences, what have you). The style is meant to cater to people who might not be a priori fascinated by flipping bits. Still quite a bit of people decide to concentrate on CS after taking the class, so it must be doing something right in that sense...
The course is not mandatory for CS concentrators, so if you already know your fundamentals you can jump right into CS51 (functional programming) or CS61 (intro to systems), which are outstanding courses but much more terse in style.
I wasn't referring to depth of topics but depth of learning. The latter is how deep you understand a given set of material. Passive consumption of an entertaining lecture doesn't help much.
> Still quite a bit of people decide to concentrate on CS after taking the class, so it must be doing something right in that sense...
That means it's optimized for recruiting folks to the field of CS rather than optimized for student learning. The only reason I've ever taken a class is to learn.
I wholeheartedly disagree. It's said on a video linked in another comment, students can learn by associating the emotions they are experiencing with the content they are receiving. Specially if his classes are that outstanding.
https://news.harvard.edu/gazette/story/2019/09/study-shows-t...
That's certainly not the only evidence that passive lecturing isn't particularly effective:
https://www.sciencemag.org/news/2014/05/lectures-arent-just-...
It's not hard to find other papers showing the same thing.
Malan's innovation was to change "Intro to CS" from "let's see who knew CS before they got here" to "Intro to CS"
More or less a math course, but required for CS students, the audience included a mix of advanced math students (including e.g. some IMO winners) and programmers without any math background.
The result was that half the class felt it was incredibly easy and slow-paced (at least for the first month; later the problems got tedious and fiddly for everyone), and the other half was completely overwhelmed.
It was definitely altered to be able to cater to a wider range of students, but that was mostly done with more approachable lectures and a _huge_ amount of support from the course staff rather than by simply making it easy.
If you already have a programming background then it is definitely very straightforward because, at the end of the day, it's an intro to programming course.
It's hardly a "challenging course" by department standards, but perhaps to a broader audience. 161, 224, and even 124, 61 are much harder.
I suspect you're in the minority here. The majority of students are more engaged by a good professor lecturing on material than by reading a textbook. This is especially true for introductory classes which CS50 is, because a lot of the students are from other majors and are being introduced to the entire field for the first time. It's hard to enter a new field just by reading a textbook.
Me too. I'm not saying that in general textbooks are better than lectures, I'm saying the lecture style of this class is sufficiently ineffective that I don't see how it's worth anyone's time to watch. In contrast, Martin Odersky's lectures are designed to effectively teach the material, and they absolutely are better than reading a textbook.
The difference might be that I've always learned by taking notes and working through the ideas during the lecture. For those that are into passive lecture consumption, CS50 is about as close to perfect as you'll find. The style definitely doesn't work for me.
Again, you're incorrectly extrapolating from your minority view and making global statements about how it's not worth anyone else's time. This lecture style is very effective for most people and is absolutely worth their time. Witness how highly rated the class is, and how successful it is at drawing people in to the major.
> The style definitely doesn't work for me.
That is a fair statement. But saying it's not worth anyone's time absolutely isn't, and is directly contradicted by the fact that this class is in fact highly successful, well-rated, and does a good job of accomplishing its goal of introducing people to the field.
That's exactly the point. The goal is not to help students to learn the material at a deep level. It's to recruit students to CS. I'm not even sure what the disagreement is at this point, so I'm going to step away.
Definitely didn't seem super beginner friendly after the first week or so. Perhaps I'm too slow at picking this stuff up.
I learned basic programming by doing CS50x. The purpose of the lectures is to introduce the concepts in an engaging way, and spark interest in doing it yourself. Then the learning happens in the weekly assignments, where you have to actually implement the ideas and get your code past the automated testing. I'd say the assignments are 3/4 of the course.
It's a very nice introduction to programming for someone who hasn't done any before. And in the end that's what it is - an introduction, not a deep dive.
There are supplemental textbooks listed for the course:
https://cs50.harvard.edu/college/2020/spring/syllabus/#books
Also, confused why you expect depth from something with "intro" in its title.
more often that not, as a CS student for most core cs classes, i have barely written any notes.
100% agreed with this, and this is something I've often thought about. An unbelievable amount of work is spent replicating the same curricula, lectures, and course materials over and over and over again. Think of how many calculus textbooks there are for example: there's thousands in English alone, as math professors are incentivized to spend years of their lives writing a textbook they can then have their students buy every semester, and thus create a second revenue stream for themselves.
There aren't a million encyclopedias anymore; Wikipedia has pretty much dominated that space. We need something in the education space to fill that niche as well. Imagine how much better an experience most students will have if, instead of watching a random teacher out of millions teach a subject, and using one out of thousands of textbooks, they are instead watching the absolute best lectures and using the single best amazing compendium textbook of knowledge for the subject material. There are some projects that are trying this (e.g. the Wikimedia Foundation has Wikibooks), but none are that successful yet. I can think of a variety of reasons why, mostly having to do with inertia, but the reasons why it should succeed are far more compelling.
Of course, things can change and this course is certainly very admirable. It will be interesting to see where it goes.
And yes, I know a lot of this already exists to some extent, but where it gets lost is in its availability, centralization, and being targeted at teachers only rather than also being available to the students.
Think of it like cover bands. They don't play it exactly the way the original band does - they adapt it to their own style. So while the original work is 'done', there is still a lot more work to do.
For most of an undergrad program, I personally find that adapting a good text to my students and our program's succession of courses to be about the same time and effort as adapting to good videos (I like 3B1B, for instance, although I have not adapted Dr Malan's material).
Honestly, they're not incentivized by money. The vast majority of textbooks don't make the professors any money at all.
They may be incentivized by the tenure process/promotion at their university (esp. in smaller colleges), but that's an entirely different scenario.
"You paid $130? Best I can do is 5 bucks"
The entire environment, the culture, that Professor Malan has created is absolutely fantastic and I am incredibly grateful that Harvard has made this content available.
One more thing, with the course needing to be quickly adapted to Zoom last spring, I really noticed the importance of being able to give students rubrics and tests so that they could run their code with different inputs and make sure they were getting the correct outputs. That might seem obvious, but in the past the class was often in lab mode where I could walk around the class and work with them interactively.
Don’t hear much about the Surface Hub these days. It’s alive and well?
Microsoft released an updated version - the Surface Hub 2S - about a year ago. The intention was this could be upgraded in-situ using a cartridge to become the Surface Hub 2X. The 2X was meant to have all the hotness Microsoft were showing off in demos at the time (it has now been cancelled - [1]).
I procured one for some R&D, it's only sold through OEMs and service providers, for around $10k (more if you get the steelcase stand and battery pack).
For what it is it's quite good: it's industrial design and feature-set goes well beyond a lot of the competition (Google Jamboard, etc), although its applications are still quite niche.
One nice feature is you can output the touch input to a connected Windows laptop, making it a (rather expensive) huge multi-touch external monitor.
[1]:https://www.theverge.com/2020/2/3/21119915/microsoft-surface...
I think that this course in particular really highlights the impact of a good teacher. In college I've had multiple professors who quickly made my dislike subjects that otherwise I would have really liked.
I did it. I found Prof. Malan to be very, very engaging. I wish one day everyone in the world will have access to this level of education for free, and not just for CS50. For everything.
Secret maybe in very good covering of complex stuff and teaching style: pressure, fast moving between topics, playing with auditory in tv-show format, and nearly screaming to get attention while needed.
But what was the point of contrasting his “glossy black hair” with the white hair of MIT’s Grimson/Guttag? Very cheap shot, and not even subtly ageist.
ADDED: I'm also not sure what to think about C in an intro course in this day and age. Sure, as a CS major, or even as part of a good programming curriculum, understanding some of what's going on under the covers is important. But that feels like a Level 2-ish topic at this point.
But some people can’t drop thousands or even hundreds of dollars to have a prof or TA hold their hand as they learn programming essentials. They might have to put in more time on their own to do well in a course like 6.001, but that may be their only option. They could do Udemy courses, but the quality there seems to vary quite a bit (whereas with edX there’s some built-in vetting), and a complete beginner may be overwhelmed by the number of choices.
Charles Severance's Intro course from U Michigan is a nice Intro to Python MOOC course that's geared to genuine beginners.
They know their audience.
Also, a decent chunk of the content in the magazine is actual fiction by actual accomplished fiction writers (not "failed" ones). You don't tend to see it linked from HN obviously, but that's very much the vibe they're going for. Think of it as part commentary on the times and part literary fiction magazine. That may not be your cup of tea but it is appealing to lots of people.
FWIW, my wife also found Prof. Grimson to be “too monotone” and asked me “how do you stay awake during those lectures?” but without bringing age into it.
Side rant: I am the child of baby boomers, and I think their generation had it much easier than we do. I also get infuriated with the callousness and lack of empathy exhibited by many people from the Boomer generation. But rude retorts like “OK Boomer”, aside from being disrespectful, only encourage further callousness and lack of empathy.
At the time the story in this article begins, administrators at many places were completely unfamiliar with the general idea behind open content distribution. In such places, online systems for course content were seen as a way of locking down the intellectual property that courses represent, not to distribute it. Where I was at, faculty were explicitly admonished not to distribute any online course material because it was seen as leaking university IP. Course management systems were seen as a way to deliver materials online securely so as to ensure that they weren't widely distributed. Even if someone wanted to put the effort into something that might now be called a MOOC, it was doubly frowned upon because you were putting effort into teaching rather than research (especially if you were untenured), and triply so because you were putting effort into distributing courses online, which was a fringe activity.
By the time MOOCs came about and got a lot of press, and many of us were sort of shaking our heads at what seemed inevitable, it was a little too little too late. In online space, where social factors like reputation become amplified 100-fold, it's difficult to compete or add to the reputational weight of places like MIT or Harvard. Adding to this was the constant monetizing mindset, of trying to lock down materials, not recognizing the advertising/popularizing role that open content distribution enables. Then too was a sort of "so what" feeling, because in the absence of something like a pandemic, who really cares, from the perspective of the administration -- students come to campus and that's where the dollars come from; MOOCs and online course distribution of whatever form were seen as experimental, the realm of the extension service which is valued but only to a point.
There's lots of issues the piece doesn't get into, or only gets into in a half-hearted way, which is how these types of online teaching dynamics really mess with the traditional structures. So instead of having an interesting conversation about how unfamiliar it is for universities to be dealing with Course A at Institution 1 competing with Course B at Institution 2, it recapitulates the discussion in terms of Malan, which misses the bigger picture entirely. These issues are not about one instructor of one course at one university.
Maybe I'm just getting jaded, but I feel like this piece does a disservice to the behemoth of problems at universities represented by the online instructional debacle we've witnessed. Like lots of things, the pandemic is exposing widespread systemic problems, not creating them.
There are also still quite a few MIT courses that have course websites/YouTube channels with videos but are not linked to on OCW nor adapted for edX. At least I've taken 3 such courses in the last couple years. So I don't think they are being strict about distribution either.
MIT President Charles Vest said that “We are not providing an MIT education on the Web. We are providing our core materials that are the infrastructure that undergirds an MIT education. Real education requires interaction, the interaction that is part of American teaching. We think that OpenCourseWare will make it possible for faculty here and elsewhere to concentrate even more on the actual process of teaching, on the interactions between faculty and students that are the real core of learning.”
ADDED: Video was not nearly as democratized at the time. YouTube wasn't founded until 2005.
Honestly I really like the idea of using OCW materials to run a course, I'd have loved something like that instead of the AP program in high school. It's too bad the original intended use didn't catch on (or at least I've never seen it used that way).
And I never told her it was from Harvard.
“Apparently it wasn’t that memorable“, she replied.
Edit: Might be this one?
https://www.youtube.com/watch?v=n_KghQP86Sw
If so he’s updated it since we watched.
Early on with MOOCs, there was a Harvard literature course I was very excited about taking on Greek myth or something like that. I think I made it through about the first half of the first lecture. The whole thing felt incredibly pretentious and generally awful. (And, yes, I have taken literature courses at good colleges that were much more interesting.)
I suspect they’ve automated since.
More of less