Hacker News new | past | comments | ask | show | jobs | submit login
Harvard CS professor David Malan built a distance-learning empire (newyorker.com)
366 points by alienreborn on July 21, 2020 | hide | past | favorite | 131 comments



It should be noted that such a slick class has had the priviledge of being granted the kind of institutional suport which is extremely rare across higher education today, at least in the West. Being allocated the same module for 13 years? Having it be the only module you teach? Having an entire production team at the ready?

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.


Yes, this was noted in the article, which certainly does not proclaim that the CS50 model is the one that all universities and courses should be adopting.

"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"


> Having an entire production team at the ready?

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.


This begs to normalized and sold as a package for both providers and consumers.


The problem is that this effectively requires that you set up all the equipment in a place and make people come to that.

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.


That's an interesting idea with WeWork.

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.


I'm studying CS in Germany at a relatively prestigious institution, and I've gotta say that this online semester has been by far my most productive. Usually I have big problems juggling work, personal life (in 3 different countries) and university education, with everything moving online this has been far easier. Cutting out a 2 hour daily commute has given me a substantial amount of freetime, and the ability to rewatch lectures, pause them, make a coffee in between etc. has given me a much deeper understanding of the topics covered this summer.

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 just graduated from a top ten computer science program in the world. The department recorded all the lectures. By the time you got to the upper level classes completely booked 200+ person lecture halls would have less than 50 students show up because everyone watched online. The recording system allowed you to watch at 1.5 or 2x speed and skip to the next slide when someone asked a stupid question. The math department had a similar system for the calculus courses except they modeled the schedule around MIT's and just posted the MIT lectures that corresponded to each class.


> By the time you got to the upper level classes completely booked 200+ person lecture halls would have less than 50 students show up because everyone watched online.

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.


Why is there a need to blame anyone? The goal is for students to learn, not that they show up in class out of duty. If they found a more efficient way to learn from the class that involves not showing up in person, I think they should be encouraged to do it.


I have a fundamental belief that delivering a lecture is an active experience. I use and gauge student reactions to questions or comments to tell how well a class is receiving the information I am presenting. I also use it to pinpoint possible weaknesses of the class (did they miss the point of a prerequisite class, for example).

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.


You may want it to be an active experience, but it will only be an active experience for those who choose to actively participate. Some students just don't learn that way and likely won't actively participate even if they show up to class. Those who want to actively participate will show up to class even if they have the option not to. There are other forms of getting feedback and interacting with students. Email and office hours for example. Also, I disagree that textbooks are faster. Maybe they are if you are an expert in the topic, but if you are not (and hence taking a course on it) in my experience the average lecture is still easier and quicker to learn from than reading the textbook (except for exceptionally well written textbooks).

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.


If I could have when I was in college, I totally would have just watched the 100+ people lectures online. If I wanted clarification office hours were always more useful, and most of my teachers and TAs were very pleasant to engage in that context. Thankfully most of my classes were more on the 20-30 person scale (all of them in CS) where attending felt much more valuable. The few 12 person classes I had were undoubtably the sweet spot though, with enough peers around to make discussion interesting but much more engagement between students and the professor. Not that I expect most classes to be at that size, it would just be a better world if they magically could be.


Everyone went to discussions, and office hours were effectively mandatory, so there was still plenty of staff interaction. In the end I don't feel like I miss much by watching lectures online. I honestly believe asking questions during lecture is extremely disrespectful bordering on immoral when there are more than 100 people listening, so why show up?


> Everyone went to discussions, and office hours were effectively mandatory, so there was still plenty of staff interaction. In the end I don't feel like I miss much by watching lectures online.

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.


What if it's a good question?


I thought MIT mostly only opens access to old recorded videos.


Higher level math continues to advance but calculus itself doesn't change much. (https://en.wikipedia.org/wiki/History_of_calculus)


My comment was more relating to how their schedule (in timing relative to MIT) will be affected, assuming they were trying to use newly made videos.

Probably not the case and they just structure their own course to be similar to MIT's courses.


I think states could produce such quality lessons, for free. The ROI of these would be enormous if proper internet access given to schools and households.

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 wish there was a huge push into Khan academy, but for more advanced topics e.g. graduate level with clear course structure.

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.


