[comp.edu] Assigning the same Programming Assignments every time

ma179acl@sdcc3.UUCP (04/23/87)

In article <603@plx.UUCP>, ed@plx.UUCP (Ed Chaban) writes:
> 
> Why do professors assign the *SAME* problems every semester anay?
> 

Because they're just like you and me:   *LAZY*!!!   Let's face it,
if they don't have to, why bother?    

--------------------------------------------------------------------
# Dave  (a.k.a. Slash)
# STAY HARD!!!
# "Who is John Galt ?"- A.R.
# "When can we all become one race?"-M.C     
--------------------------------------------------------------------

neves@ai.WISC.EDU (David M. Neves) (04/25/87)

>> Why do professors assign the *SAME* problems every semester anay?
>Because they're just like you and me:   *LAZY*!!!   Let's face it,
>if they don't have to, why bother?    

Sigh...  Do you know how long it takes to design a good assignment?

1.  An assignment should test and train the student on the material.
2.  It should not be too easy or too difficult (in terms of amount of
code and number of hours to do).
3.  It should be understandable to the students.  (For example don't
give an assignment that depends on understanding the American tax
system if you have foreign students.)
4.  It should be interesting (!) and hopefully relevant (!!).
5.  A variety of other constraints like: 
    don't give assignments that require class supplied input
    files if many of the students have their own micros,
    don't give assignments that can be found in books
    
I sometimes spend a couple of months thinking about an assignment.
After I have the idea I then have to write down all the information
that students may need.  On brand new assignments I often find out
later that I have left out 2 or 3 crucial pieces of information.
Students really hate it when you change or update assignments after
they have been handed out.  I then have to figure out how to make it
easy enough to do in 20-40 (or ?) hours time.

When students enjoy an assignment and it gives them good training why
through it out?  I try to change it just enough to discourage (or
detect) cheating.

One problem with totally changing an assignment every semester is that
the assignment may be too difficult some semesters and too easy
others.  For example, our database course here has 4 assignments and
the 2nd one this semester took students over 200 hours to complete.
If the same assignment is kept it could then be made easier.  Because
of the feedback given this semester the program description could be
made better.

I think that instructors and students both gain when assignments are
improved over time.  

If you think making assignments is so easy why don't you you generate
a complete new set of assignments for the class that you just
finished?  Make sure they fulfill all the constraints above.  Good
luck.
-- 
David Neves, Computer Sciences Department, University of Wisconsin-Madison
Usenet:  {allegra,heurikon,ihnp4,seismo}!uwvax!neves
Arpanet: neves@cs.wisc.edu

elg@killer.UUCP (Eric Green) (04/30/87)

in article <509@ai.WISC.EDU>, neves@ai.WISC.EDU (David M. Neves) says:
> 
>>> Why do professors assign the *SAME* problems every semester anay?
>>Because they're just like you and me:   *LAZY*!!!   Let's face it,
>>if they don't have to, why bother?    
> 
> Sigh...  Do you know how long it takes to design a good assignment?

> When students enjoy an assignment and it gives them good training why
> through it out?  I try to change it just enough to discourage (or
> detect) cheating.

One instructor here assigns the same assignment every year in her assembly
language class -- implement a simulator for machine "A" (insert handout here,
with specifications of machine), and run it with sample machine language
program "B" (insert another handout here). And do it all in the assembly
language of machine "C" (was a Pyramid 90x for three years, now it's an IBM
3090).  

The assignment has much merit as a "weeding-out" period. People who cannot
design software certainly aren't going to write a sizable assembly language
program. The way she deals with the problem of programs from last year is to
change up addressing modes, instructions, registers, etc. of the simulated
machine, every year (and changing the sample machine language program for that
machine, of course).  


> If the same assignment is kept it could then be made easier.  Because
> of the feedback given this semester the program description could be
> made better.
> 
> I think that instructors and students both gain when assignments are
> improved over time.  

Definitely. Each year, her machine design is better specified (when I took the
course, <n> years ago, she had a bunch of ambiguities and ended up having to
write a new specification of the indirect addressing modes). It's very hard to
write a specification that is clear and concise the first time through....
once you write it, someone inevitably says "well, what about special case #n?
How do you do xyz? does it add the index before or after the indirection?" and
other such words of praise :-). I've ended up re-writing major parts of BT's
documentation after a couple of beta-tester customers got ahold of it and
started on that (groan....). 

--
Eric Green   elg%usl.CSNET     CS student, University of SW Louisiana
{cbosgd,ihnp4}!killer!elg      Apprentice Haquer, Bayou Telecommunications
Snail Mail P.O. Box 92191      BBS phone #: 318-984-3854  300/1200 baud
Lafayette, LA 70509            Clever quote goes here, but I'm out of room!