College instructors everywhere should take the course to see what the zenith of multimedia online education looks like.
College instructors everywhere should take the course to see what the zenith of multimedia online education looks like.
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.
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.