This seems so obviously important to me and yet there is pretty much no will to do it in the government.


Yeah...I really don't understand the government's deliberate strangulation of research and positive advancement. Part of the prosperity of the 20th century was driven by a flood of funding into technological innovations of multiple fronts. It's a shame it took a war to bring it on, but it was so obviously beneficial it looks stupid not to acknowledge it.


My guess is that most politicians don't come from STEM backgrounds, mostly law or public policy so they don't see the inherit value in it.


Coupled with the American war on intellectualism and a capturing of the state by corporations, and higher education bloated with administrators, there are sufficient blockers that a coordinated state level AAA online higher education system will be pretty hard to achieve.

The closest possibility is that the California state school system develops an online wing.


Pretty sure this will help them move in that direction:

https://www.khanacademy.org/donate


Yep.

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...


Malan is a "Professor of the Practice". That means teaching only. There may be some kind of job security for such teaching roles, but it's not a tenured nor tenure-track title. Usually just a fixed contract you have to repeatedly renew like visiting professor (but possibly with less degree requirements).


well said. Prof Malan has achieved a great deal, for sure, but he does have that rockstar air to him which usually turns out badly when/if the press someday turns on him.

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 must be the odd one out because I couldn't jive with the course's presentation style when I tried to take it to see what the hype was all about. It felt like Joel Osteen was trying to teach me computer science. I don't mean to be flippant and don't read too much into that comment (it's just what came to mind), but it's just that the slicked up, overly produced style just turns me off from learning. I much prefer a calmer environment and a lecturer that seems like I could have a relaxed conversation with. The course feels like it's selling me something.

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.


there are additional sections where they broke off into smaller groups.

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


> It is selling you into the world of computer science

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.


Arguably, this course does both of selling and presenting the importance of computer science in today's world. I think before you add more speculation, it would be best if you at least look at the syllabus and content.

---

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.


Why are we doing these "privilege" callouts? What does this add to the discussion? Should Malan apologize? Should the New Yorker apologize for him? Individuals are regularly used metonymically to represent a larger system. And those systems need a "face", because without it we don't care about the story.


You’re too used to privlage being used as a pejorative I think. It’s highly relevant that if a school admin wanted to use Malan’s work as an example to base some classes off of, that they can’t just throw a teacher at their normal course load and expect anything close to that level of work. I know many teachers in the public school system who’s admins don’t seem to realize how difficult a good online syllabus is to put together, and those administrators could do to be reminded that you need to put a lot of resources behind someone if you want quality work from them.

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.


What's the institutional incentive to switch up the teacher of a module?


Usually it frees up the prior instructor to a) teach a more advanced course or one that's closer to their research interests rather than teach the same beginner level course over and over, or b) conduct research, which is why most tier 1 research uni profs took the job anyway.

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.


> Most major research uni profs are obliged to teach 2-3 courses per semester.

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.


Your profile says you're a mechanical engineer. At research universities, 1 course per semester is typical in engineering departments. That's definitely not the case across all departments.


I'm also an ME, but I have a masters degree in Marine Science. The professors in my graduate program usually only taught one class a semester, some only one a year. From my experience it very much depends on the university. Some schools are much more focuses on teaching and others on research.


> 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.


Which is totally backwards, as these classes are the point of contact where energetic, motivated new students get that magical passion that pushes them into an entire life in the field. When I was in grad school and expressed a desire to focus on teaching, primarily 100 & 200 level courses my supervisor said "that's the punishment we reserve for those who are failing in their research". Totally crushed my desire to work at converting tangential students into future leaders in our field.


Take aside the crew that does all the filming and editing and the fact that they can have guests like Zuckerberg or Ballmer,and you have a passionate tutor,who is willing to go extra mile. When I was at school, I only had 2 teachers like this- won't forget them for my entire life. At uni, most were so so( as the whole uni itsel) and often more interested in anything but teaching. However, briefly,we had an ex HSBC guy,who was the finance professor. The guy was funny, captivating and knew his shit inside out. When asked why he left banking,he did say he was finding academia more interesting. And he was a perfect fit. A lot of people are good at doing research but they may not be very good teachers,or not at least in the setting most of us are familiar with( large audiences,one guy delivering knowledge). I had a chance to watch som recorded lectures from MIT, Harvard,and some other famous institutions and the quality of teaching some( not all though) manage to deliver is exceptional.


