Edu-sig page advice to teachers

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Edu-sig page advice to teachers

kirby urner-4
Current verbiage:

"""
As a result of the changes, programs written for Python 2 are likely
to be incompatible with Python 3 (and vice-versa). Since both versions
are going to co-exist for a while, a choice has to be made as to which
one to use. As a very subjective opinion, we would like to offer the
following:

    * Consider the possibility of teaching both Python 2 and 3. If you
are teaching beginners, the only significant differences are the print
statement/function and the integer division [and possibly the
input()/raw_input() changes...] which you can point out as you go
along. Of course, you will have to decide on a common version to
install for everyone to use; to decide which one, or if you really
want to focus on teaching only one version, we suggest that you
consider the other two alternatives.
    * Teach Python 3 if you only plan to teach Python as an
introductory language (say in a CS-1 course), making use only of
modules included in the standard distribution. Alternatively, if you
teach Python in languages other than English, where non-ascii
characters could be put to good use in writing identifiers, then
Python 3 should definitely be your choice.
    * Teach Python 2 if you think you might be using third-party
modules not included in the standard Python distribution, or if you
are not familiar with Python. You may want to consider teaching Python
using the older version (2.6 is the most current release) until more
third-party modules have been ported to the new Python version, and
more tutorials for the new version are available.
"""

I'm wondering if this should be fine tuned to more explicitly
encourage 2.6 and above if doing Python 2 (because of
3rd party dependencies), 3.x in all other cases.

Why?

Because in 2.6 (and 2.7) we've got the new core Python format
specifiers (PEP 3101) plus have the potential to import the
Python 3.x print function from  __future__.

Of course it's up to individual teachers to make their own
determination.  The edu-sig page is not about dictating
anything, simply making recommendations.

However, shouldn't the bias be to encourage using 3.x?
Lots of tutorials out there by this time.

3.x also tends to return iterators in a lot of places where
2.x returned a list, e.g. in the case of zip, range etc. --
lots of subtle differences that are quite pervasive
nonetheless.

If you are "not familiar with Python" (bullet point 3), then
isn't 3.x is your better bet?

It's easier to think of strings as just unicode codepoints
(u-this and u-that) with their byte encodings a separate
data type.  Having students get it about unicode is pretty
important in this day and age, no?

Anyway, just ruminating.  People get their advice from
a million sources.

An appropriate topic for discussion though.  What 3rd
party libraries would break?  I'm big into VPython, so right
off the bat I'm facing such issues.  Anyone else using that
or am I the only one?

Kirby

--
>>> from mars import math
http://www.wikieducator.org/Digital_Math
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Edu-sig page advice to teachers

Vern Ceder
kirby urner wrote:
> I'm wondering if this should be fine tuned to more explicitly
> encourage 2.6 and above if doing Python 2 (because of
> 3rd party dependencies), 3.x in all other cases.

+1

> An appropriate topic for discussion though.  What 3rd
> party libraries would break?  I'm big into VPython, so right
> off the bat I'm facing such issues.  Anyone else using that
> or am I the only one?

Not using VPython much, other than for an occasional gee-whiz demo ;).
Personally, the fact that PyGame's support is still incomplete might be
a problem for my more advanced classes - I haven't checked to see if
there's a big problem there. Thanks to the turtle library my low level
kids would be fine.

Of course the main thing that would break would be existing lessons and
instructional handouts...

Cheers,
Vern

--
This time for sure!
    -Bullwinkle J. Moose
-----------------------------
Vern Ceder, Director of Technology
Canterbury School, 3210 Smith Road, Ft Wayne, IN 46804
[hidden email]; 260-436-0746; FAX: 260-436-5137
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Edu-sig page advice to teachers

kirby urner-4
On Mon, Jan 11, 2010 at 5:42 AM, Vern Ceder <[hidden email]> wrote:
> kirby urner wrote:
>>
>> I'm wondering if this should be fine tuned to more explicitly
>> encourage 2.6 and above if doing Python 2 (because of
>> 3rd party dependencies), 3.x in all other cases.
>
> +1
>

2.6 has the new format specifiers.  I think that's important.

>> An appropriate topic for discussion though.  What 3rd
>> party libraries would break?  I'm big into VPython, so right
>> off the bat I'm facing such issues.  Anyone else using that
>> or am I the only one?
>
> Not using VPython much, other than for an occasional gee-whiz demo ;).
> Personally, the fact that PyGame's support is still incomplete might be a
> problem for my more advanced classes - I haven't checked to see if there's a
> big problem there. Thanks to the turtle library my low level kids would be
> fine.
>

VPython has moved to 2.6 on Windows, which is the platform I've
used in the math labs at Portland State etc.

"For Linux, simply use Boost 1.41 to build Visual."

Heh, that makes it sound easy.

