[Edu-sig] Re: Edu-sig Digest, Vol 15, Issue 4

Prasan Samtani samtani at ISI.EDU
Fri Oct 15 16:35:16 CEST 2004


Interestingly enough, even going the other way around helps to expand the
way students think about computation. I find it intensely satisfying to talk
about Python to a group of juniors or seniors who have been exposed to
'lesser' languages ;) like C++ or Java.

For these groups, you can just go straight to the more powerful features,
and watch the look of disbelief on their faces as they realize that C++
libraries like Boost and Loki simply provide (in a slightly twisted way)
what python provides out of the box. Tuples, functions as first-class
objects, and consequently lambdas and generators have a sense of coolness
when they are first come across (and since students at this level have often
been exposed to Boost's implementations of these concepts, they cant help
being attracted to the simplicity of the way Python handles these ideas).

Of course, since its a game programming course, the students use C++ for
most of the class, using Python as a scripting language, but one thing I
notice is that there a tendency for the students to favor doing everything
in scripts with this approach :).

Prasan

----- Original Message ----- 
From: <edu-sig-request at python.org>
To: <edu-sig at python.org>
Sent: Friday, October 15, 2004 3:00 AM
Subject: Edu-sig Digest, Vol 15, Issue 4


> Send Edu-sig mailing list submissions to
> edu-sig at python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://mail.python.org/mailman/listinfo/edu-sig
> or, via email, send a message with subject or body 'help' to
> edu-sig-request at python.org
>
> You can reach the person managing the list at
> edu-sig-owner at python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Edu-sig digest..."
>
>
> Today's Topics:
>
>    1. Developments on the Urner front (Kirby Urner)
>    2. RE: Developments on the Urner front (erratum) (Kirby Urner)
>    3. Re: Developments on the Urner front (John Zelle)
>    4. Re: Developments on the Urner front (ajsiegel at optonline.net)
>    5. Re: Developments on the Urner front (Rodrigo Dias Arruda Senra)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 14 Oct 2004 10:14:23 -0700
> From: "Kirby Urner" <urnerk at qwest.net>
> Subject: [Edu-sig] Developments on the Urner front
> To: edu-sig at python.org
> Message-ID: <20041014171426.1B61A1E4002 at bag.python.org>
> Content-Type: text/plain; charset="US-ASCII"
>
>
> Couple of things:
>
> Jim Leisy, publisher of John Zelle's intro to programming college and/or
> high school text, invited me to Willamette University last Friday to
observe
> (and contribute to) a presentation on Python for the CS track.
>
> The audience consisted of CS teachers from around the northwest region.  A
> prof from Idaho (Lewis-Clark College) shared her PowerPoint about Python.
> She'd taught many languages over the years, and had done the Scheme
> intensive at Rice.  However, after taking Zelle's workshop, she was
> persuaded to go with Python and she's never looked back.
>
> Retention (keeping would-be CS majors from dropping out) is now less of a
> problem (students enjoy programming more), and those taking her course to
> fulfill requirements of another major (e.g. science, math, engineering)
come
> away more satisfied and equipped to move forward.
>
> One thing I learned during the presentation was that accreditation in some
> curricula requires at least 3 years with a specific language (?).  A prof
> from Texas said the only reason they were still using Java is that Zelle's
> text didn't span a full three years.
>
> Jim was a little surprised at this implied market, as his assumption has
> been "use Python as an intro, then switch to a statically typed system
> language for balance."  I agree that more than one language, including
> exposure to compiled, statically typed languages, should be a part of any
CS
> sequence.
>
> In any case, it was a productive presentation, with Jim giving a free copy

