Re: teaching programming to children

From: Duncan Booth (duncan_at_NOSPAMrcp.co.uk)
Date: 10/16/03


Date: Thu, 16 Oct 2003 07:50:07 +0000 (UTC)

andy@post.tau.ac.il wrote in
news:mailman.138.1066287341.2192.python-list@python.org:

> A young friend of me (12 years old) has asked me to teach him
> programming (after I shortly described my programming job as telling
> the computer what to do and not the other way arround). I choose
> python because I personally like it but I was wondering to what extent
> is it appropriate for this task.
>
> a) Its interpreter is very nice but it hides some basic truths about
> computers. Namely, the need to compile and the differences between the
> languages of humans and languages of computers.
It hides the need to compile, but a basic truth about computers is that
they can hide things that you don't need to know about. A lot of languages
hide, or make less obvious, any compilation stage. I think you
underestimate the difference between human language and Python. Even though
Python is readable it is still very different.

>
> b) Most simple tasks can be achieved so easily that "there's nothing
> to learn". What do you think would be our first programming
> assignments? And what language constructs should we start with?
>
> c) Should we run to "cool" things (GUI, networking, other proposals?)
> or should we first make a good hold of "algorithms" (which in my
> opinion is at the heart of programming).
>
> I would be gratefull if people who had a similar experience would told
> me about it. Or if someone could refer me to sources and articles.

Have a look at http://www.livewires.org.uk/python/ and see if it is what
you want.

-- 
Duncan Booth                                             duncan@rcp.co.uk
int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3"
"\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure?


Relevant Pages

  • Re: advantages of forth over other languages
    ... but the people who actually accomplish things with computers have other priorities. ... The purpose of a programming language is to express a solution within the paradigms, abstractions, models, and idioms supported by that language. ... "learn new languages" means understanding different ways to conceptualize and create a solution for a problem. ...
    (comp.lang.forth)
  • Re: Why is Perl losing ground?
    ... these languages do not rest but also evolve. ... >> The real change will happen when a completely new system of computers is ... I attend Programming conferences all over the country and I ... This is FORTRAN and, to a very limited degree as of now, C++. ...
    (comp.lang.perl.misc)
  • Programming Languages, "to C or not to C, that is the Q."
    ... I will try my hand at a little traditional programming. ... I see like a billion languages available. ... to C" and then I guess you would compile the c program. ... something that is not a true HLL. ...
    (Debian-User)
  • Re: Please Help!!! Lisp Newbie.
    ... computers and programming. ... topics like memory-management, CPU architecture and the factors of the ... Languages. ...
    (comp.lang.lisp)
  • Re: teaching programming to children
    ... I choose python because I personally like it but I ... > a) Its interpreter is very nice but it hides some basic truths about computers. ... > and languages of computers. ... > What do you think would be our first programming assignments? ...
    (comp.lang.python)