[comp.software-eng] Soft eng in 1st yr classes..

UH2@PSUVM.BITNET (Lee Sailer) (03/29/88)

I really like Chris Shaws suggestions, and wanted to offer two additions:

1.  The Science of Programming, by David Gries, contains lots of examples
of very simple programs that are hard to design.  After studying that book,
I realized that there are two types of programs, ones where you know the
algorithm and only need to create the code, and ones where you have to
first invent the algorithm.  Gries book is about inventing algorithms.

2.  I have seen the broad spectrum of undergrads, as my academic career
has slid from UCI and Northwestern down to a branch campus of a mid-level
state school.  There is more difference than you might hope.

In particular, if I gave an assignment couched in "This is to show you
how much you don't know" my students would go straight to the Dean and
protest.

Still, with local cosmetic fixup, I think it is a good idea.

                                                            lee

psc@lznv.ATT.COM (Paul S. R. Chisholm) (04/01/88)

< If you lined all the news readers up end-to-end, they'd be easier to shoot. >

In article <570@psu-cs.UUCP>, warren@psu-cs.UUCP (Warren Harrison) writes:
> >Phase 2: Give them a hard assignment that you couldn't do in the
> >time allotted.  To be fair, tell the students this well in advance.
> >There is no sense in treating them like children.  Give them the
> >straight goods.  "This assignment is vicious, rough and nasty.
> >It's designed to show you how little you know."  Make it look
> >superficially simple.  Then mark it as if they were all grads.
> >
> >Then solve it in 3 minutes.  (If you can manage it.  Getting
> >something that the uninitiated can't solve and that you can explain
> >in no time will be tricky.)
>
> Real good idea.  Any ideas on the assignment?  I've been trying to
> figure such a task out for a number of years now.  It is important
> that the students understand your solution, so anything too tough is
> out of the question.  Keep in mind I'm talking people who can't
> understand how you can use a key value as a sub- script.

Sure; just tell them to write a binary search program.  Give them an
overview of how it works (perhaps the previous class) and scaffolding
for initialization and termination; make them write the search portion.
Any frosh who can get this right the first time deserves an A.

But do it in class.  Forty-five minutes should be plenty of time to
screw this one up.  Besides, students in CS courses get notoriously
large amounts of "help" on their homework.

-Paul S. R. Chisholm, {ihnp4,cbosgd,allegra,rutgers}!mtune!lznv!psc
AT&T Mail !psrchisholm, Internet psc@lznv.att.com
I'm not speaking for my employer, I'm just speaking my mind.