[Edu-sig] Python in Secondary Schools

Kevin Driscoll driscollkevin at gmail.com
Tue Jul 17 00:21:04 CEST 2007

Hi Sven,

Hopefully, I can help answer some of your questions.

> #Q1: What model does your country use?

In the US, we also suffer an overbearing emphasis on Office tools.  I
have found that by age 14, students are more than proficient with
these tools.  While an occasion project using presentation software
(Powerpoint) or spreadsheets (Excel) is helpful, it is probably not
best as a focus of your coursework.

Programming in the US usually leads students to Java because the
"Advanced Placement" (AP) test is in Java.  Similarly, many colleges
and universities use Java in the introductory CS course.  If students
can earn a high mark on this exam, it may allow them to skip a
university course - a reward with high monetary value here!

However, as few of my students would be taking this exam, my
programming curriculum focused on almost exclusively on Python (with a
little diversion into PHP and Javascript.)  In my opinion, students
who are strongly motivated to learn Java will have a much easier time
after learning Python.

> Before I graduate, I, of course, have to write a graduation paper (~correct
> term?).

In the US, people might call this a "thesis paper" or "final paper".

> #Q2: What should a graduated student (18y) need to know or, perhaps better,
> where should I stop?
> Which books are recommended?

My favorite book recently is Why's (Poignant) Guide to Ruby:

It is a superb tool for self-motivated learners and while the code
examples are in Ruby, you will find it easy to translate into Python.

While this text is a great tool (for English speakers), it isn't a
great reference.  For that, I often used "How to Think Like a Computer
Scientist". ( http://www.ibiblio.org/obp/thinkCSpy/ )

Rather than give out the entire text, I photocopy passages and require
students keep a binder of their materials.

> Motivation is important. The students need to see and feel the use of
> programming.

I agree! For this reason, I suggest that you think of some projects
you would like students to be able to complete.  (You have already
listed a few great ones).  Next, make a list of the skills / knowledge
a student would need to complete each project.  This will make the
process of planning your course much easier.

I have had great fun using PyGame and teaching programming through
basic game design.  http://pygame.org

> #Q3: If I copy-paste the GPL and GFDL into (respectively) the examples and
> my textbook, is that enough to make it Free (as in Freedom)? Or do I have to
> register somewhere?

No need to register!  You may find that a Creative Commons license
works just as well as GFDL.  Take a look at CC-BY-SA for a copyleft
license: http://creativecommons.org/licenses/by-sa/3.0/

Best of luck with your studies, Sven!  Please keep us posted and feel
free to email me off-list anytime!

Kevin Driscoll

More information about the Edu-sig mailing list