[Edu-sig] Re: Introductory high school programming

Darren Payne inxdr at yahoo.com.au
Sat May 8 07:49:36 EDT 2004

See topics & msgs below to put my comments in context.

I have been a member of this group for quite a while
and content myself with reading the interesting things
people have to say. Now I would like to add some of my
experiences for others to consider.

I teach computing to high school students in Australia
(Sydney, NSW actually). I currently work in a
"selective" school - US readers would understand this
better as magnet school. Entry is gained via a battery
of tests & positions offered. 

A few years ago I completed post grad study in gifted
ed - at the end was invited to write a 2 day unit to
be used in the university's gifted program. I have
taken up this offer and based it on work by Jeff
Spence (Canadian guy on exchange in my hometown a few
years back) Anyway - I have been using Java and have
reasonably successfully taught an introduction to Java
- as a first language - to 10 and 11 year old

This year I decided I would introduce my year 7
classes to Java. Now, after one term (10 weeks), I
fear it is just too difficult. In essence, the more
Java I learn the less I like Java. 
The decision to go with Java was encouraged by my
current yr12 class whom last year were determined to
learn a "real" language AKA C++. I compromised and
"taught" them Java. Only one of these students has put
in enough effort to establish any level of skill with
the language. I really wanted to show them Python. 

Last year (as well - in parallel to yr12) I started
teaching Python as a first language to my yr9 (now
yr10) class - they loved it and I enjoyed teaching it.

Re Scheme; my yr12 class also do an option involving
different paradigms - one of these is the functional
paradigm. So I teach Haskell. I really like it, I like
the way it makes me think. Because the students can be
examined on either Hskell or Scheme (Lisp) I also show
them some Scheme - but prefer Haskell becasue no
reverse Polish notation and no brackets!

In summary, I have found Python far and away to be the
best language for high school students. It is
powerful, easy to use, has clear simple syntax that
doesn't "get in the way", is extendable with loads of
other modules, has an active developer community, is
open source so I can burn it CD and legally give it to
kids to take home and so much more. Perhaps best of
all it teaches the major, MODERN CONCEPTS in
programming and these are easily transferred to other

I don't like Java (read this like "tiggers don't like
Java" - I have a 3 yr old and 4 old!)- it is all just
hype and we have all been suckered in. Compiler errors
are a hassle for students - interpreted is much better
during learning & development of programs. Being
forced to use OO for even trivial programs puts too
much overhead in the way of learning to program.
Python overcomes this because OO is optional - you
don't have to use it with trivial programs.

Anyway - enough from me at this point. Hope this
offers a semi empirical flavour to the discussion.

P.S. - consider  Python Programming for absolute
beginner by Michael Dawson as a text.
Darren Payne
Hurlstone Agricultural High School

