<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000"><div class="gmail_quote">Richard Enbody <enbody@cse.msu.edu> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<tt>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++.<br>
<br>
-rich<br>
<a class="moz-txt-link-abbreviated" href="mailto:enbody@cse.msu.edu">enbody@cse.msu.edu</a><br>
"The Practice of Computing using Python" by Punch & Enbody<br>
</tt><br>
On 7/15/11 12:00 AM, Carl Cerecke wrote:
<blockquote cite="mid:CALhq9rxuzKimXSmM5Qc4cKUhNQfLDUkvjkW4x5MnDeJxnVmFZw@mail.gmail.com" type="cite">To the 'Pfff, but python sucks. It's too simple'
crowd, you can pretty much ignore them - that or get some code off
<a moz-do-not-send="true" href="http://code.activestate.com">code.activestate.com</a>
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 :-)<br>
<br>
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.<br>
<br>
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.<br>
<br>
Cheers,<br>
Carl.<br>
<br>
<div class="gmail_quote">On 15 July 2011 15:20, Corey Richardson <span dir="ltr"><<a moz-do-not-send="true" href="mailto:kb1pkl@aim.com">kb1pkl@aim.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
I was discussing programing with some peers at an MIT summer
program, and<br>
many of them came from the "JAVA AND OOP!" type of places to
the point that,<br>
when the opportunity came up for them to learn the basics in a
seminar, a<br>
few said "Pfff, but python sucks. It's too simple". Is it just
me, or should<br>
simplicity be a Good Thing? </rant><br>
<br>
But, my real question to you educators is, which paradigm do
you use when<br>
first teaching programming, and why? My peers cite OOP
because, frankly,<br>
it's the only thing they've learned and have heard that e.g.
procedural<br>
programming is bad. Personally, I like to use procedural (this
is in<br>
Python, of course) for as long as possible. I don't even
mention objects<br>
for a while, they aren't necessary or even desirable in many
instances.<br>
I love using games as a project, and that's when I swoop in
and bring up<br>
objects. My segue are usually the monsters of a text based
game. I don't<br>
have them design an object for everything because it
introduces complexity<br>
without benefit. Of course, it's not as flexible/correct a
program as it<br>
could be, but it's a nice slow ease into OOP. But it certainly
isn't the<br>
ONLY paradigm out there, and certainly not the most useful for
everything.<br>
<br>
Any other insights?<br>
<font color="#888888">--<br>
Corey Richardson<br>
"Those who deny freedom to others, deserve it not for
themselves"<br>
-- Abraham Lincoln<br>
</font><br>
_______________________________________________<br>
Edu-sig mailing list<br>
<a moz-do-not-send="true" href="mailto:Edu-sig@python.org">Edu-sig@python.org</a><br>
<a moz-do-not-send="true" href="http://mail.python.org/mailman/listinfo/edu-sig" target="_blank">http://mail.python.org/mailman/listinfo/edu-sig</a><br>
<br>
</blockquote>
</div>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Edu-sig mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Edu-sig@python.org">Edu-sig@python.org</a>
<a class="moz-txt-link-freetext" href="http://mail.python.org/mailman/listinfo/edu-sig">http://mail.python.org/mailman/listinfo/edu-sig</a>
</pre>
</blockquote>
</blockquote></div><br clear="all">We have a year of Python and Discrete Math using SAGE as an intro to programming. We follow this with AP Computer Science and Java. In Computer Math we don't address objects. In Computer Science we do "objects first!"<br>
Thanx,<br>
A. Jorge Garcia<br>
Applied Math and CompSci<br>
<a href="http://shadowfaxrant.blogspot.com">http://shadowfaxrant.blogspot.com</a><br>
<a href="http://www.youtube.com/calcpage2009">http://www.youtube.com/calcpage2009</a><br>
Sent via DROID on Verizon Wireless</body>
</html>