Linux in the TDSB

Taavi Burns jaaaarel-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org
Thu Oct 7 18:13:28 UTC 2004


On Tue, 05 Oct 2004 19:15:05 -0400, Anton Markov <anton-F0u+EriZ6ihBDgjK7y7TUQ at public.gmane.org> wrote:
> Yes, python would work very well. The advantages would be obvious: it's
> cross-platform, and it's a real, live language. The key would be to

I was waiting for someone to mention Python. :)  It evolved out of ABC, which
was a teaching language, so there's good historical reason to use Python in
an educational setting.

> integrate it smoothly into the curriculum. The three things we study at
> our school is:
> 
> 1) Basic conditional statements, loops, function calls.
> This is done in Turing through "fun" activities like animating circles :(
> 
> I would recommend a simple test editor with a "run" and "step through"
> button. The language used would be python, but stripped down so that
> when the user types 'print "Hello World"' (or whatever it is in Python;
> I don't know the language :( ), it outputs that text.

That's exactly the syntax.  :)  You don't have to strip anything down, either.
>From your shell, type "python".  You're then left at a Python prompt, from which
you can immediately type 'print "Hello World"', and it will.

> Adding some wrapper functions to standard GTK calls for drawing circles,
> lines, squares, etc. and outputting to a GTK windows would be enought to
> surpass the basic Turing functionality.

The wxWindows cross-platform widget set has the wxPython bindings.  That
will give you native look-and-feel wherever it runs.

> 2) Event-oriented programming.
> Currently VB is used for this.
> 
> Use an IDE such as Anjuta or something similar that integrates Glade
> with an editor. Continuing to use Python would be advantageous, because
> the syntax does not change.
> 
> 3) Object-oriented and modular programming (perhaps network support, etc.)
> This is done in Java.
> 
> I think this should be left alone, because many Universities use Java in
> the first-year courses from what I hear.
> 
> Of course it's never too early to teach C++, as long as the kids are
> bright enough to handle it :)

I might disagree.  I had a prof who claimed that C++ was like a VERY SHARP
Samauri blade: when wielded expertly, it was an exquisite tool; when tossed
around, one tends to cut off arms and legs.

> So here's the basic question: has there been any progress already done
> in this area? If not, would someone be interested in coding up at least
> the first idea on the above list? It shouldn't be too difficult, and
> would even serve and a Windows replacement for Turing. Perhaps a
> "Written in Python for Python" idea would be cool; at the end of the
> year have the students examine the sourcecode for the software they've
> used all year.

BTW, Python is written in plain old C.  Extending the Python language with
C functions is relatively simple.  I managed to do it for the very
first time while
on an airplane with my PowerBook.  The documentation was all already
included, and the procedure relatively straightforward.

As a bonus, there is at least one FREE textbook you can use for the class:
http://www.greenteapress.com/thinkpython/

There are many other good books (for $$) on the topic as well, in addition
to the excellent resources on the Python website:
http://www.python.org

-- 
taa
/*eof*/
--
The Toronto Linux Users Group.      Meetings: http://tlug.ss.org
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml





More information about the Legacy mailing list