[Edu-sig] General Programming Education

Richard Enbody enbody at cse.msu.edu
Fri Jul 15 15:38:53 CEST 2011

We do it that way. Use lots of methods for strings, lists and 
dictionaries effectively "use objects first".  Later we teach how to 
build classes.  We switched our CS1 to Python back in 2007 and that 
approach has worked well to prepare our students for CS2 in C++.

enbody at cse.msu.edu
"The Practice of Computing using Python" by Punch & Enbody

On 7/15/11 12:00 AM, Carl Cerecke wrote:
> 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 
> <http://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 
> <mailto: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 <mailto:Edu-sig at python.org>
>     http://mail.python.org/mailman/listinfo/edu-sig
> _______________________________________________
> 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/8c1724c2/attachment.html>

More information about the Edu-sig mailing list