[BangPypers] Python at Schools

Roshan Mathews rmathews at gmail.com
Wed Sep 30 10:53:15 CEST 2009


On Sun, Sep 27, 2009 at 7:59 AM, Abhishek Mishra <ideamonk at gmail.com> wrote:
> I've heard about how kids in European countries begin with Python.
> Let's compare that to India, I started with GW-BASIC, which is a very
> good language to begin with. But don't you think it has become pretty
> old, and is hardly readily available. People start with LOGO at some
> places, but that limits them to drawing, though it does introduce one
> to joy of programming. I don't think teaching C++ actually gets a
> normal kid excited about programming, rather than that, just like some
> of us developed maths phobia back then, some kids end up hating the
> word 'programming'. I've heard that many times from my peers at
> college.
>

My two paise follows. :)

Python is just fantastic for beginners.  It is used in the new
introductory course at MIT (the replacing the legendary SICP).  The
OCW page (including videos) is here:
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-00Fall-2008/CourseHome/index.htm
You can also download the lecture videos in some formats from:
http://www.archive.org/details/MIT6.00F08

Someone had posted a link to an article about someone's experiences in
teaching an introductory algorithm course using Python some time back,
it should be there in the archives.  It concluded that Python was
pretty great for teaching since it allows you to focus on ideas
instead of syntax.

That said, in the University of Pune, when I was there a long time
back, the syllabus was structured such that you weren't taught any
language per se, different courses required work in different
languages, with lots of assembly language courses in the first two
years.  I know some people from Anna Univ, and from what I saw they
wrote a lot of code in C/C++ -- made them pretty good programmers too.

While Python will be a good language to introduce people to
programming, and I can see it being one of the best choices in the
first year (when you're learning to program) and the final year of
engineering (when you're probably digging into algos/ai/ml), I feel
that students should spend a lot of time working in C, and assembly
language in an engineering course.

For schools, while I learned C++ at a rather enjoyably slow pace,
maybe Python or Logo might be good choices.  Or maybe Scheme via HtDP.
http://www.htdp.org/


More information about the BangPypers mailing list