> of Zelle's text to everyone present.  A few of the profs in the audience
> were already using Python and spoke highly of it.  I fielded a few
questions
> from the sidelines, mostly relating to graphics.
>
> One guy objected that Python might be fine for production programming, but
> in the academic context, having procedural, functional and object-oriented
> paradigms all mixed together lacked rigor.  I assured people that the
> object-oriented paradigm (everything is an object) could be taken as a
base
> paradigm, with the others developed on top of it (even in procedural code,
> the prevalence of dot notation speaks to the omnipresence of objects).
>
> The presenter transitions to C++ in the second year.  She said that
whereas
> starting with C++ or even Java tended to promote burnout, once students
had
> done Python for a year, C++ was no longer all that difficult -- annoying,
> yes, but not that difficult.
>
> The other thing:  I'm developing a "numeracy text" which demonstrates how
> I'd like to see things weaving together in the early years (this text
might
> start to be relevant in 8th grade or so -- depends on the kid obviously).
>
> Python is incorporated.  I've written six chapters.  A notable "omission"
is
> that I'm always referring to off stage computer games and simulations that
> don't actually exist yet (or do, but I'm not providing them).  This is a
way
> of enlisting the reader's imagination, and a collaboration strategy -- 
more
> than one implementation of any exercise might be offered.
>
> Feedback welcome:
> http://www.4dsolutions.net/ocn/numeracy101.pdf -- I'll be adding more
text,
> improving existing text, as time permits.
>
> Kirby
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Thu, 14 Oct 2004 10:37:43 -0700
> From: "Kirby Urner" <urnerk at qwest.net>
> Subject: RE: [Edu-sig] Developments on the Urner front (erratum)
> To: edu-sig at python.org
> Message-ID: <20041014173743.92D1E1E4002 at bag.python.org>
> Content-Type: text/plain; charset="US-ASCII"
>
> > Feedback welcome:
> > http://www.4dsolutions.net/ocn/numeracy101.pdf
>
> My apologies:
>
> http://www.4dsolutions.net/ocn/pdfs/numeracy101.pdf
>
> Kirby
>
>
>
>
> ------------------------------
>
> Message: 3
> Date: Thu, 14 Oct 2004 14:44:39 -0500
> From: John Zelle <john.zelle at wartburg.edu>
> Subject: Re: [Edu-sig] Developments on the Urner front
> To: Kirby Urner <urnerk at qwest.net>, edu-sig at python.org
> Message-ID: <416ED727.3050507 at wartburg.edu>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> Kirby,
>
> Thanks for this retrospective. I've also talked to Jim a little bit
> about this event (wish I could have been there to meet you). I have a
> couple comments below.
>
> Kirby Urner wrote:
>
> >Couple of things:
> >
> >Jim Leisy, publisher of John Zelle's intro to programming college and/or
> >high school text, invited me to Willamette University last Friday to
observe
> >(and contribute to) a presentation on Python for the CS track.
> >
> >The audience consisted of CS teachers from around the northwest region.
A
> >prof from Idaho (Lewis-Clark College) shared her PowerPoint about Python.
> >She'd taught many languages over the years, and had done the Scheme
> >intensive at Rice.  However, after taking Zelle's workshop, she was
> >persuaded to go with Python and she's never looked back.
> >
> >
> This is a consistent comment from those who have tried Python in CS1.
> Once they try it, they would never go back to Java, C++, or whatever.
>
> >Retention (keeping would-be CS majors from dropping out) is now less of a
> >problem (students enjoy programming more), and those taking her course to
> >fulfill requirements of another major (e.g. science, math, engineering)
come
> >away more satisfied and equipped to move forward.
> >
> >
> >
> Again, consistent with our experience here.
>
> >One thing I learned during the presentation was that accreditation in
some
> >curricula requires at least 3 years with a specific language (?).  A prof
> >from Texas said the only reason they were still using Java is that
Zelle's
> >text didn't span a full three years.
> >
> >
> >
> I don't understand this comment. I am familiar with the ABET CSAB  CS
> accreditation criteria and the ACM model curriculum, and I cannot find
> anything anywhere that even hints at the need for a three course
> sequence all in the same language. The CSAB criteria state: "Students
> must be exposed to a variety of programming languages and systems and
> must become proficient in at least one higher-level language." Perhaps
> some people equate "proficiency" with a three course sequence, but that
> is not explicitly stated anywhere that I can find. For a complex
> language like C++, proficiency might require that much study, for Python
> one to two courses is sufficient.
>
> >Jim was a little surprised at this implied market, as his assumption has
> >been "use Python as an intro, then switch to a statically typed system
> >language for balance."  I agree that more than one language, including
> >exposure to compiled, statically typed languages, should be a part of any
CS
> >sequence.
> >
> >
> >
> We are looking at various models for CS1, CS2 and subsequent classes. I
> can see a case for doing the first two courses explicitly in Python or
> for switching to C++ or Java somewhere in CS2. I see no reason at all
> for a full three course sequence in a single language. Studying multiple
> languages helps students learn what is universal to computation and what
> is just syntax.
>
> >In any case, it was a productive presentation, with Jim giving a free
copy
> >of Zelle's text to everyone present.  A few of the profs in the audience
> >were already using Python and spoke highly of it.  I fielded a few
questions
> >from the sidelines, mostly relating to graphics.
> >
> >One guy objected that Python might be fine for production programming,
but
> >in the academic context, having procedural, functional and
object-oriented
> >paradigms all mixed together lacked rigor.  I assured people that the
> >object-oriented paradigm (everything is an object) could be taken as a
base
> >paradigm, with the others developed on top of it (even in procedural
code,
> >the prevalence of dot notation speaks to the omnipresence of objects).
> >
> >
> >
> This is a hoot. Now Python is getting flack for being a production
> language, but not academic enough? For years, I've had to fight the
> opposite argument. I appreciate your being able to provide a good answer
> here. Clearly Python is designed from the gound up to be an OO language.
> The fact that you can also illustrate other styles is a plus! That is
> also one of the strengths of a language like Scheme or Lisp--that it can
> illustrate multiple paradigms. I've never heard anyone complain that
> Scheme isn't "academically rigorous." :-)
>
> >The presenter transitions to C++ in the second year.  She said that
whereas
> >starting with C++ or even Java tended to promote burnout, once students
had
> >done Python for a year, C++ was no longer all that difficult -- annoying,
> >yes, but not that difficult.
> >
> >
> Ditto our experience with Java in CS2.
>
> >The other thing:  I'm developing a "numeracy text" which demonstrates how
> >I'd like to see things weaving together in the early years (this text
might
> >start to be relevant in 8th grade or so -- depends on the kid obviously).
> >
> >Python is incorporated.  I've written six chapters.  A notable "omission"
is
> >that I'm always referring to off stage computer games and simulations
that
> >don't actually exist yet (or do, but I'm not providing them).  This is a
way
> >of enlisting the reader's imagination, and a collaboration strategy -- 
more
> >than one implementation of any exercise might be offered.
> >
> >Feedback welcome:
> >http://www.4dsolutions.net/ocn/numeracy101.pdf -- I'll be adding more
text,
> >improving existing text, as time permits.
> >
> >
> >
> Keep up the good work, Kirby!
>
>
>
>
> ------------------------------
>
> Message: 4
> Date: Thu, 14 Oct 2004 16:19:41 -0400
> From: ajsiegel at optonline.net
> Subject: Re: [Edu-sig] Developments on the Urner front
> To: Kirby Urner <urnerk at qwest.net>
> Cc: edu-sig at python.org
> Message-ID: <14722ea1472ab8.1472ab814722ea at optonline.net>
> Content-Type: text/plain; charset=us-ascii
>
>
>
> ----- Original Message -----
> From: Kirby Urner <urnerk at qwest.net>
> Date: Thursday, October 14, 2004 1:14 pm
> Subject: [Edu-sig] Developments on the Urner front
>
> >> The other thing:  I'm developing a "numeracy text" which
> > demonstrates how
> > I'd like to see things weaving together in the early years (this
> > text might
> > start to be relevant in 8th grade or so -- depends on the kid
> > obviously).
> >
>
> I haven't read through it all, but initial impression is a wish that you
might generalize a bit more. That is, de-emphasize "numbers", without
de-emphasing mathematics. I think the concept that numbers are one, but only
one, manifestestion of mathematical ideas/truths is something that should be
communicated earlier, and more clearly. And that computers are important,
both in making the manipulation of numbers trivial, and facilitating an
approach that allows folks to understand that math is not numbers, and
numbers is not math.
>
> It was only when I was able to decouple (in my mind) mathematics from
numbers that math became truly interesting to me.
>
> I also think that this approach allows a more natural utilization of
computer graphic capacities to enliven an approach to mathematics.
>
> Like all of us, I try to envision what might have best reached me when I
was of the age that you are trying to reach. And rely on a sense that there
is nothing particularly unusual about my own particular sensibilities in
these matters.
>
> Art
>
>
>
>
>
> ------------------------------
>
> Message: 5
> Date: Thu, 14 Oct 2004 21:53:36 -0300
> From: Rodrigo Dias Arruda Senra <rsenra at acm.org>
> Subject: Re: [Edu-sig] Developments on the Urner front
> To: edu-sig at python.org
> Message-ID: <20041014215336.729f9943 at Goku>
> Content-Type: text/plain; charset=US-ASCII
>
>  [ John Zelle <john.zelle at wartburg.edu> ]
>  -----------------------------------------------
>  | We are looking at various models for CS1, CS2 and subsequent classes. I
>  | can see a case for doing the first two courses explicitly in Python or
>  | for switching to C++ or Java somewhere in CS2. I see no reason at all
>  | for a full three course sequence in a single language. Studying
multiple
>  | languages helps students learn what is universal to computation and
what
>  | is just syntax.
>
>  Indeed. Moreover, Python's affinity with other languages (C,Java and
Object
>  Pascal) makes that multi-language path easy to follow.
>
>  I used to have the following problems teaching an undergraduate course in
>  Data Structures (just linked lists and binary trees):
>
>   - many students delved into implementing the data structure before
acquiring
>     the  experience of using such data structures
>
>   - after implementing the data structure, many students did not tested it
>     properly before delivering the project
>
>  My approach was to use Python in the introductory course, then move to C
>  in the following courses. Python gave them the experience of using lists
>  and dictionaries before having to implement those. Moreover, the
>  data structure projects became python modules, making automated
correction
>  a breeze.
>
>
>  cheers,
>  Senra
>
>
> -- 
>    ,_
>    | )          Rodrigo Senra       <rsenra |at| acm.org>
>    |(______     -----------------------------------------------
>  _(    (|__|]   GPr Sistemas http://www.gpr.com.br
> _ |    (|___|]  IC - Unicamp http://www.ic.unicamp.br/~921234
> ___    (|__|]
>    L___(|_|]    -----------------------------------------------
>
>
> ------------------------------
>
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>
>
> End of Edu-sig Digest, Vol 15, Issue 4
> **************************************
>



More information about the Edu-sig mailing list