Slashdot Mirror


How Harvard Teaches CS Students How To Code (kqed.org)

Harvard computer science professor David J. Malan "is pretty amazing!" says long-time education-watcher theodp. And he's sharing a link to the online version of Malan's famous CS50 class, "if you can't pony up the estimated $63,025-a-year sticker price to take 'the quintessential Harvard (and Yale!) course' on campus."

KQED's education site "MindShift" reports: Malan's class attracts students who have never taken computer science before, as well as kids who have been coding a long time. His goal with this diverse group of learners is to create a community that's equal and collaborative. One way he does this is by asking students to self-identify by comfort level. Those groups become different section levels, and they sometimes get different homework, but harder assignments are not worth more credit. Malan said recently that the "less comfortable" group has dominated his 700-person course. "At the end of the day all students are treated with the same expectations," said Malan, speaking at the Building Learning Communities conference in Boston.

Students are graded based on each individual's growth; Malan and his team of teaching assistants don't use absolute measures when assigning grades. Instead, they look at scope, how hard the student tried, correctness, how right the work was, style, how aesthetic the code is, and design, which is the most subjective. When it's time to assign grades, Malan and his teaching fellows have lots of in-depth conversations about how each student has improved relative to where he or she started...

The course includes a tool that rewrites error messages to make them easier to understand, plus a code-checking tool which they're planning to open source. There's also a cloud-based IDE which "allows students to access their code from multiple locations," though students can also submit their code through GitHub. (The original submission complains that Harvard's students are "coddled.") But Malan says the class works partly because there's an intentionally social aspect to it -- including numerous teaching assistants holding office hours in public spaces and "the human structure within the course." Guest lecturers have even included Mark Zuckerberg and Steve Ballmer.

But all these technical details don't really capture the wild flavor of the course and all of its multimedia bells and whistles. Malan's fast-paced lectures often close with relevant clips from movies -- for example, a lecture on cryptography which ended with video from a movie you'd see "if you turn on your TV on December 24th."

5 of 138 comments (clear)

  1. Should have started with by Begemot · · Score: 4, Insightful

    Guest lecturers have even included Mark Zuckerberg and Steve Ballmer.

    and some wouldn't have to waste the time on reading the whole thing

  2. Western civilization is truly collapsing. by Nutria · · Score: 4, Insightful

    When it's time to assign grades, Malan and his teaching fellows have lots of in-depth conversations about how each student has improved relative to where he or she started...

    Because precious snowflakes can't handle the reality that computer programs are supposed to work?

    asking students to self-identify by comfort level.

    Comfort???? I think I'm going to barf.

    --
    "I don't know, therefore Aliens" Wafflebox1
    1. Re:Western civilization is truly collapsing. by alvinrod · · Score: 4, Insightful

      I think that's going a bit too far. If this is a course designed for anyone to take as a first programming course, I think this approach is ideal, or at least much better than many alternatives. There are a lot of classes like this (one example I remember was college vs university physics where the university physics course was still challenging, but designed around being accessible for people who weren't going to major in physics or eventually take upper level classes that demanded an even greater level of rigor) where it's more appropriate to grade on a more gentle slope instead of making the class hard as balls in order to weed out potential majors.

      On the other hand, that's why it would be a terrible idea for people who are going to major in computer science. Using this grading scale punishes someone who always tried the hardest material from the beginning and struggled with it and rewards someone who eventually made the jump from using their own shit as a crayon to managing to turn out the computer and submit assignments. There's something to be said for measuring growth as a part of a student's potential, but if the starting point is so low, I'm not sure how much it matters.

      This sounds like the kind of computer science class that everyone at Harvard has to take (given the class size of 700), so I think it's appropriate to build the class to get the maximum amount of student buy-in so that the students actually learn something. Grades at a place like Harvard are utterly useless since just having a degree already marks you as one of the elite, never mind the connections you'll make while attending. I'd also guess that most people who are going to major in computer science will test out of the course or take a much more rigorous course with a more stringent grading scale.

    2. Re:Western civilization is truly collapsing. by whoever57 · · Score: 4, Insightful

      Subjective marking makes it easier to pass those students whose families give large donations to Harvard's endowment funds.

      --
      The real "Libtards" are the Libertarians!
  3. Grading based on improvement: practice vs theory by Anonymous Coward · · Score: 4, Insightful

    IMO, grading on how well a student improves can be easily gamed. My son goes to a high school that does this, and he frequently gets lower grades, even if he performs better than others in the subject matter.

    The problem is improvement is not linear. For those who are more advanced, it is likely levels of improvement is less because the more you know, the less there is to learn. Therfore, those with a higher level of initial competence will not show the same amout of growth as those newer to the subject matter.

    Students aware of this method of evaluation can lie about there starting level to give the appearance of more improvement over the life of the course, therefore, getting better grades then those show more advanced knowledge and skills.

    I am all for praising improvement, but those with lesser knowledge and skills should not get higher grades than those who are better for the same course.