Computer Science Education

Tue, 28 Jan 2003 09:03:28 -0800

> From: On Behalf Of Elias Sinderson

> >6. I made them do book reports.  Books chosen have included "Mythical
> Month", "Extreme Programming", "Code Complete", "Writing Solid Code",
> "Refractoring".  There was also a book that included some Design
> Suggestions for other books that might help broaden their education
> welcome.
> >
> Interesting idea - I can't say that I've heard of this before. Neat
> to inject other material into the curriculum.

I never have either.  The kids hated the idea.

But they did it, and most were stunned that they actually learned
something.  Sometimes they didn't learn as much as they could because
they lacked the background.

One poor girl tried 'Writing Solid Code' and found the (to me trivial)
code in it far beyond her.  She kept trying, though.  I singled her out
(but not by name) for the fact that she _tried_ the harder books first.

> >8. Is there a 'Database Design Patterns' book out there somewhere?
> >
> Not that I've seen, but I'm not as familliar with the domain as I'd
> to be. If you find one, please send me a recommendation.

The reason I asked is that when I tried to teach some database stuff,
what I called the "invoice pattern" jumped out at me.  Invoice -- Line
Item -- Product.  Essentially, using a separate table (Associative
Entity) to break a Many to Many relationship into two 1 to Many ones.

I had them go through and try a fairly hard example.  Then I showed that
this complex 9 table solution was actually 3 "invoice patterns" + 2
additional side tables.