Hacker News new | ask | show | jobs
by tonightstoast 1132 days ago
There is also an issue with “it doesn’t compile? That’s a 0.” So you have students that may have written 90% of the proper code but can’t figure out the bug in their makefile, Java build, etc.

In the students mind they’re going to ask “is it fair to get a 0 when I feel close?” Then they (might) cheat. Obviously there are ways around this, like going in to office hours for help, but some schools start kids with C++, which seems like a wrong first language.

6 comments

My experience (I am a CS professor) is that, even when you attempt to provide partial credit for programs that do not compile (as I do), the code is almost always seriously flawed. We all know that attempting to write an entire program in one go is not a great idea. It’s hard to anticipate where a program might go wrong if you’re not developing it incrementally. So I don’t blame instructors who just decide to cut their losses. It may be painful for a student, but it stops that kind of behavior very quickly.
As long as you give bonus points for the most horrific part of software development... getting the goddamned IDE configured correctly or close enough to do work.
vim myprogram.c

gcc myprogram.c

That brings you 90% of where you need to go, especially for a CS course.

It's not obvious to students. The insight to simplify and simplify until things work and only then keep piling new things on top, that's a really powerful one and is underappreciated in teaching CS.

I certainly don’t blame professors for doing that - partial points are difficult. But you probably know students are asking for help from other students on how to get things to compile.
My teacher (TA) was nice in retrospect! I got -35 for being incomplete and -35 for not working!

The non-PEBKAC problem was that I was using Turbo Pascal 2.0 (1.0?) that couldn't identify I'd screwed up a method's parameter definition.

And you didn't notice before handing in your assignment?

Doing things last second that didn't give you any chance to fix issues before a deadline is a flaw in and of itself and should be a lesson.

Unfortunately many don't understand this and I have many colleagues who slack off until it's almost too late and then there is a huge scramble before a deadline.

Most exercises I have seen are made up from multiple parts building on each other. The first one is so trivial that frankly, anyone not being able to write a hello world in the language that was the subject of the whole semester should get a 0. You just submit every substep, and you get the mark for the highest you were able to reach.

Of course your mileage mag vary, but I think it was very fair, and most of my classes were already way too easy - many students are just terrible and lazy. My classmates who became teacher assistants told me also that they felt terrible but they had to fail some students because they didn’t even turn up to their one past the last retake exam at all.

I didn't get credit for the first few assignments in my first CS class because the automated grading tool couldn't find my code. Finally I figured out that the tool only worked if the code was in the default Java package, which I wasn't using because Eclipse told me I shouldn't.
And the mirroring issue with “computers are hard and some teachers can’t do it.”

I got a 60% one for an assignment that demonstrably implemented all required features including the “for extra credit” ones, and a few more besides. I can only think it was scored by grams of documentation.

Has that ever happened? Why wouldn't you ask your professor or TA or classmate help in that case?
My university had a hard rule on if your code didn’t compile you got a 0. So yes, but like I said they do have office hours, ACM help, etc.