I'm teaching some prospective K-12 teachers this summer and propose to introduce them to Python. Reasons are numerous - It's the least weird language I know. - It offers so many programming styles. - And not least, it's free SO: Any recommendations as to course textbooks? Or just go with Zelle and/or O'Reilly's latest wood rat book? - The students presumably have had programming courses already. - I would think that K-12 students would be happier if they could generate some graphics. - This is a 6-weeks course. Little leisure time. Appreciate any advice. Peter Chase Sul Ross State University
On 2/24/06, Peter Chase <pchase@sulross.edu> wrote:
I'm teaching some prospective K-12 teachers this summer and propose to introduce them to Python.
peter, i've been teaching programming to people (kids, adults, everywhere in between) for 24 years now. when i learned python back in 1997, i didn't find a good enough book meant to LEARN *and* TEACH Python with. so.... i wrote my own: Core Python. Prentice Hall/Pearson published by book in 2001... http://corepython.com it's the best book for teaching, and it's not just because i'm a programmer and the author, but more importantly, a technical trainer. there are more exercises (easy, hard, everywhere in between) in Core Python that in all other Python books combined. it is targeted towards secondary schools, universities, and vocational and professional continuing education institutations. i'm currently working on a 2nd edition of the book, to be released late summer, somewhat too late for you, but the 1st edition is still around (but out-of-print), and the material is still relevant and not obsolete, even if it came out in the 2.0 timeframe. one weakness that i would like to address in future editions is to have more of the fun, graphics stuff that i've seen recently. it would be a great addition for those like yourself considering it for the younger crowd. if you're interested in it, let me know, and if you would like to review the 2nd ed or *be* a reviewer for 2nd ed, let me know, and i'll put you in touch with the folks from Prentice Hall. cheers, -- wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall, (c)2006,2001 http://corepython.com wesley.j.chun :: wescpy-at-gmail.com cyberweb.consulting : silicon valley, ca http://cyberwebconsulting.com
On 2/24/06, Peter Chase <pchase@sulross.edu> wrote:
I'm teaching some prospective K-12 teachers this summer and propose to introduce them to Python. Reasons are numerous - It's the least weird language I know. - It offers so many programming styles. - And not least, it's free
SO: Any recommendations as to course textbooks? Or just go with Zelle and/or O'Reilly's latest wood rat book? - The students presumably have had programming courses already.
- I would think that K-12 students would be happier if they could generate some graphics. - This is a 6-weeks course. Little leisure time.
I imagine that the final goal is to leave them with tools that they can use to teach Python themselves. I would suggest looking at two different approaches, possibly including them both: 1) http://www.livewires.org.uk/python/. 2) either gvr.sourceforge.net or rur-ple.sourceforge.net gvr (Guido van Robot) is the more mature of the two ... but is not really Python (although it is a good introduction that leads to Python programming). rur-ple is an introduction to Python programming. It is still in development and will eventually include an introduction to graphics programming (in the context of simple games); this may not be included by the beginning of this summer though. It has more teaching material included than GvR - but has not been as thoroughly tested. All of the above are free to use. André
Appreciate any advice.
Peter Chase Sul Ross State University
_______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
Peter Chase wrote:
I'm teaching some prospective K-12 teachers this summer and propose to introduce them to Python.... SO: Any recommendations as to course textbooks? Or just go with Zelle and/or O'Reilly's latest wood rat book? - The students presumably have had programming courses already. - I would think that K-12 students would be happier if they could generate some graphics. - This is a 6-weeks course. Little leisure time.
For the weirdest suggestion you'll get, at least take a look at Ruth Chabay & Bruce Sherwood's book, "Matter and Interactions" http://www4.ncsu.edu/~rwchabay/mi They teach both physics and "enough" programming to do 3-d programming on the way to teaching physics. You might be able to make a short course out of the "how to program" part of the books. --Scott David Daniels Scott.Daniels@Acm.Org
You may want to teach J first, in addition, or instead. http://www.jsoftware.com/ Also FREE. J is the creation of Turing Award winner Ken Iverson and his colleague Roger Hui. "J is a modern, high-level, general-purpose, high-performance programming language. J is portable and runs on Windows, Unix, Mac, and PocketPC handhelds, both as a GUI and in a console. True 64-bit J systems are available for XP64 or Linux64, on AMD64 or Intel EM64T platforms. J systems can be installed and distributed for free." Examples: 5 + 5 10 ADD =. + 5 ADD 5 10 +/ 3 4 5 8 12 45 77 ADDtheseNumbers =. +/ ADDtheseNumbers 3 4 5 8 12 45 77 2 + 5 6 7 7 8 9 i. 6 0 1 2 3 4 5 power =: ^ x power 2 x =. 3 4 5 6 x power 2 9 16 25 36 2 power x 8 16 32 64 J comes with many tutorial labs as part of the IDE. J processes vectors and arrays with ease. J forums have many J'ers willing to guide. regards, gerry "If your only tool is a hammer, all of your problems tend to look like nails". (author unknown) ----- Original Message ----- From: "Peter Chase" <pchase@sulross.edu> To: <edu-sig@python.org> Sent: Friday, February 24, 2006 3:29 PM Subject: [Edu-sig] Textbooks I'm teaching some prospective K-12 teachers this summer and propose to introduce them to Python. Reasons are numerous - It's the least weird language I know. - It offers so many programming styles. - And not least, it's free SO: Any recommendations as to course textbooks? Or just go with Zelle and/or O'Reilly's latest wood rat book? - The students presumably have had programming courses already. - I would think that K-12 students would be happier if they could generate some graphics. - This is a 6-weeks course. Little leisure time. Appreciate any advice. Peter Chase Sul Ross State University _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
On 2/24/06, gerry_lowry{905~825'9582}abilityBusinessComputerServices <gerry.lowry@abilitybusinesscomputerservices.com> wrote:
You may want to teach J first, in addition, or instead. http://www.jsoftware.com/
Also FREE. J is the creation of Turing Award winner Ken Iverson and his colleague Roger Hui.
Is it only me that finds this post "offensive". This is a mailing list about using Python in education. The original poster asked for resources to teach Python to teachers. (Granted, I provided one reference [out of 3] to GvR which is not *quite* Python ... but is considered by many to be very close). André
regards, gerry
"If your only tool is a hammer, all of your problems tend to look like nails". (author unknown)
Andre ... before you take offense, you might want to ask Kirby his opinion of J. g. From: "Andre Roberge" <andre.roberge@gmail.com> Cc: <edu-sig@python.org> Sent: Friday, February 24, 2006 7:47 PM <gerry.lowry@abilitybusinesscomputerservices.com> wrote:
You may want to teach J first, in addition, or instead. http://www.jsoftware.com/
Also FREE. J is the creation of Turing Award winner Ken Iverson and his colleague Roger Hui.
Is it only me that finds this post "offensive". This is a mailing list about using Python in education. The original poster asked for resources to teach Python to teachers. (Granted, I provided one reference [out of 3] to GvR which is not *quite* Python ... but is considered by many to be very close). André
regards, gerry
"If your only tool is a hammer, all of your problems tend to look like nails". (author unknown)
J is a reincarnation of Iverson's APL, an array processing language (witness the example below). It has its nice features, but is off topic for this list. Friday, February 24, 2006, 5:00:29 PM, you wrote: g99a> You may want to teach J first, in addition, or instead. http://www.jsoftware.com/ g99a> Also FREE. J is the creation of Turing Award winner Ken g99a> Iverson and his colleague Roger Hui. g99a> "J is a modern, high-level, general-purpose, high-performance g99a> programming language. J is portable and runs on Windows, Unix, Mac, g99a> and PocketPC handhelds, both as a GUI and in a console. True g99a> 64-bit J systems are available for XP64 or Linux64, on AMD64 or Intel g99a> EM64T platforms. J systems can be installed and distributed for free." g99a> Examples: g99a> 5 + 5 g99a> 10 g99a> ADD =. + g99a> 5 ADD 5 g99a> 10 g99a> +/ 3 4 5 8 12 45 g99a> 77 g99a> ADDtheseNumbers =. +/ g99a> ADDtheseNumbers 3 4 5 8 12 45 g99a> 77 g99a> 2 + 5 6 7 g99a> 7 8 9 g99a> i. 6 g99a> 0 1 2 3 4 5 g99a> power =: ^ g99a> x power 2 g99a> x =. 3 4 5 6 g99a> x power 2 g99a> 9 16 25 36 g99a> 2 power x g99a> 8 16 32 64 g99a> J comes with many tutorial labs as part of the IDE. g99a> J processes vectors and arrays with ease. g99a> J forums have many J'ers willing to guide. g99a> regards, g99a> gerry g99a> "If your only tool is a hammer, all of your problems tend to g99a> look like nails". (author unknown) g99a> ----- Original Message ----- g99a> From: "Peter Chase" <pchase@sulross.edu> g99a> To: <edu-sig@python.org> g99a> Sent: Friday, February 24, 2006 3:29 PM g99a> Subject: [Edu-sig] Textbooks g99a> I'm teaching some prospective K-12 teachers this summer and propose to g99a> introduce them to Python. Reasons are numerous g99a> - It's the least weird language I know. g99a> - It offers so many programming styles. g99a> - And not least, it's free g99a> SO: Any recommendations as to course textbooks? Or just go with Zelle g99a> and/or O'Reilly's latest wood rat book? g99a> - The students presumably have had programming courses already. g99a> - I would think that K-12 students would be happier if they could g99a> generate some graphics. g99a> - This is a 6-weeks course. Little leisure time. g99a> Appreciate any advice. g99a> Peter Chase g99a> Sul Ross State University g99a> _______________________________________________ g99a> Edu-sig mailing list g99a> Edu-sig@python.org g99a> http://mail.python.org/mailman/listinfo/edu-sig g99a> _______________________________________________ g99a> Edu-sig mailing list g99a> Edu-sig@python.org g99a> http://mail.python.org/mailman/listinfo/edu-sig -- Best regards, Chuck
Yeah J is fun. If Python is the least weird, J is maybe the most weird language I know ("know"). J is one of those languages that rewards cleverness -- the kind of cleverness that leaves other coders in the dust sometimes (or oneself, when feeling less inspired). I've got some writings on it linked from my CP4E page: http://www.4dsolutions.net/ocn/cp4e.html Kirby
Chuck, based on the relation of J to NumPy as expressed by Paul and the context of Peter's opening message of this thread, to which I originally replied, imho, my reply was on topic ... of course, biased am I. MORE INFORMATION ---------------- While this -sig is primarily about Python, it appears also to be about education. I have been learning about programming since 1967 and truly think the more programming languages to which one is exposed, the better programmer she/he will become. q.v.: "Ken's life was based on the importance of education and teaching" http://www.vector.org.uk/?area=kei&page=iverson regards, gerry "If your only tool is a hammer, all of your problems tend to look like nails". (author unknown) From: "Peter Chase" <pchase@sulross.edu> Sent: Friday, February 24, 2006 3:29 PM I'm teaching some prospective K-12 teachers this summer and propose to introduce them to Python. Reasons are numerous - It's the least weird language I know. - It offers so many programming styles. - And not least, it's free SO: Any recommendations as to course textbooks? Or just go with Zelle and/or O'Reilly's latest wood rat book? - The students presumably have had programming courses already. - I would think that K-12 students would be happier if they could generate some graphics. - This is a 6-weeks course. Little leisure time. Appreciate any advice. Peter Chase Sul Ross State University
The multidimensional array modules in their various incarnations, Numeric, Numarray and Numpy - with the Numpy being the latest and hopeful last - are based on J's array semantics and behaviour. So in some sense, you can teach J programming concepts by using Numpy. Have you you tried Numpy? -- Paul On 2/24/06, gerry_lowry{905~825'9582}abilityBusinessComputerServices < gerry.lowry@abilitybusinesscomputerservices.com> wrote:
You may want to teach J first, in addition, or instead. http://www.jsoftware.com/
Also FREE. J is the creation of Turing Award winner Ken Iverson and his colleague Roger Hui.
"J is a modern, high-level, general-purpose, high-performance programming language. J is portable and runs on Windows, Unix, Mac, and PocketPC handhelds, both as a GUI and in a console. True 64-bit J systems are available for XP64 or Linux64, on AMD64 or Intel EM64T platforms. J systems can be installed and distributed for free."
Examples:
5 + 5 10
ADD =. +
5 ADD 5 10
+/ 3 4 5 8 12 45 77
ADDtheseNumbers =. +/
ADDtheseNumbers 3 4 5 8 12 45 77
2 + 5 6 7 7 8 9
i. 6 0 1 2 3 4 5
power =: ^ x power 2
x =. 3 4 5 6 x power 2 9 16 25 36 2 power x 8 16 32 64
J comes with many tutorial labs as part of the IDE.
J processes vectors and arrays with ease.
J forums have many J'ers willing to guide.
Paul Barrett wrote:
The multidimensional array modules in their various incarnations, Numeric, Numarray and Numpy - with the Numpy being the latest and hopeful last - are based on J's array semantics and behaviour. So in some sense, you can teach J programming concepts by using Numpy.
Have you you tried Numpy?
I am glad to see the Numeric, NumArray, Numpy line mentioned in the context of Python and education. It is, was and has been essential for me in the learning experience I have undertaken with Python. No question that I would have passed Python by early in the game if it was not there. (JIm Huginin, late of IronPython (i.e. .Net Python started the processs, if I understand correctly) And I am routing for its eventual inclusion in the standard Python distribution. Art
-- Paul
On 2/24/06, *gerry_lowry{905~825'9582}abilityBusinessComputerServices* < gerry.lowry@abilitybusinesscomputerservices.com <mailto:gerry.lowry@abilitybusinesscomputerservices.com>> wrote:
You may want to teach J first, in addition, or instead. http://www.jsoftware.com/
Also FREE. J is the creation of Turing Award winner Ken Iverson and his colleague Roger Hui.
"J is a modern, high-level, general-purpose, high-performance programming language. J is portable and runs on Windows, Unix, Mac, and PocketPC handhelds, both as a GUI and in a console. True 64-bit J systems are available for XP64 or Linux64, on AMD64 or Intel EM64T platforms. J systems can be installed and distributed for free."
Examples:
5 + 5 10
ADD =. +
5 ADD 5 10
+/ 3 4 5 8 12 45 77
ADDtheseNumbers =. +/
ADDtheseNumbers 3 4 5 8 12 45 77
2 + 5 6 7 7 8 9
i. 6 0 1 2 3 4 5
power =: ^ x power 2
x =. 3 4 5 6 x power 2 9 16 25 36 2 power x 8 16 32 64
J comes with many tutorial labs as part of the IDE.
J processes vectors and arrays with ease.
J forums have many J'ers willing to guide.
------------------------------------------------------------------------
_______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
Paul, no, I have not tried NumPy (Numerical Extensions To Python). The only Python (yet to be read) book that I own is Andre Lessa's "Python Developer's Handbook", 2001, SAMS. Lessa mentions briefly (p. 15, last paragraph) NumPy and again later (pp. 364-367). Lessa shows not a line of NumPy on those pages, although he gives URL's. Lessa fails to mention the connection to J, perhaps for fear of frightening us away. Calling Java::Python "JPython" further dooms J to anonymity. I.e., it leads one to think of "J" as implying Java. Likewise, the Evil Empire's J++ and J# products. Kirby is correct about the ability to write really weird looking code in J. (I assume that is what is meant by "J is maybe the most weird language I know"). Paul, thank you ... NumPy is now on my list of future investigations. regards, gerry "If your only tool is a hammer, all of your problems tend to look like nails". (author unknown) From: "Paul Barrett" <pebarrett@gmail.com> Sent: Saturday, February 25, 2006 12:18 PM Subject: Re: [Edu-sig] Textbooks The multidimensional array modules in their various incarnations, Numeric, Numarray and Numpy - with the Numpy being the latest and hopeful last - are based on J's array semantics and behaviour. So in some sense, you can teach J programming concepts by using Numpy. Have you you tried Numpy?
GerryLowry1(905)825-9582{AbilityBusinessComputerServices} wrote:
Paul, no, I have not tried NumPy (Numerical Extensions To Python).
The only Python (yet to be read) book that I own is Andre Lessa's "Python Developer's Handbook", 2001, SAMS.
Lessa mentions briefly (p. 15, last paragraph) NumPy and again later (pp. 364-367). Lessa shows not a line of NumPy on those pages, although he gives URL's. Lessa fails to mention the connection to J, perhaps for fear of frightening us away.
I don't know the book, but it doesn't sound very oriented toward education. But I would say that there seems to be a strange consensus of irreconcilable positions in books that *are* educationally oriented - especially in those oriented toward younger people - that computer graphics are a good and primary way to introduce things, and that the mathematics is frightening and should be avoided. One thing, I think, to appreciate about J is that it would have no part of this. I have a J book which fully appreciates the fun and motivating force of creating graphics, mathematically. With the "mathematically" being to the essence. But I have personally found that there is in the Python world actually a more complete set of tools to use to explore this "space" of the connection between mathematics and graphics (we can call it "art" if we want) than is true in the J world. The Numeric /Numpy line central to almost all of them. In my little POV-ray story, I need to be able to take the 1 unit square polygon on the XY plane and orient it precisely to some distinct (but arbitrary) position in 3d space. There are no buttons to push to do so. Except for the matrix "button". Nobody could stop me from finding that button. To someone like myself, the connection between the art and the mathematics is the more interesting and educational part of the story - the computing language syntax, the less. Art Art
Calling Java::Python "JPython" further dooms J to anonymity. I.e., it leads one to think of "J" as implying Java. Likewise, the Evil Empire's J++ and J# products.
Kirby is correct about the ability to write really weird looking code in J. (I assume that is what is meant by "J is maybe the most weird language I know").
Paul, thank you ... NumPy is now on my list of future investigations.
regards, gerry "If your only tool is a hammer, all of your problems tend to look like nails". (author unknown)
From: "Paul Barrett" <pebarrett@gmail.com> Sent: Saturday, February 25, 2006 12:18 PM Subject: Re: [Edu-sig] Textbooks
The multidimensional array modules in their various incarnations, Numeric, Numarray and Numpy - with the Numpy being the latest and hopeful last - are based on J's array semantics and behaviour. So in some sense, you can teach J programming concepts by using Numpy.
Have you you tried Numpy?
_______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
Kirby is correct about the ability to write really weird looking code in J. (I assume that is what is meant by "J is maybe the most weird language I know").
E.g. http://www.4dsolutions.net/ocn/graphics/phistone.jpg Kirby
SO: Any recommendations as to course textbooks? Or just go with Zelle and/or O'Reilly's latest wood rat book? - The students presumably have had programming courses already. - I would think that K-12 students would be happier if they could generate some graphics. - This is a 6-weeks course. Little leisure time.
Appreciate any advice.
Peter Chase Sul Ross State University
I still like Zelle's best and includes some graphics (Tk-based, using his own graphics.py). Some of the online tutorials are quite worthwhile as well: http://diveintopython.org/ is freely downloadable. Or roll your own (that's what I've been doing). Another way to get graphics is to write scene description language (POV-Ray) or even VRML from Python. I've used this approach successfully, but only because I give students access to prewritten modules. Like, we might build our own vector class, with a module that already expects to use vectors. VPython is still more graphically exciting. If you're teaching people who're going to be in turn teaching Python, then I think the job is more to showcase what's possible, often in demo mode. Give a sense of the possibilities. Mastery of all these options needn't be the goal of the course. I'd focus on enough mastery of basic core Python to leave students with a sense of "hey, this ain't so hard, I could really be productive with this!" Kirby
kirby urner wrote:
SO: Any recommendations as to course textbooks? Or just go with Zelle and/or O'Reilly's latest wood rat book? - The students presumably have had programming courses already. - I would think that K-12 students would be happier if they could generate some graphics. - This is a 6-weeks course. Little leisure time.
Appreciate any advice.
Peter Chase Sul Ross State University
I still like Zelle's best and includes some graphics (Tk-based, using his own graphics.py).
Some of the online tutorials are quite worthwhile as well: http://diveintopython.org/ is freely downloadable.
Or roll your own (that's what I've been doing).
Another way to get graphics is to write scene description language (POV-Ray) or even VRML from Python. I've used this approach successfully, but only because I give students access to prewritten modules. Like, we might build our own vector class, with a module that already expects to use vectors.
VPython is still more graphically exciting.
My fun this week in some sense involved some synthesis of these approaches - having come to a "what is possible" revelation. PyGeo uses VPython for vector graphics, and exports to POV-Ray - producing a high quality "still" of what one is observing on the screen. Except that I hadn't been able to find a way to reliably reproduce a representation of a flat plane in POV-Ray that closely resembled the PyGeo plane - which is just a mesh of thin lines (the vpytbon curve object)- exported to POV-Ray the lines showed too much of their thickness, and the illusion of flatness, essential to a plane was lost. I realized what *does* work is a image map of a line mesh - with appropriate transparencies - applied to a flat polygon, scaled and oriented appropriately in POV-Ray. But PyGeo allows one to apply any color to a plane. I would lose that in POV-Ray if I used a particular image map, or even some collection of them. Ah-ha. I now have PIL creating a the image map - transparencies and all - on the fly. One can have an unlimited number of plane objects represented in an unlimited number of colors created in POV_Ray, pretty reliably representing what one is seeing in the on screen rendering. There is about 10 lines of easy to follow code involved. Too much fun. Art
participants (10)
-
Andre Roberge
-
Arthur
-
Chuck Allison
-
gerry_lowry{905~825'9582}abilityBusinessComputerServices
-
GerryLowry1(905)825-9582{AbilityBusinessComputerServices}
-
kirby urner
-
Paul Barrett
-
Peter Chase
-
Scott David Daniels
-
w chun