[plt-scheme] Perplexed Programmers

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue Aug 28 08:39:01 EDT 2007

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





Posted on the users mailing list.