Agree. I have taken classes with over 40+ professors (close to 50, but I have also taken two or three classes with some profs) in my undergrad and grad school. Out of them, I can recall ~5 being pretty good instructors. Being a professor does not guarantee one is a good teacher/instructor.

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).


Can confirm this. I taught for a bit (coding bootcamp, 1 year). I was super excited my first 3 months (it normalized after that) and during the whole year I had a lot of empathy in the sense that I felt their pain. It’s easy to feel someone’s pain when you yourself felt it a great deal as well back then.

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.


Taking CS50 feels similar to watching a movie that has an auteur’s fingerprints all over it. Every word in the lecture, every technology, and every problem set has been carefully crafted to fit together to create a cohesive experience.

College instructors everywhere should take the course to see what the zenith of multimedia online education looks like.


I've watched some of the lectures of CS50 in the past, and the one question that has always come into my mind is this: "How do these lectures help you learn at a deep level?" I already knew most of the material, so I found it to be an entertaining review, but that's different from a beginner needing to learn new material at a deep level. I kind of think it'd be a nightmare to take good notes while watching his lectures. I'm not bashing the lecture style, but if I were a student, I'd prefer a good textbook to those lectures.

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.


1. There’s a companion C book for the course 2. The labs go into much more detail compared to lectures 3. The psets can be Nintendo-hard; you’ll be doing devilish pointer stuff by week 3 or 4.

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.


You are conflating the pre-Malan intense weedout "I survived CS50" CS50 with Malan's kinder gentler easier more superficial CS50.

Malan's innovation was to change "Intro to CS" from "let's see who knew CS before they got here" to "Intro to CS"


Having watched a good number of people take the course, I think it's still extremely difficult for most students with no background in the subject. A number of classmates from other disciplines have told me that it was the hardest they took during undergrad.

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.


> 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.

It's hardly a "challenging course" by department standards, but perhaps to a broader audience. 161, 224, and even 124, 61 are much harder.


Word. The 1990's CS50/CS51 course enrolled both students who'd gotten a "5" in the CS AP and students who didn't know what a for loop was. It felt like learning to swim while simultaneously drowning.


The even sillier split-audience course in the mid 2000s was CS121, the intro CS theory course.

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.


As referenced in sibling comment, I took 121 a bit earlier than that, with Prof. Lewis. Of course he taught from his "Turing's Face" textbook, which is widely touted as accessible to students with high school math. By the time I took 121 I had quite a bit more math than that so I can't recall whether that is true. I agree with your "tedious and fiddly" assessment, but I don't see any way around it. CS is a tedious and fiddly subject anyway, but the fiddly tedium in this case is related to foundational truths about computation rather than trivial details of particular algorithms (...or, at less ambitious schools, APIs). Frankly, I hope it's never the case that a student could graduate Harvard with a degree in CS (or applied math) without mastering the material that Prof. Lewis taught in CS-121.


CS51 in 1997 (to specify the version to which I was exposed) was a great deal of work, but it wasn't beyond the capability of the average Harvard student. After all, as mentioned ITT, the Great Pointer Winnowing had taken place in CS50. Maybe I'm speaking from privilege, since I had coded some BASIC in 8th grade...


This is still the case... most CS concentrators enroll in 50, of vastly different background.


My comments were focused specifically on the lecture style - I just don't see the CS50 lectures as particularly effective. The students are almost certainly doing their learning by reading the textbook, attending the labs, and doing the problem sets that you mention. I have trouble seeing how the lectures contribute to truly learning the material. They're designed for passive consumption.

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.


> Passive consumption of an entertaining lecture doesn't help much.

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.


This research, out of Harvard, disagrees:

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.


You misunderstood me, I never said passive lecturing was better than active, what I said is that it is useful (as opposed to your "doesn't help much") and as an "entertaining lecture" (quoting you again), not as a boring one as the second article states. Clearly an active one has more chances of sticking with you but don't you remember any particular scene in a show that for whatever reason you can't never forget?


