I’ve been thinking a lot about projects the last month or so. You may have seen it in my posts. Mostly I’ve been talking in generalities but today I’d like to focus on a specific idea. last week someone, I don’t remember if it was Twitter or Facebook or a blog comment, mentioned that MadLibs makes a good project for arrays. So I have been thinking about how I might assign that as a project and avoid the whole recipe trap (see my recent post Project or Recipe) BTW I am pretty sure that MadLibs is copyright Penguin Press so I’m thinking more generally of “a phrasal template word game where one player prompts another for a list of words to substitute for blanks in a story, usually with funny results.” Thanks Wikipedia.
The pretty standard way to assign a project like this is to specify quite a bit of detail. You could say things like “Prompt for words using an Input Box” for example. In fact you could spell out quite a bit of detail to create lines for students to draw inside. A sample output could be provided. IN short you could provide a fairly detailed recipe and say “make this.” But you might get 30 identical results turned in. Limiting.
Or you could make it open-ended and say things like “the main requirement is that you use an array of word objects where one field is the word and a second field is the part of speech of that word. Now make a game that uses this array.” OK yes, some students are going to freak out and demand more detail. Are you helping them if you give it? I’m not so sure.
Leaving it open may give you a lot of different projects. Students may use many different ways of acquiring the words for display. Command line, Input Boxes, Text boxes, even data files. The output may come out differently. The words may be used in different orders than entered. perhaps give students credit for implementing CompareTo so that lists can be sorted alphabetically under part of speech? What other options can they add to the word class? Maybe character length? Or plural format? Or ask to associate a gender which might make language independent versions easier? Does it even have to be in English (or the default language of your classroom?) Why not make it a world language project. Or make stories from different school subjects?
The big risk of making things this open-ended is students trying to do to much. Perhaps the way to handle that is to require a written plan with dates in it first. Review the schedule against dates regularly to make sure students are on target. I’ve written about feature creep and all-nighters recently. There are things to watch out for in large projects!
What do you think? Too open-ended? Not open enough? Too much except for a semester or final project? Are students going to toss up their hands and say “not enough information!” or are they going to warm to the task and create great projects? Have you tried something like this? What was it and how did it work out?