automatically grading small programming assignments

Slawomir Nowaczyk slawomir.nowaczyk.847 at student.lu.se
Wed Dec 20 05:37:28 EST 2006


On Thu, 14 Dec 2006 21:36:31 -0500
Brian Blais <bblais at bryant.edu> wrote:

#> Paddy wrote:

#> > It might turn out to be a poor substitute for the personal touch,
#> > especially If they are just starting to program.
#> 
#> Oh, I didn't mean it to completely replace me grading things, but I
#> think it would be useful if there were a lot of little assignments
#> that could be done automatically, and then some larger ones that I
#> would grade by hand. The little ones could be set up so that they can
#> submit as many times as they want, until they get it right.

Well, that sounds like a valid plan, but why would you want to grade the
little ones at all, then?

What I would most likely do is to publish those small assignments
together with a set of tests for each one, and say that they should
write programs and make sure their programs pass the tests.

If you wish, you could publish two sets of tests, the "easy" and
"tricky" ones, and have them use easy ones when writing program, and
only run it through the "tricky" tests when they believe the program is
bug-free. This can be a very valuable experience! (if you can devise the
right tests, of course ;)

If you either require the skills they develop doing "small" assignments
in the "big" assignments, or if you check 2-3 small assignments by hand,
you should be able to reduce cheating sufficiently... It's just a matter
of making sure they really *do* write programs and that those programs
*do* pass the tests. 

Or just require students to hand in the small assignments, together with
the testing output, but do not check them at all (not too many will have
the guts to fake the outputs).

Then there is a whole range of ideas about peer review in the education
community, where you could get students to verify one another's
programs... But this can sometimes be tricky.

-- 
 Best wishes,
   Slawomir Nowaczyk
     ( Slawomir.Nowaczyk at cs.lth.se )

Someone Else's Code - a commonly used synonym for "Bad Code"




More information about the Python-list mailing list