[plt-scheme] Perplexed Programmers
On Aug 27, 2007, at 4:14 PM, Chris Stephenson wrote:
> Does HtDS mean "How to Design Systems" ?
>
> If it does, this thread shows that there is a need to extend the HtDP
> approach to the design of real systems, where the initial specs are
> always vague and the knowledge needed to clarify them often
> distributed
> among a community of people in a complicated way.
>
> So when does the book come out? Can any "been there, seen that,
> cancelled that project" veterans give any help to the process?
More than one person asked, so here is the vision.
As many of you know, Brooks described software development via a
quadrant:
"programming for idiots" | application development
(b&n bookshelves) | (programming done right, same level)
------------------------------------------------------------
component development | systems development
These are my words, i.e., a translation of the 1960s problem
into modern day parlance.
In a sense, my goal with the "How to Design" series is to work my
way thru this quadrant via a complete programming curriculum. At
Rice the three volumes would have covered it completely, with the
assumption that students learn some of the stuff on their own. At
NU, it will be courses 1 (semester 1), 2 (semester 2), and 4
(semester 5/6). NU is a co-op school so they also have one or
two co-ops down for 4.
1: HtDP/2e: a taste of 'idiot' and then on to instilling good
scalable habits
2: HtDC: introduce types and classes-as-components, compromise between
good language and for-resume language for internship & co-ops.
3: HtDS: introduce vague specs, large code basis, returning to codes
defensive techniques
To appear: 2023, Dec 25 :-)
Contributions and contribution ideas welcome. If you wish to
share your war stories and/or suggest a "must" inclusion,
share them with me. I have vague ideas on HtDS and have
co-taught the course with Robby a bit but nothing is precise.
-- Matthias