Bob La Quey wrote:
On Mon, Sep 29, 2008 at 1:31 PM, Darren New <[EMAIL PROTECTED]> wrote:
James G. Sack (jim) wrote:
"I probably didn't capture it well and Alan wasn't specific, but two
things I understood he thought ought to be taught first were parallelism
and loose coupling. He mentioned that the Internet is more about those
two things that it is about data structures and algorithms."
That's a rather vague thing to teach. Everyone already understands
parallelism and loose coupling, at an intuitive level. How do you get
computers to do that?
--
Darren New / San Diego, CA, USA (PST)
REST, Roy Fielding's thesis
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
Well, yes, duh. *I* know how to get computers to do that. How do you
teach someone who doesn't understand what a network is or what a
subroutine is? How do you teach someone about distributed hash tables
who doesn't know what a hash is? How do you teach someone about "map
reduce" who doesn't know what map is? How do you tell someone how to
parallelize without saying what a storage location is?
Loose coupling: "Tell someone to go do something. Check with them later
to see if they finished it."
Parallelism: "Tell several people to go do work. Tell them to come back
when they're done."
I think if you started classes with Dijkstra's dining philosophers and
the P() and S() operators (or whatever they're initialed) before you
talked about variables and structures and arrays and loops, you're going
to have one brutally confused class.
--
Darren New / San Diego, CA, USA (PST)
--
KPLUG-LPSG@kernel-panic.org
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg