[Edu-sig] General Programming Education

Carl Cerecke carl at free.org.nz
Fri Jul 15 06:00:31 CEST 2011


To the 'Pfff, but python sucks. It's too simple' crowd, you can pretty much
ignore them - that or get some code off code.activestate.com that does
something gnarly to show off. I've even got a recipe on there, but it's
probably not the best one for Java programmers (or python programmers, come
to think of it :-)

As for teaching programming, I recommend staying away from classes at the
start, but introducing objects early. Students can easily understand the
idea of objects and methods before learning about classes, because lists,
strings, dicts, etc are objects with methods. Once they are familiar with
built in classes/types, then you can introduce custom types (classes) to
them.

I've just had the first week of a semester teaching python to stage 1
Computer Science students, and that's how we're doing it (and have done it
in the past) with reasonably good success.

Cheers,
Carl.

On 15 July 2011 15:20, Corey Richardson <kb1pkl at aim.com> wrote:

>
> I was discussing programing with some peers at an MIT summer program, and
> many of them came from the "JAVA AND OOP!" type of places to the point
> that,
> when the opportunity came up for them to learn the basics in a seminar, a
> few said "Pfff, but python sucks. It's too simple". Is it just me, or
> should
> simplicity be a Good Thing? </rant>
>
> But, my real question to you educators is, which paradigm do you use when
> first teaching programming, and why? My peers cite OOP because, frankly,
> it's the only thing they've learned and have heard that e.g. procedural
> programming is bad. Personally, I like to use procedural (this is in
> Python, of course) for as long as possible. I don't even mention objects
> for a while, they aren't necessary or even desirable in many instances.
> I love using games as a project, and that's when I swoop in and bring up
> objects. My segue are usually the monsters of a text based game. I don't
> have them design an object for everything because it introduces complexity
> without benefit. Of course, it's not as flexible/correct a program as it
> could be, but it's a nice slow ease into OOP. But it certainly isn't the
> ONLY paradigm out there, and certainly not the most useful for everything.
>
> Any other insights?
> --
> Corey Richardson
>  "Those who deny freedom to others, deserve it not for themselves"
>     -- Abraham Lincoln
>
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20110715/4e1dbe51/attachment.html>


More information about the Edu-sig mailing list