Passive lecturing is awful in general, but I'm not sure what the alternative is. At least with an online course you can pause, rewind, rewatch. With an in person lecture you are at the mercy of your note taking ability and the book. MOOCs were just becoming a thing when I was in graduate school and I really think my undergraduate experience would have been much better if they had existed then.


> I'm not bashing the lecture style, but if I were a student, I'd prefer a good textbook to those lectures.

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.


> 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.

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.


> 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.

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.


> 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.


but you were pointing out its flaws in achieving a different objective ("learning deeply")


When I took the course as a near-beginner (someone who had taken programming 101 classes before but struggled to make anything useful), I found that jumping between languages frequently was more frustrating than helpful. Ultimately I moved on to something else. CS50 had high production values but I didn't find it superior in any other way. None of the content is bad, but I didn't get the feeling that many seem to have that its the greatest intro to CS.

Definitely didn't seem super beginner friendly after the first week or so. Perhaps I'm too slow at picking this stuff up.


>I've watched some of the lectures of CS50 in the past, and the one question that has always come into my mind is this: "How do these lectures help you learn at a deep level?"

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.


> I'm not bashing the lecture style, but if I were a student, I'd prefer a good textbook to those lectures.

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.


That's why it's called an intro course: it covers a lot but none of it too deep. From what I understand the course is taken not by those who've been doing programming since childhood but also by those in almost completely unrelated fields. There's plenty of courses that can be taken later that go very deep.


You are probably an exception: self motivated individual. The rest of us, which I assume is a big majority: prefer video over text, are more engaged by visual interactions, and still found big parts of this material hard to grasp, not to mention the preference for the free availability of the material.


Do you mind sharing the name or url to these MOOCs?


there is also lecture notes made already

more often that not, as a CS student for most core cs classes, i have barely written any notes.


One thing to keep in mind is that (according to the article) he took over the course in 2007.

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.


> Malan sees it differently: it is wasteful, he said, to have thousands of teachers, in computer science or other fields, all doing the work of devising similar curricula. Good programmers spend much of their time “refactoring” software—editing it to reduce inefficiencies, or “code bloat.” Malan’s teaching method pursues a similar objective. “I don’t think we want just one introduction to computer science and one introduction to psychology or any such field,” he said. “But there’s probably a number around dozens—hundreds—that makes more sense?” Rather than threaten the livelihoods of professors or the independence of institutions, such consolidation would, Malan believes, free teachers to do their best work. And holding online courses to the same standards as in-person ones would allow students beyond the small, predominantly privileged groups who enroll in places like Harvard to access the highest-quality instruction.

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.


An awful lot of good teaching is interpersonal. There is a long history of didn't-work's in educational tech and often it is because the hard part is not the material, it is having students form the right mental models. That involves motivating them, adjusting the flow of information, and helping them as they go through a sequence of successive approximations. Basically, at least until now, it involves working with people.

Of course, things can change and this course is certainly very admirable. It will be interesting to see where it goes.


Absolutely, and it would be great if teachers were able to fully dedicate themselves to optimizing the inter-personal aspects of it rather than also having to do all this other work of lecture/lesson planning, coming up with curricula, etc. We ask far too much of our teachers/professors, and realistically, most of them are not going to do remotely as good of a job as Dr. Malan has here on CS50. So if you're teaching an intro CS class, use his materials rather than coming up with your own! Same for any other subject; we just need all these ideal materials to be available for every imaginable class targeting every possible age level (elementary on up). Admittedly it's a big a lift, but a seemingly necessary one.

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.


In theory, yes. However teachers need to adapt materials to their own style of teaching and to their audience. It can be very hard in practice to teach someone else's materials and have it be 'good' and engaging.

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.


> lecture/lesson planning, coming up with curricula, etc.

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).


The problem is that professors have absolutely no incentive to create good courses. All of their incentives are in their research so time spent on class prep is time lost working on the things that are actually incentivized; doing research, writing papers and applying for grants.


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

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.


It must make someone money... (publishers, resellers, book stores, etc.) Someone else made a killing buying books at the end of the semester.

"You paid $130? Best I can do is 5 bucks"


My son took the AP version of the CS50 course last year in high school and showed me some of the exercises and videos. I immediately updated a lot of my own class materials after watching them and relentlessly hyped the edX class as a great companion to what we were learning.

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.