Having haunted these various lists and conferences for
awhile, it's my impression that VPython is still not on most
radars.

The scenario I've pushed (sometimes practice):
spatial geometry in a Python-endowed math class, is
still esoteric, avant-garde.  Not sure anyone is doing
it.

> Of course the main thing that would break would be existing lessons and
> instructional handouts...
>
> Cheers,
> Vern
>

Yes, but that's always happening in our fast-moving
technological world.  Always gotta redo those handouts.
A teacher's work is never done (think job security).

If you come across a poster featuring VPython, maybe
let us know?  Always on the lookout.  Turtle graphics,
way cool too.

Kirby

> --
> This time for sure!
>   -Bullwinkle J. Moose
> -----------------------------
> Vern Ceder, Director of Technology
> Canterbury School, 3210 Smith Road, Ft Wayne, IN 46804
> [hidden email]; 260-436-0746; FAX: 260-436-5137
>



--
>>> from mars import math
http://www.wikieducator.org/Digital_Math
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Edu-sig page advice to teachers

kirby urner-4
[ thread moved to edu-sig ]

> On Tue, Jan 12, 2010 at 4:37 AM, Maria Droujkova <[hidden email]> wrote:

>> Some of my kids are about to start using Python for our Physics and
>> Modeling, up from Scratch. I am scared to death and still have not selected
>> a version for them. All of them run Windows and Mac OS.
>>
>> Cheers,
>> Maria Droujkova
>> http://www.naturalmath.com
>>
>> Make math your own, to make your own math.
>>
>
> Hi Maria --
>
> I am wondering what Physics and Modeling is like.  From a programming
> point of view, I imagine a clock or time increment is usually
> involved, which means a loop of some kind.  As time ticks by, this or
> that happens to objects.
>
> Here's a somewhat generic way of thinking about "objects in time":
>
> http://www.4dsolutions.net/ocn/alien.html  (meant to be user-friendly
> and conversational, against the backdrop of ongoing arguments on a
> math teacher list -- I think you know the one).
>
> As to which version of Python, a lot depends on if students want to
> use something extra besides bare Python.  If not, then 3.1 and above.
>
> Your students seem rather young in this picture, if just moving from Scratch?
>
> It would be interesting to get some more details if you have the time
> to spare.  And fear not, you will find much that is fun and rewarding
> in this next chapter.
>
> Kirby
>
> PS:  I notice Carl Trachte is beginning to explore the new format
> specifiers in his first two blog posts of 2010:
> http://pyright.blogspot.com/
>
> Note that in 2.6 one has the ability to go:  from __future__ import
> print_function
>
> Plus it runs everything 2.5 and below.  That's why I suggest the
> edu-sig web page make 2.6 something like the earliest Python you'd
> want to use for educational purposes.  That'd be generic advice
> suitable for Python.org web site.  Of course teachers on the front
> lines will have their own reasons for doing what they do.
>
>>
>>
>>>
>>> The scenario I've pushed (sometimes practice):
>>> spatial geometry in a Python-endowed math class, is
>>> still esoteric, avant-garde.  Not sure anyone is doing
>>> it.
>>>
>>
>
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Edu-sig page advice to teachers

Ruzycki, Nancy J
Kirby, and Maria-

We use scratch and also python for physics programming, and the choice is based not on youth, but on ease of computing.  In scratch, it is easier for the students to "see" the parts of the program they can use to create a program, whereas in python, a student has to have some programming background, or a good teaching template. In mu class, we only have about a week every 10 weeks or so to program.  

Scratch can be used to create some fairly complicated programs including kinematics (1D and 2D) and vector analysis.  Examples of what we do are programming an object to accelerate and stamping as it goes to create a type of motion map, having objects fall with the correct acceleration of gravity. Throwing objects (up or down) and stamping realistic falls.  Racing cars with different accelerations, etc.  You can also do nice circular motion mapping.  

I tried to step up to python programming for 1-d motion and it was not as successful a visualization tool as in Scratch. Maybe using Turtle would have been better. The project becomes more about the programming than about the physics concepts. In scratch, owing to ease of use, the physics concepts are more easily visualized.  

If my class were more advanced computationally, or we had a course in mathematical programming, then I think the python would be really nice. My students are low income, urban public school students, and any exposure to programming including scratch is an epiphany for them.  

Nancy Ruzycki


-----Original Message-----
From: edu-sig-bounces+njruzycki=[hidden email] on behalf of kirby urner
Sent: Tue 1/12/2010 7:59 PM
To: [hidden email]
Subject: Re: [Edu-sig] Edu-sig page advice to teachers
 
[ thread moved to edu-sig ]

> On Tue, Jan 12, 2010 at 4:37 AM, Maria Droujkova <[hidden email]> wrote:

