Originally posted by: ndee
I'm wondering: How would you guys rate a programming exam? The teachers gives you 5 problems, and you solve all of them(displaying the right result), does it matter HOW you got there?
Originally posted by: Jzero
Originally posted by: ndee
I'm wondering: How would you guys rate a programming exam? The teachers gives you 5 problems, and you solve all of them(displaying the right result), does it matter HOW you got there?
IMO the key to programming lies not in producing the correct output, but in getting there as efficiently as possible. I think you should get 75% for getting the correct output, but the other 25% should come from using good logic and technique to arrive at the output.
Originally posted by: MartyMcFly3
I think if the programs the student writes out work and do what was asked, they should get full credit. The professor should write something like "This does work, but itd be much more efficient if you did it this way"
After all they did answer the question. Now if the professor said "Using arrays, blah blah blah" in the question, and the student didnt, then Id mark it wrong. It all depends on what was asked.
Originally posted by: MartyMcFly3
Think of it like a math problem. Say you are given 2 numbers and told to divide them and write the answer on the paper. You could punch it in your calculator (much more efficient) and just write the answer. Or you could do it by hand and fill the page up with work. It's more time consuming but you still get the right answer.
Originally posted by: ndee
I got 66% of the points for that code. He corrected the test like this: Used his solution and about each line of his gave a point, if you didn't have the same line, you didn't get the point.
Originally posted by: ndee
Originally posted by: MartyMcFly3
I think if the programs the student writes out work and do what was asked, they should get full credit. The professor should write something like "This does work, but itd be much more efficient if you did it this way"
After all they did answer the question. Now if the professor said "Using arrays, blah blah blah" in the question, and the student didnt, then Id mark it wrong. It all depends on what was asked.
That was also my point. Simplified, we had to draw a ruler in Java. We had to use loops and I used for-loops.
It would look like this:
http://www.gb.nrao.edu/~rmaddale/Education/Wvsta'98/Ruler.jpg (just copy the whole line, FS breaks it up)
I made 3 different for-loops, the first one drew the longest lines, then all the little ones and then all numbers. Well the teacher just used one for loop and made the Long lines, the little lines and then the numbers. I got 66% of the points for that code. He corrected the test like this: Used his solution and about each line of his gave a point, if you didn't have the same line, you didn't get the point.
Originally posted by: saxguy
Originally posted by: ndee
Originally posted by: MartyMcFly3
I think if the programs the student writes out work and do what was asked, they should get full credit. The professor should write something like "This does work, but itd be much more efficient if you did it this way"
After all they did answer the question. Now if the professor said "Using arrays, blah blah blah" in the question, and the student didnt, then Id mark it wrong. It all depends on what was asked.
That was also my point. Simplified, we had to draw a ruler in Java. We had to use loops and I used for-loops.
It would look like this:
http://www.gb.nrao.edu/~rmaddale/Education/Wvsta'98/Ruler.jpg (just copy the whole line, FS breaks it up)
I made 3 different for-loops, the first one drew the longest lines, then all the little ones and then all numbers. Well the teacher just used one for loop and made the Long lines, the little lines and then the numbers. I got 66% of the points for that code. He corrected the test like this: Used his solution and about each line of his gave a point, if you didn't have the same line, you didn't get the point.
i can see how you get points off because you should be able to do it more efficiently. but i think that is a stupid way to grade code.
Originally posted by: Jzero
Originally posted by: MartyMcFly3
Think of it like a math problem. Say you are given 2 numbers and told to divide them and write the answer on the paper. You could punch it in your calculator (much more efficient) and just write the answer. Or you could do it by hand and fill the page up with work. It's more time consuming but you still get the right answer.
Except in this case the calculator does the exact same thing.
But if you are asked to write a simple program that divides two numbers and outputs the quotient you could do some think like:
input p;
input q;
result = p/q;
return result;
Or you could do something like:
input p; //divisor
input q; //dividend
i = 1
z = first i digits of q;
while p < z {increment i;}
q1 = z/p;
z = z - (p * q1)
if any digits left, append i+1 digit of q to z
...and so on
Who should get full credit?
Originally posted by: MartyMcFly3
Originally posted by: Jzero
Originally posted by: MartyMcFly3
Think of it like a math problem. Say you are given 2 numbers and told to divide them and write the answer on the paper. You could punch it in your calculator (much more efficient) and just write the answer. Or you could do it by hand and fill the page up with work. It's more time consuming but you still get the right answer.
Except in this case the calculator does the exact same thing.
But if you are asked to write a simple program that divides two numbers and outputs the quotient you could do some think like:
input p;
input q;
result = p/q;
return result;
Or you could do something like:
input p; //divisor
input q; //dividend
i = 1
z = first i digits of q;
while p < z {increment i;}
q1 = z/p;
z = z - (p * q1)
if any digits left, append i+1 digit of q to z
...and so on
Who should get full credit?
Technically both. However since you said "simple" I would imagine the first one would be the correct one. I dunno, I guess im just a little more lenient because I know how difficult Java can be for people (including myself). I just think if it produces the correct results, and the person did all that was asked of them, it should be correct.
In ndee's case, I dont think he should be penalized at all, and I agree with you that using a "master code" to compare it to is a real sh!tty thing to do. No one programs exactly the same as everyone else.
Originally posted by: ndee
Originally posted by: saxguy
i can see how you get points off because you should be able to do it more efficiently. but i think that is a stupid way to grade code.
And there was also a discussion from a student because he used while-loops instead of for-loops.
