3 ms·
It's also possible that it was the scenario others have mentioned -- there's a very wide range of incoming abilities in intro cs classes, from complete newbies
by dgacmu 11y ago
It's also possible that it was the scenario others have mentioned -- there's a very wide range of incoming abilities in intro cs classes, from complete newbies to high school students who could out-program half of the HN crew. (Seriously - I had one working for me for the summer before he started as a freshman at Berkeley who was the equal of many Google engineers when it comes to C++. Yes, quite unusual, but there's at least one such person.) As a consequence, it can be easy to lose 20+% of the class, and when they get lost early in intro classes, they stay lost, because the concepts build upon each other so rapidly.
Oftentimes, the students don't even realize they're lost until a few weeks later, and by then, it's a big problem. I've seen this a lot - a large amount of our TA effort is dedicated to helping bring those students forward once the "oh shit" moment happens.
Why no reading:
(a) Haven't found a book worth its salt for the class. We have lots of optional texts that they can use, and we encourage students who want to read ahead to peruse How to Think Like a Computer Scientist (python).
(b) It's mostly a structure thing. 15-112 (www.cs.cmu.edu/~112) is at present structured as "go to class, get the big picture view and some details, and then go practice the living daylights out of it afterwords". It's very effective for students new to CS. I can't claim credit for it - my many-awards-winning-astoundingly-beloved colleagues Mark Stehlik and David Kosbie created the beast. The core of it is that students just learning CS need to get the "muscle memory" down so that when you tell them to implement merge sort, they don't spend time puzzling out how to append an item to a list. So the focus of the class is a fairly daunting amount of practice, in the form of exercises, homeworks, and quizzes.
It's a truly brutal class, FWIW, but the students come out of it having accomplished something really amazing. Here's a vide of some of the project highlights from last semester - https://www.youtube.com/watch?v=fkiK_cqSOwI https://www.youtube.com/watch?v=fkiK_cqSOwI . Keep in mind that these are projects by people who, in many cases, have never programmed before the start of the semester. Full project gallery is http://www.cs.cmu.edu/~112/gallery.html http://www.cs.cmu.edu/~112/gallery.html
- vehementi 11y agoWith such a wild variance of incoming skill levels, what is the way to make lectures efficient? I know this isn't a new problem but I see it frequently in training / classes in the industry where things are 10-100x too slow for some people, while others are lost. There is clearly a failure in assigning people to the correct course level (or offering courses at appropriate granularity), but the more scalable thing I see is offline learning where you first check out slides, then check out accompanying documentation / videos, then check google or IRC, and as a last resort you launch the nuclear option of stopping your life for 2-16 hours to sit in a room and learn synchronously. Is anywhere innovating like this?