[Edu-sig] assigning homework

Dustin Mitchell dustin@cs.uchicago.edu
Fri, 7 Sep 2001 22:00:20 -0500 (CDT)


On Thu, 6 Sep 2001, Timothy Wilson wrote:

> Any pearls of wisdom from the experienced programming teachers out
> there? What's best practice in this area? I'd like to avoid making
> some obvious mistakes because of my inexperience in this particular
> subject.

Well, coming from a wet-behind-the-ears math and social studies teacher, I
can't say I'd try this with my own students, but there's a lot to learn
about team programming in terms of program structure.  Algorithmic
abstraction, functional abstraction, object abstraction, procedural
abstraction -- all of these are ways that real programmers break
programming problems into smaller chunks for individual team members.  
Then there's interface design, code review, etc. etc. etc.

These concepts all require some level of sophistication from the
programmer, but it may be good to introduce them early, and require those
working in groups to also submit their interface designs, and the ways
they split up the work, etc.  Once the students get more sophisticated (on
to real functions, and perhaps classes) you can do more talking about
various kinds of abstraction.

Then toward the end of the course, you can then *require* group work, and
make the type of collaboration part of the assignment.

Good luck!

Dustin

-- 

  )O(