Can you get into some specifics that you adopted? I'm listening to the pedagogy video I linked in another comment and so far my takeaway is that Harvard / Malan has a LOT of money to spend on video production, TAs, and the like. That's not easily replicable.


Sure. I really thought a lot of the early exercises were things that my students would enjoy doing, especially ISBN, Cash, and Caesar. I sent them to the CS50 web site and even showed them my own C solutions so that they could translate them. I am teaching a lot of students that have never programmed before, so one of my big takeaways is that they are not just learning Language X, they are learning lessons in programming that are applicable in many other languages.

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.


Kinda fluffy article. This talk on the pedagogy of CS50 has more content: https://www.youtube.com/watch?v=yVjepjUTAk4


"you don't need to attend Harvard" says the guy who attended Harvard. It sounds like a guy from a rich family who after failing some business, finally succeeded and then says: "if you fail, try again, don't give up". They just forgot that most people can't fail. That's a stupid advice


I owe my career to Malan and his CS50 course. That's how I learned to code. I wish him only the best.


“ Malan’s remote-teaching setup involves a host of technology, including a seven-foot-wide interactive computer screen, called a Microsoft Surface Hub”

Don’t hear much about the Surface Hub these days. It’s alive and well?


> 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...


Yea, it’s something that’s bought by departments who are having a good year and don’t wanna lose their budget.


$22K 4K touchscreen. It has a niche appeal.


CS50 is a really well-crafted course, and Malan is an amazing educator. Taking this class online is one of the reasons that got me interested in CS and programming.

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 think it might be useful to take a sneak peak at one of the past videos [0].

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.

[0]: https://youtu.be/jjqgP9dpD1k


Malan is an excellent teacher and I absolutely enjoyed the time I spent with the CS50 material.


I've ended Harvard CS50 course and should say he's definitely one of the best, rockstar-like. Also seen tons of MIT, Berkeley and another courses from Coursera & Edx, so maybe can do the basic comparison.

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.


I took CS50 in 2013. Malan was a phenomenal teacher and presented complex concepts with a pace and clarity that made them easy.


I met Professor Malan once and asked him for some advice on overcoming imposter syndrome. His advice was a matter-of-fact, learn the things you feel like you don't know and it shouldn't be an issue. I still feel like that sometimes, but the way MOOCs are today makes it easier to approach anything I feel like I don't know.



I agree that Malan is an amazing educator and both energetic and energizing. I took CS50 via the Extension School, and got a chance to meet him when we showcased our final project. He is very approachable and down-to-Earth.

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.


>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.

They know their audience.


Also, FWIW, I completed MIT’s Intro to Programming with Python on edX before I took CS50, and recommend that learners get a decent grasp of programming principles with a higher-level language (spending a week with Scratch doesn’t really count) before diving into C with its pointers, manual memory management, etc.


Honestly, although in a self-paced MOOC format you can probably get away with it, the MIT 6.001 course really isn't the place to learn programming, programming environments, etc. for the first time either. It doesn't ostensibly require programming background, but it's at a far different pace and level than the actual "intro to programming" course I took way back when in college--and I had even had a programming course in high school which was fairly unusual at the time.

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.


You’re actually right, I had also taken very basic “intro” courses locally before taking the MIT course, and Grimson was the first person to explain Big O to me. Having already done some Python and C++ probably helped get more out of that course, as well.

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.


I really liked 6.001 but I already have a fair bit of programming experience although I don't do it professionally and am not a CS major--so I got a lot out of it. MIT has a doubtless deserved reputation as being a bit of a firehose but even so, I can't imagine showing up on campus (during normal times) and learning the basics of programming including even the basics of using a command line on the side while taking not only 6.001 but an otherwise full course load.

Charles Severance's Intro course from U Michigan is a nice Intro to Python MOOC course that's geared to genuine beginners.


Thanks for recommending the Michigan course! I have mentored/tutored in the past but am currently too busy. If people contact me regarding lessons, I can politely redirect them to that course.


I second this approach. Helped me get more out of CS50.


Ageist against whom? Gray hair isn't a problem image-wise if you are a professor nor is youth. I think the writer is just painting a picture.


