Hacker News new | ask | show | jobs
by arcturus17 2159 days ago
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.

2 comments

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.