> Today's Topics:
>    1. Introductory high school programming class -
> Python or
>       TeachScheme (Joseph Ehlers)
>    2. Python for High School Students (Garret
> McGraw)
>    3. RE: Introductory high school programming class
> - Python
>       orTeachScheme (Kirby Urner)
>    4. RE: Introductory high school programming class
> - Python
>       orTeachScheme (Liow, Dr. Yihsiang)
> Message: 1
> Date: Wed, 5 May 2004 20:48:25 -0500
> From: "Joseph Ehlers" <ehlersjp at msn.com>
> Subject: [Edu-sig] Introductory high school
> programming class - Python
> 	or	TeachScheme
> To: <edu-sig at python.org>
> Message-ID:
> <BAY4-DAV64OgRGkQ6mB00001262 at hotmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
> I'm trying to propose an introductory computer
> programming class for high school students.  I do
> not have a programming background so I will be
> learning the language just like the students. 
> Through my research I came across Python.  It sounds
> great - easy to learn, teaches thinking skills, and
> is fun.  I was set to go with Python then I came
> across the TeachScheme project which also sounds
> great - it too is easy to learn, teaches thinking
> skills and comes with lots of curriculum.  I have a
> few questions and I'm hoping this group can shed
> some light on this issue.
> 1.  Is one better than the other (Python  vs.
> TeachScheme) to teach high school novices
> programming skills, thinking skills, language, and
> keeping their attention so I can then have an
> audience for a second, more advanced programming
> class?  
> 2.  I've looked at "How to Think Like a Computer
> Scientist", it looks very doable for a novice and
> "Python Programming for the Absolute Beginner"
> (Premier Press) looks like a lot of fun.  Is  there
> any other curriculum for high school students out
> there?
> 3.  Is it possible to teach a semester of
> TeachScheme and a semester of Python or is that
> overkill on the basics and not doing justice to
> either program?
> I appreciate your assistance.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> ------------------------------
> Message: 2
> Date: Wed, 05 May 2004 22:59:38 -0400
> From: Garret McGraw <garret_mcgraw at yahoo.com>
> Subject: [Edu-sig] Python for High School Students
> To: edu-sig at python.org
> Message-ID: <4099AA1A.6030508 at yahoo.com>
> Content-Type: text/plain; charset=ISO-8859-1;
> format=flowed
> Hey there,
> I don't know a whole lot about what kinds of
> curriculums there are for 
> high school classes but some things I have
> discovered in my 2 years of 
> programming with Python are these. As great as
> Python already is, it has 
> great pontental for becoming greater as differences
> between modern 
> platforms widen because it as totally portable
> between platforms.  It is 
> available for almost any operating system and is
> 100% compatable between 
> all of them.
> It is great for the younger generations because it
> is used for almost 
> anything from homework (specificly math) to many
> large industry-level 
> projects and buisnesses such as Google and I think
> Yahoo! also.  I know 
> this comparison is a little out-of-place but I think
> with intrests of 
> preparing young minds for the real world, its very
> appropriate to use, 
> because python, due to its extreme ease in which it
> can be learned and 
> its enjoyable programming qualities known to many of
> us is the perfect 
> tool for any computer minded teen-ager.
> I could go on all day about python but I think I'll
> just end here by 
> giving a list of reasons why I believe you should
> seriously consider 
> using Python in the classroom.
> 1.  It is fun and quick to write code using.
> 2.  It is actually very easy and fast to learn.
> 3.  It is (as earlier mentioned) used in the real
> world for a variety of 
> projects.
> 4.  It is very well documented and if you have
> questions, there is 
> always somebody out there who had that question at
> one time and can 
> answer yours by means of newsgroup or other internet
> forum.
> 5.  It is 100% portable between systems.
> 6.  It has the coolest mascot. (The snake of course)
> 7.  I am a high school sophomore myself and I use it
> for just about 
> everything from school assignments to website CGIs.
> I hope this helps,
> ------------------------------
> Message: 3
> Date: Wed, 5 May 2004 20:23:49 -0700
> From: "Kirby Urner" <urnerk at qwest.net>
> Subject: RE: [Edu-sig] Introductory high school
> programming class -
> 	Python	orTeachScheme
> To: "'Joseph Ehlers'" <ehlersjp at msn.com>,
> edu-sig at python.org
> Message-ID: <E1BLZUE-0002AO-M1 at mail.python.org>
> Content-Type: text/plain;	charset="iso-8859-1"
> Hi Joseph --
> Congrats on doing good research and landing two big
> fish.
> Years back on this list, one of the TeachScheme
> principals (Matthias)
> subscribed for a spell, so he could debate some of
> these very questions you
> raise.  
> The discussion gets rather technical at times. See: 
> See also this quick summary:
> http://www.python.org/doc/pythonVSscheme.html
> My points in favor of Python:
> 1. the object oriented paradigm is close to the
> surface ("everything is an
> object") while in Scheme it's a more advanced
> feature.
> 2. because of 1, Python is a natural lead-in to
> other 
=== message truncated ===

Darren Payne
Hurlstone Agricultural High School
Ph:  9829 9222   Fax: 98292026
web:   www.hurlstone.com.au
email: computing at hurlstone.com.au

Do you Yahoo!?
Win a $20,000 Career Makeover at Yahoo! HotJobs  

More information about the Edu-sig mailing list