>> Some of my kids are about to start using Python for our Physics and
>> Modeling, up from Scratch. I am scared to death and still have not selected
>> a version for them. All of them run Windows and Mac OS.
>>
>> Cheers,
>> Maria Droujkova
>> http://www.naturalmath.com
>>
>> Make math your own, to make your own math.
>>
>
> Hi Maria --
>
> I am wondering what Physics and Modeling is like.  From a programming
> point of view, I imagine a clock or time increment is usually
> involved, which means a loop of some kind.  As time ticks by, this or
> that happens to objects.
>
> Here's a somewhat generic way of thinking about "objects in time":
>
> http://www.4dsolutions.net/ocn/alien.html  (meant to be user-friendly
> and conversational, against the backdrop of ongoing arguments on a
> math teacher list -- I think you know the one).
>
> As to which version of Python, a lot depends on if students want to
> use something extra besides bare Python.  If not, then 3.1 and above.
>
> Your students seem rather young in this picture, if just moving from Scratch?
>
> It would be interesting to get some more details if you have the time
> to spare.  And fear not, you will find much that is fun and rewarding
> in this next chapter.
>
> Kirby
>
> PS:  I notice Carl Trachte is beginning to explore the new format
> specifiers in his first two blog posts of 2010:
> http://pyright.blogspot.com/
>
> Note that in 2.6 one has the ability to go:  from __future__ import
> print_function
>
> Plus it runs everything 2.5 and below.  That's why I suggest the
> edu-sig web page make 2.6 something like the earliest Python you'd
> want to use for educational purposes.  That'd be generic advice
> suitable for Python.org web site.  Of course teachers on the front
> lines will have their own reasons for doing what they do.
>
>>
>>
>>>
>>> The scenario I've pushed (sometimes practice):
>>> spatial geometry in a Python-endowed math class, is
>>> still esoteric, avant-garde.  Not sure anyone is doing
>>> it.
>>>
>>
>
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig

_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Edu-sig page advice to teachers

Mokurai
In reply to this post by kirby urner-4
On Mon, Jan 11, 2010 at 18:12, kirby urner <[hidden email]> wrote:
> On Mon, Jan 11, 2010 at 5:42 AM, Vern Ceder <[hidden email]> wrote:

>> Of course the main thing that would break would be existing lessons and
>> instructional handouts...
>>
>> Cheers,
>> Vern
>>
>
> Yes, but that's always happening in our fast-moving
> technological world.  Always gotta redo those handouts.
> A teacher's work is never done (think job security).

How about assigning the handout updates as homework to the class above
where students are supposed to know both versions? I'm in favor of
giving students homework with real-world results, not just do, mark,
throw away makework.

> Kirby
>
>> --
>> This time for sure!
>>   -Bullwinkle J. Moose
>> -----------------------------
>> Vern Ceder, Director of Technology
>> Canterbury School, 3210 Smith Road, Ft Wayne, IN 46804
>> [hidden email]; 260-436-0746; FAX: 260-436-5137
>
> --
>>>> from mars import math
> http://www.wikieducator.org/Digital_Math
> _______________________________________________
> Edu-sig mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/edu-sig

--
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Edu-sig page advice to teachers

André Roberge
In reply to this post by kirby urner-4

Hi everyone,

I have added links to  Charles Severance's book and to Fotis Georgatos's MSc thesis on the edu-sig page.

I have also tried to take into account the following comment (and ensuing discussion):

On Thu, Jan 7, 2010 at 9:18 PM, kirby urner <[hidden email]> wrote:
Current verbiage:

"""
As a result of the changes, programs written for Python 2 are likely
to be incompatible with Python 3 (and vice-versa). Since both versions
are going to co-exist for a while, a choice has to be made as to which
one to use. As a very subjective opinion, we would like to offer the
following:

   * Consider the possibility of teaching both Python 2 and 3. If you
are teaching beginners, the only significant differences are the print
statement/function and the integer division [and possibly the
input()/raw_input() changes...] which you can point out as you go
along. Of course, you will have to decide on a common version to
install for everyone to use; to decide which one, or if you really
want to focus on teaching only one version, we suggest that you
consider the other two alternatives.
   * Teach Python 3 if you only plan to teach Python as an
introductory language (say in a CS-1 course), making use only of
modules included in the standard distribution. Alternatively, if you
teach Python in languages other than English, where non-ascii
characters could be put to good use in writing identifiers, then
Python 3 should definitely be your choice.
   * Teach Python 2 if you think you might be using third-party
modules not included in the standard Python distribution, or if you
are not familiar with Python. You may want to consider teaching Python
using the older version (2.6 is the most current release) until more
third-party modules have been ported to the new Python version, and
more tutorials for the new version are available.
"""