Yeah, normally as quick to comment on casual ageism as anyone. But, in this case, it's the New Yorker and I think they're just humanizing the story. (And, per another comment, with respect to "knowing their audience" I expect the New Yorker readership skews relatively old.)


Humanizing the story via insulting/encouraging ageism toward a former MIT Chancellor (Grimson), and/or another well-known MIT Prof (Guttag) who is an expert in diverse CS sub-fields and has collaborated with the likes of Barbara Liskov? Given how long they’ve both been teaching and doing research, and how much cross-pollination there is between Harvard and MIT, it’s very likely both of them were influences on Malan himself.

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.


I hate to read such articles. I don’t understand why they are so popular in the Anglosphere. It always comes off as if I am reading a failed fiction writer, not a journalist.


The New Yorker in particular is more literary than journalistic. Not the magazine to read if you want "just the facts."


I don't exactly know how to explain why I like this writing style, but I really do. I even subscribed to the New Yorker for several years but ended up canceling when I realized how far behind I was falling in reading it. The dang thing comes every week and is at a high enough average quality level that each issue is worth reading cover to cover.

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.


I think it's a subtle way to hint that CS50 is cool and hip to younger folks, whereas to younger folks, the old and less technically savvy MOOC felt less engaging. I don't agree, I just think new Yorker used it to contrast the courses.


The harder story to tell that this piece is avoiding because of the difficulty is the institutional dynamics. It's hinted at in the article more or less directly, but the entire mindset at many places is so far from what's conveyed in this New Yorker piece that it sort of misses the ball completely.

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.


Even MIT, which was pretty early on to online content with OCW, if you look at some of the early statements and materials, was very clearly positioned as raw materials to help teachers assemble their own courses. There was very little audio or video. It was pretty clear that MIT was taking some care to not release something that was potentially competitive with even auditing an actual MIT class.


When was this? Not doubting you but by the time I came across OCW in 2012 there were quite a few courses with video lectures, at least you could cover the standard frosh year curriculum with videos and much of the year 1 CS courses. So that gets you an "associates" worth of CS content right there, and this was before I recall MOOCs being a hot topic more broadly.

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.


Early 2000s (so about a decade earlier). Here's a quote from then-MIT president on introducing OCW.

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.


Interesting, thanks for the info! I think the statement could still apply even with videos available, but of course it is also in MIT's best interest to say this.

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).


I don’t think the intention was to deliver a cheap shot, or at least I hope not. In many ways I liked MIT’s courses better but the contrast is clear. Ideally in the future everything will be online (at least partially) and students will be guided towards the style that serves them best. I have an in-person degree from a top public school with nearly 40k students and I also have an online cs degree from a mid level public school. I can do without the big lecture halls that have 300+ students. Just let me watch the video on my own schedule. I crave the small discussion sections where I can ask questions, draw on a board, hear other students questions etc...


Sad to see the article did not mention the OG 1990's CS50 rockstar, Margo Seltzer.


Perhaps people appreciate this course because the prestigious Harvard school is behind it. I would traduce that bias by "a good school involves necessarily good courses" . Is it true though?


My wife watched his class on the architecture of the internet. She’s not technical at all but was absorbed by it to the end.

And I never told her it was from Harvard.


Which course is this? I feel like I've seen it but I'm not able to find it with an internet search.


I would like to find it too. I just related this story to my wife and she doesn’t remember watching it. I said “you were enraptured, and watched the whole thing?”!

“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.


Not necessarily (although it often is, possibly because it's the rockstars who can afford the time and have the interest to play around with the MOOC thing).

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.)


David Malan is such a nice person, I remember when I was taking CS50 and found a syntax error and emailed him about it and he was so kind and fixed it.


CS50 is THE reason I have a software development career today. Coincidentally, after CS50, I started watching an MIT Python course. If the MIT course had been my introduction so programming, I am sure that I would have dismissed software development as "not for me". I got lucky that my first exposure was CS50 - I owe a debt of gratitude to Malan.


I took the class. What didn’t scale were the TAs. It took 2 months to get anything graded. Malan’s response was “The TA will grade it within a week.”

I suspect they’ve automated since.


Yep, grading is fully automated now!


The New Yorker needs editors

More of less




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: