[Edu-sig] Designing CS...

Kevin Driscoll driscollkevin at gmail.com
Wed Jun 21 01:45:38 CEST 2006

As my school is not large enough to support such a focused programming
curriculum and I want to appeal to many sides of computing / networked
culture, I just finished teaching a 10-12th grade elective with ESR's
"How to become a hacker" essay as a framework. (See:
http://www.catb.org/~esr/faqs/hacker-howto.html )

Build up a PC.  Install Ubuntu.  Write XHTML/CSS in a text editor.
Learn Python.

All the while blogging and talking about the social implications to
blogging, MySpace, closed-v-open source, open-v-free, etc.  ESR's 4th
assertion ("Learn English") was especially fertile ground in a class
with many non-native English speakers.  We asked why Python would have
English-sounding words as built-in functions.

Now I have a cohort of students with a semester of Python under their
belts and I'm starting to plan for next year.  The students that stick
with me will be ready for a more strict programming curriculum.
Though I'm wary of switching languages, your email is intriguing.
It's helpful to think of languages as tools - each with its own
strength and purpose.

Has anyone taught Ruby at the K12 level?  I love its object-oriented
nature and the whole workflow would be familiar to my young Python
programmers but I worry that jumping to another language is too soon.


On 6/20/06, kirby urner <kirby.urner at gmail.com> wrote:
> This tagline gives the plot:
> """
> So right off the bat, Gnu Math is in turmoil. Are we trying to visit
> the tunnels under Disney World, as I contend, or are we keeping them
> blissfully in a bubble, making them think the whole world is as
> squeaky clean as Squeak?
> """
> That's from the Math Forum this morning.
> http://mathforum.org/kb/thread.jspa?threadID=1401016
> How much of the gnarly underbelly of geek culture are we wanting to
> teach, and at what level?  Jerritt plunged right in with tcp/ip at
> West Precinct that time, and I'm thinking that's probably as good a
> place to start as any.  Motherboard internals can wait.
> So I posted about tcp/ip in my blog yesterday, giving a flavor.  I'm
> saying Gnu Math should not avoid the low level.  Consistently and
> consequently, I advocate diving into C after Python along a strong CS
> track, to understand how CPython is implemented under the hood -- as
> well as how to extend it.
> Then maybe we'll resurface in Java and/or C# over bridges in the
> corresponding Python implementations (Jython and/or IronPython).  It's
> not like we have to go over every built-in or library module at the
> same level of detail every time.
> But hey, now you've got the hang of C, and the way it thinks about
> memory (addresses, pointers).  That'll help you solve a lot of
> puzzles, at least through some career doors.  And no, I'm not
> forgetting about C++ (the basis of wx and many other extensions).
> Some will go in reverse (it's a network, not just a sequence):  e.g.
> drill down starting in IronPython, and get back to C via the
> bytecodes-on-a-VM.  In Mono (an implementation of a shared
> ANSI/ISO/ECMA type standard), the target bytecodes are prespecified,
> and provide a shared platform for many languages. Guido invented his
> own bytecodes for CPython, a unilanguage VM, when the whole idea of a
> VM was still quite new, and an advance over the early "interpreter"
> idea -- like what bash does.
> BTW how're things coming with Parrot?  I'm soo out of date.
> Anyway, I'm for using Python to awaken self-selecting "users" out of a
> blissful ignorance (however comfortable) and start getting them
> oriented to the plumbing that makes it all work.  Via Python, you have
> the opportunity to move from "user" to "hacker" perhaps by way of
> "gnubee" (as in "student of gnu math").
> In the gnu world, we don't hide the fact that the low level stuff gets
> ugly and that ugly hacks exist.  Engineering is just like that, and
> there's no shame in admitting it, showing it, and inviting fresh
> solutions.  There's also just a lot of ancient working machinery, not
> ugly per se, but still rather complicated and ornate.  We want to show
> that off too.
> Kirby
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig

More information about the Edu-sig mailing list