I'm wondering if this should be fine tuned to more explicitly
encourage 2.6 and above if doing Python 2 (because of
3rd party dependencies), 3.x in all other cases.


[snip]

Ok, here's the revised version  (please feel free to suggest changes):

As a result of the changes, programs written for Python 2 are likely to be incompatible with Python 3 (and vice-versa). Some of you may have not control over which Python version is made available to the students. If that is the case, you should not despair too much if you and your students do not have access to the best/latest version of Python: Python is a fantastic choice as a first language and the relatively minor changes between versions do not change this fact.

If you have some control over which version of Python is made available to the students, then you have a choice to make. In this case, and as a very subjective opinion, we would like to offer the following:

  • Use Python 2, and more specifically version 2.6, if you think you might be using third-party modules not included in the standard Python distribution, or if you are not familiar with Python (in which case you may not yet realise that you might need some third-party modules.)
  • Use Python 3, and more specifically version 3.1, if you only plan to teach Python as an introductory language (say in a CS-1 course), making use only of modules included in the standard distribution. Alternatively, if you teach Python in languages other than English, where non-ascii characters could be put to good use in writing identifiers, then Python 3 should definitely be your choice.
  • Consider the possibility of teaching both Python 2 and 3. If you are teaching beginners, the only significant differences are the print statement/function, the integer division and possibly the input()/raw_input() changes... which you can point out as you go along. Of course, you will have to decide on a common version to install for everyone to use.
 

An appropriate topic for discussion though.  What 3rd
party libraries would break?

wxPython is one of them.  Since rur-ple uses it, I am keenly aware of that one.

I understand that BeautifulSoup for Python 3.1 is (currently) not as "beautiful"  (read: forgiving for poorly formed html) as the version available for Python 2.x. 

For those that would introduce Python in a math/natural science context, I believe that numpy has not been ported yet.

etc....

Cheers,

André


 I'm big into VPython, so right
off the bat I'm facing such issues.  Anyone else using that
or am I the only one?

Kirby

--
>>> from mars import math
http://www.wikieducator.org/Digital_Math
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig



_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Edu-sig page advice to teachers

kirby urner-4
On Wed, Jan 13, 2010 at 3:03 PM, Andre Roberge <[hidden email]> wrote:

>
> Ok, here's the revised version  (please feel free to suggest changes):
>

I think your new verbiage is well crafted.  I understand what you mean about
why people unfamiliar with Python might want to start with 2.6 / 2.x, because
they're more likely to not know what dependencies they might get into, and
currently, in 2010, more of the add-ons are using 2.x syntax.  Actually I don't
have any hard numbers, just having that sense.  Visual Python (Vpython),
which I often talk about, is 2.6.  Pygame is what again?  Can't find the server
right now.

Please accept my personal thanks for your taking some time to work on this
page.  I expect it will need additional fine tuning with the passage of time,
simply because the migration from 2.x to 3.x will have progressed to such a
point, that our advice will be different.  However, your suggestion
that learning
them both, having a sense of the differences, could be an option, is quite
insightful.

Why I would be especially a fan of your idea (to teach both) is that it accesses
the "lore" dimension, meaning we get to tell the history.  This is
important because
Pythons in particular shed skin.  Going from 2.x to 3.x was proof of Python's
true snakishness.  More to the point, in learning about "how print became a
function" or how "the division model changed" or "more returns were iterables"
one becomes more aware of language features.  You need contrast to learn
anything.  Comparing across languages is the usual thing, but going back to
2.x in Python's case is not a bad idea either.

Kirby

> As a result of the changes, programs written for Python 2 are likely to be
> incompatible with Python 3 (and vice-versa). Some of you may have not
> control over which Python version is made available to the students. If that
> is the case, you should not despair too much if you and your students do not
> have access to the best/latest version of Python: Python is a fantastic
> choice as a first language and the relatively minor changes between versions
> do not change this fact.
>
> If you have some control over which version of Python is made available to
> the students, then you have a choice to make. In this case, and as a very
> subjective opinion, we would like to offer the following:
>
> Use Python 2, and more specifically version 2.6, if you think you might be
> using third-party modules not included in the standard Python distribution,
> or if you are not familiar with Python (in which case you may not yet
> realise that you might need some third-party modules.)
> Use Python 3, and more specifically version 3.1, if you only plan to teach
> Python as an introductory language (say in a CS-1 course), making use only
> of modules included in the standard distribution. Alternatively, if you
> teach Python in languages other than English, where non-ascii characters
> could be put to good use in writing identifiers, then Python 3 should
> definitely be your choice.
> Consider the possibility of teaching both Python 2 and 3. If you are
> teaching beginners, the only significant differences are the print
> statement/function, the integer division and possibly the
> input()/raw_input() changes... which you can point out as you go along. Of
> course, you will have to decide on a common version to install for everyone
> to use.
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig