From mokurai at earthtreasury.org Fri Jul 1 05:03:59 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Thu, 30 Jun 2011 23:03:59 -0400 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: <1559946252.33901.1309389342602.JavaMail.root@sz0057a.emeryville.ca.mail.c omcast.net> References: <1559946252.33901.1309389342602.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> Message-ID: On Wed, June 29, 2011 7:15 pm, mary.dooms at comcast.net wrote: > > I teach 6th grade math and Python was suggested as a way to apply > pre-algebra concepts in a programming context. My programming background > consists of one C++ programming class. How do I begin? Python is one of several excellent options. Others are Logo, Smalltalk, and APL, all of which are available at no cost. I worked on a free APL for 8-bit computers before the Free Software movement got started, and I have friends working on APLs for current computers to put under the GPL. Assuming that your students know no Python, you could use the Sugar Labs Turtle Art approach to math and programming to get started. Turtle Art was designed for children to use for math, programming, and art, and has natural ways to move to Logo, Python, or Etoys/Smalltalk. FORTH, too, but most people don't want to know that. ^_^ (FORTH love if honk then) The question is, which pre-algebra concepts? Do you have a curriculum standard or a particular textbook in mind? Are there other topics of interest? I can write TA or mixed TA/Python examples, and show students how to do the same, and we could work together on lesson plans to share in the Sugar Labs Replacing Textbooks program. There are others with an interest in doing this. > Are lesson plans and small programs available, for example, Probably. There are well over 100,000 digital learning resources on the Net. You can find some of them on pages linked from http://wiki.sugarlabs.org/go/Open_Education_Resources We will need a substantial number of teachers to review them, compare them, and select those that do the best job making concepts clear in ways that will stay with students. > where students could write and > "drop in" a script that includes integers and the output would not only > calculate it, but see the relevance of it in a real world situation? There are many ways to do that. One of the weirder ones is my Turtle Art Turing Machine for addition. ^_^ http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Turtle_Art_Turing_Machine More directly to your needs, Pippy is a Sugar activity that shows a number of Python examples that students can edit. For example, Fibonacci a, b = 0, 1 while b< 1001: print b, a, b = b, a+b Changing the 0, 1 in the first line changes this from a generator of Fibonacci numbers to a generator of the related Lucas numbers. There is a Pascal's Triangle program. Plotted mod 2, it reveals a Sierpinski fractal. Relevant Python resources include NumPy and PyGame. > Or, perhaps, the program controls a "wheelchair" robot and students would > write scripts to drive the robot at a certain speed considering the slope > of a ramp? See the Etoys tutorial challenge for programming a "car", and the robot program in Uruguay with robots controlled by Sugar software. http://www.flickr.com/photos/christophd/4827926508/ XO turned into a robot thanks to the Buti? project > As you can see, I am a novice, but I see great potential and am willing to > learn. Delighted to meet you. > Thanks, > > Mary _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > 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://wiki.sugarlabs.org/go/Replacing_Textbooks From kirby.urner at gmail.com Fri Jul 1 07:41:45 2011 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 30 Jun 2011 22:41:45 -0700 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: References: <1559946252.33901.1309389342602.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> Message-ID: On Thu, Jun 30, 2011 at 8:03 PM, wrote: > > On Wed, June 29, 2011 7:15 pm, mary.dooms at comcast.net wrote: > > > > I teach 6th grade math and Python was suggested as a way to apply > > pre-algebra concepts in a programming context. My programming background > > consists of one C++ programming class. How do I begin? > > Python is one of several excellent options. Others are Logo, Smalltalk, > and APL, all of which are available at no cost. I worked on a free APL for > 8-bit computers before the Free Software movement got started, and I have > friends working on APLs for current computers to put under the GPL. > APL was my first love at Princeton, back when most people (including me) had to use punch cards. ?It was the interactivity I loved, among other aspects. ?Logo the same way. ?Grew into dBase later, always interactive, a dialog. ?Languages divide into those which respond, conversationally, and those which must be looked at as non-conversational. Python joined the ranks of the conversationals. > > Assuming that your students know no Python, you could use the Sugar Labs > Turtle Art approach to math and programming to get started. Turtle Art was > designed for children to use for math, programming, and art, and has > natural ways to move to Logo, Python, or Etoys/Smalltalk. FORTH, too, but > most people don't want to know that. ^_^ (FORTH love if honk then) I was a math teacher in a day school for humans of the female persuasion, as one of the trusted male faculty (most were not male), but?this was long before the Free Software movement (GNU / GPL), was still at the start of the first computer revolution. ?No Internet yet, at least not for ordinary civilians like me. I dreamed of hypertext (read Computer Lib / Dream Machines by Ted Nelson) and joined IGC with a guest account at New Jersey Institute of Technology. ?Proto-internet, pre-listserv. ?In the meantime, snailmailers were proto-typing listservs via Action Linkage. ?Anyone remember? ?You'd mail your post to the anchor, who'd photocopy the lot and mail back out to subscribers. ?The whole listserv phenomenon, happening through snailmail. ?Lots of ethnography as?yet unwritten. Mid 1980s. 'A Network Nation' by Turoff and Starr Roxanne?Hiltz. http://web.njit.edu/~turoff/Vita/vita2005.html#a30 I lived behind Loew's Theater on Journal Square, the main PATH station in Jersey City. By 1985, I was back in Portland, having been raised there through 2nd grade. > > The question is, which pre-algebra concepts? Do you have a curriculum > standard or a particular textbook in mind? Are there other topics of > interest? > > I can write TA or mixed TA/Python examples, and show students how to do > the same, and we could work together on lesson plans to share in the Sugar > Labs Replacing Textbooks program. There are others with an interest in > doing this. > Then I worked at McGraw-Hill (after some stuff in between), 28th floor, Rockefeller Center, Manhattan, editing?textbooks, testing educational computer games, contributing curriculum writing (Logo, BASIC). Back then, we thought computers were soon to take the?math teaching world by?storm. ?Little did we suspect that the North?Americans would be conquered by Texas Instruments, leaving the?innovation vista to other cultures and/or subversive counter-cultures?still operational in some areas. OLPC (One Laptop per Child) was?one attempt to break the TI lock on teacher imaginations. ?For the?most part, it failed in North America. The resistance was too great. ?No breakfast cereal boxes featured the XO. ?Nothing on the backs of Kellogs or General Mills. ?No donated G1G1 commercials during Saturday Morning cartoons. http://www.youtube.com/watch?v=yFmQP3JimAE&feature=related http://youtu.be/XSH_5YP0tU8 Few ever?got a clue. ?Teachers fell further and further?behind. The situation was so bad in Hillsboro (personal anecdote), home of Intel in?Oregon (Aloha plant) that the police got into the home schooling?business, tried to do outreach to tomorrow's gangland by setting up?a Linux Lab in West Precinct (where I came in, as a contract instructor). The schools had proved incompetent?to do?their jobs (educating for the future), so the Chief of Police was?stepping in (he was 2nd generation Chinese immigrant). I lectured about?this Hillsboro experiment to the London Knowledge Lab on my way to the Shuttleworth?Foundation meeting with Helen King et al, our benevolent dictator,?Guido, another member of our merry party (Scheme also represented). This was a meeting about South Africa, making long term plans even then (government officials were part of Mark's entourage). > > > Are lesson plans and small programs available, for example, > > Probably. There are well over 100,000 digital learning resources on the > Net. You can find some of them on pages linked from > > http://wiki.sugarlabs.org/go/Open_Education_Resources > > We will need a substantial number of teachers to review them, compare > them, and select those that do the best job making concepts clear in ways > that will stay with students. The South African model was shaping up to serve auto-didacts. Kids who could self teach would stand the best chance. The?teachers were proving hopeless. ?Adult teachers could not be expected adapt to these?technologies in sufficient time in?sufficient number. ?Those were the facts on the ground. It's not like anyone wanted it to be this way. ?One had to make the best of a bad situation. > > > where students could write and > > "drop in" a script that includes integers and the output would not only > > calculate it, but see the relevance of it in a real world situation? > > There are many ways to do that. One of the weirder ones is my Turtle Art > Turing Machine for addition. ^_^ > > http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Turtle_Art_Turing_Machine > > More directly to your needs, Pippy is a Sugar activity that shows a number > of Python examples that students can edit. For example, > > Fibonacci > a, b = 0, 1 > while b< 1001: > ? ? print b, > ? ? a, b = b, a+b > > Changing the 0, 1 in the first line changes this from a generator of > Fibonacci numbers to a generator of the related Lucas numbers. There is a > Pascal's Triangle program. Plotted mod 2, it reveals a Sierpinski fractal. "Generator" also has a technical meaning in Python, such that one might actually write a Fibonacci generator (of the GeneratorType). > > Relevant Python resources include NumPy and PyGame. > > > Or, perhaps, the program controls a "wheelchair" robot and students would > > write scripts to drive the robot at a certain speed considering the slope > > of a ramp? > > ?See the Etoys tutorial challenge for programming a "car", and the robot > program in Uruguay with robots controlled by Sugar software. Alan Kay was at that Shuttleworth meeting in Kensington. ?I'm sure there've been many follow-up meetings which I've not been privy to, plus I've continued to meet with Oregon-based colleagues. I also work with an outfit in Sonoma County, where Python is concerned. > > http://www.flickr.com/photos/christophd/4827926508/ > XO turned into a robot thanks to the Buti? project > > > As you can see, I am a novice, but I see great potential and am willing to > > learn. > > Delighted to meet you. > Ed writes a lot of good posts on many a math-related list. ?I recommend paying attention to his thinking (I know I do). Kirby From mokurai at earthtreasury.org Fri Jul 1 08:32:45 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Fri, 1 Jul 2011 02:32:45 -0400 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: References: <1559946252.33901.1309389342602.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> Message-ID: <311fad7296a80f9b9e9e5e5a0debd645.squirrel@emailmg.ipage.com> On Fri, July 1, 2011 1:41 am, kirby urner wrote: > On Thu, Jun 30, 2011 at 8:03 PM, wrote: >> >> On Wed, June 29, 2011 7:15 pm, mary.dooms at comcast.net wrote: >> > >> > I teach 6th grade math and Python was suggested as a way to apply >> > pre-algebra concepts in a programming context. My programming >> background >> > consists of one C++ programming class. How do I begin? >> >> Python is one of several excellent options. Others are Logo, Smalltalk, >> and APL, all of which are available at no cost. I worked on a free APL >> for >> 8-bit computers before the Free Software movement got started, and I >> have >> friends working on APLs for current computers to put under the GPL. >> > > APL was my first love at Princeton, back when most people (including > me) had to use punch cards. You and jazz guitarist Stanley Jordan. He wants to create an APL-based computer music education program. At Yale in 1963 we only had octal and FORTRAN. Later on, Yale hired Alan Perlis away from Carnegie-Mellon to be Chairman of the Computer Science Department. He made APL the first language for all CS students. >?It was the interactivity I loved, among > other aspects. ?Logo the same way. ?Grew into dBase later, always > interactive, a dialog. ?Languages divide into those which respond, > conversationally, and those which must be looked at as non-conversational. > Python joined the ranks of the conversationals. LISP was the first. On the other hand, Waterloo University in Canada created a FORTRAN interpreter for use in classes, to go with its APL, Pascal, and others. >> Assuming that your students know no Python, you could use the Sugar Labs >> Turtle Art approach to math and programming to get started. Turtle Art >> was >> designed for children to use for math, programming, and art, and has >> natural ways to move to Logo, Python, or Etoys/Smalltalk. FORTH, too, >> but >> most people don't want to know that. ^_^ (FORTH love if honk then) > > I was a math teacher in a day school for humans of the female > persuasion, as one of the trusted male faculty (most were not male), > but?this was long before the Free Software movement (GNU / GPL), > was still at the start of the first computer revolution. ?No Internet > yet, at least not for ordinary civilians like me. My father was using timesharing, and allowed me on at 300 bps. > I dreamed of hypertext (read Computer Lib / Dream Machines > by Ted Nelson) I met Ted when he gave an invited speech at the APL91 Conference at Stanford. > and joined IGC with a guest account at New > Jersey Institute of Technology. ?Proto-internet, pre-listserv. ?In > the meantime, snailmailers were proto-typing listservs via > Action Linkage. ?Anyone remember? ?You'd mail your post to > the anchor, who'd photocopy the lot and mail back out to > subscribers. ?The whole listserv phenomenon, happening > through snailmail. Pierre de Fermat operated as listserv for all of the top mathematicians of Europe before the journals got started. >?Lots of ethnography as?yet unwritten. > > Mid 1980s. > > 'A Network Nation' by Turoff and Starr Roxanne?Hiltz. > http://web.njit.edu/~turoff/Vita/vita2005.html#a30 > > I lived behind Loew's Theater on Journal Square, the main > PATH station in Jersey City. By 1985, I was back in Portland, > having been raised there through 2nd grade. > >> >> The question is, which pre-algebra concepts? Do you have a curriculum >> standard or a particular textbook in mind? Are there other topics of >> interest? >> >> I can write TA or mixed TA/Python examples, and show students how to do >> the same, and we could work together on lesson plans to share in the >> Sugar >> Labs Replacing Textbooks program. There are others with an interest in >> doing this. >> > > Then I worked at McGraw-Hill (after some stuff in between), 28th floor, > Rockefeller Center, Manhattan, editing?textbooks, testing educational > computer games, contributing curriculum writing (Logo, BASIC). We need you to do that again as we find out what children can learn with computer aid at earlier stages of development than we thought. > Back then, we thought computers were soon to take the?math teaching > world by?storm. ?Little did we suspect that the North?Americans would be > conquered by Texas Instruments, leaving the?innovation vista to > other cultures and/or subversive counter-cultures?still operational > in some areas. Thousands of dollars for a computer, under $100 for a calculator. No contest. HP was content with the engineering market and didn't want to challenge TI to a retail war. > OLPC (One Laptop per Child) was?one attempt to break the TI lock > on teacher imaginations. ?For the?most part, it failed in North America. > The resistance was too great. ?No breakfast cereal boxes featured > the XO. ?Nothing on the backs of Kellogs or General Mills. ?No > donated G1G1 commercials during Saturday Morning cartoons. > http://www.youtube.com/watch?v=yFmQP3JimAE&feature=related > http://youtu.be/XSH_5YP0tU8 Ah, but what will happen when we have free digital textbook replacements, so that netbooks cost less than printed textbooks? Better education at lower cost. Can politicians resist that? > Few ever?got a clue. ?Teachers fell further and further?behind. > > The situation was so bad in Hillsboro (personal anecdote), home > of Intel in?Oregon (Aloha plant) that the police got into the home > schooling?business, tried to do outreach to tomorrow's gangland > by setting up?a Linux Lab in West Precinct (where I came in, as > a contract instructor). I have an idea for going after homeschooling networks with OLPCs and Sugar, also. > The schools had proved incompetent?to do?their jobs (educating > for the future), so the Chief of Police was?stepping in (he was > 2nd generation Chinese immigrant). > > I lectured about?this Hillsboro experiment to the London Knowledge > Lab on my way to the Shuttleworth?Foundation meeting with > Helen King et al, our benevolent dictator,?Guido, another member > of our merry party (Scheme also represented). I met Guido at a BayPiggies meeting (Bay Area Python Interest Group) at Google, where I mentioned to the audience that both Guido and I were trying to compile sugar-jhbuild, and reporting to one of the mailing lists, and that I had not been able to do it. He chimed in from the audience that he had failed to build it also. > This was a meeting about South Africa, making long term plans even > then (government officials were part of Mark's entourage). The Shuttleworth Foundation funded development of a suite of digital learning resources for high school math and sciences for South Africa. >> > Are lesson plans and small programs available, for example, >> >> Probably. There are well over 100,000 digital learning resources on the >> Net. You can find some of them on pages linked from >> >> http://wiki.sugarlabs.org/go/Open_Education_Resources >> >> We will need a substantial number of teachers to review them, compare >> them, and select those that do the best job making concepts clear in >> ways that will stay with students. > > The South African model was shaping up to serve auto-didacts. > > Kids who could self teach would stand the best chance. I would like to see how much of that we can help children learn, given that they learn languages and cultures, among other things, with no formal instruction. > The?teachers were proving hopeless. ?Adult teachers could not be > expected adapt to these?technologies in sufficient time in?sufficient > number. ?Those were the facts on the ground. I don't think that that is necessarily so, and I intend to have our Replacing Textbooks project create a sufficient set of teacher training materials also. On some points, however, we might have to wait until some of our XO students enter teachers colleges. > It's not like anyone wanted it to be this way. ?One had to make the > best of a bad situation. > >> >> > where students could write and >> > "drop in" a script that includes integers and the output would not >> only >> > calculate it, but see the relevance of it in a real world situation? >> >> There are many ways to do that. One of the weirder ones is my Turtle Art >> Turing Machine for addition. ^_^ >> >> http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Turtle_Art_Turing_Machine >> >> More directly to your needs, Pippy is a Sugar activity that shows a >> number of Python examples that students can edit. For example, >> >> Fibonacci >> a, b = 0, 1 >> while b< 1001: >> ? ? print b, >> ? ? a, b = b, a+b >> >> Changing the 0, 1 in the first line changes this from a generator of >> Fibonacci numbers to a generator of the related Lucas numbers. There is >> a Pascal's Triangle program. Plotted mod 2, it reveals a Sierpinski >> fractal. > > "Generator" also has a technical meaning in Python, such that one > might actually write a Fibonacci generator (of the GeneratorType). > >> >> Relevant Python resources include NumPy and PyGame. >> >> > Or, perhaps, the program controls a "wheelchair" robot and students >> would >> > write scripts to drive the robot at a certain speed considering the >> slope >> > of a ramp? >> >> ?See the Etoys tutorial challenge for programming a "car", and the robot >> program in Uruguay with robots controlled by Sugar software. > > Alan Kay was at that Shuttleworth meeting in Kensington. ?I'm sure > there've been many follow-up meetings which I've not been privy to, plus > I've continued to meet with Oregon-based colleagues. I met Alan Kay at the 40th anniversary of Doug Engelbart's Mother of All Demos at Stanford. I had met Doug previously, and was apparently the first to show him an XO. > I also work with an outfit in Sonoma County, where Python is concerned. > >> >> http://www.flickr.com/photos/christophd/4827926508/ >> XO turned into a robot thanks to the Buti? project >> >> > As you can see, I am a novice, but I see great potential and am >> > willing to learn. >> >> Delighted to meet you. >> > > Ed writes a lot of good posts on many a math-related list. ?I recommend > paying attention to his thinking (I know I do). Thanks, Kirby. > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > 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://wiki.sugarlabs.org/go/Replacing_Textbooks From david at handysoftware.com Fri Jul 1 15:28:11 2011 From: david at handysoftware.com (David Handy) Date: Fri, 1 Jul 2011 09:28:11 -0400 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: References: <1559946252.33901.1309389342602.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> Message-ID: <20110701132810.GA3479@blackbeauty> On Thu, Jun 30, 2011 at 10:41:45PM -0700, kirby urner wrote: > On Thu, Jun 30, 2011 at 8:03 PM, wrote: > > > > On Wed, June 29, 2011 7:15 pm, mary.dooms at comcast.net wrote: > > > > > > I teach 6th grade math and Python was suggested as a way to apply > > > pre-algebra concepts in a programming context. My programming background > > > consists of one C++ programming class. How do I begin? > > > > Python is one of several excellent options. Others are Logo, Smalltalk, > > and APL, all of which are available at no cost. I worked on a free APL for > > 8-bit computers before the Free Software movement got started, and I have > > friends working on APLs for current computers to put under the GPL. > > > > APL was my first love at Princeton, back when most people (including > me) had to use punch cards. ?It was the interactivity I loved, among > other aspects. ?Logo the same way. ?Grew into dBase later, always > interactive, a dialog. ?Languages divide into those which respond, > conversationally, and those which must be looked at as non-conversational. > Python joined the ranks of the conversationals. > > > > > Assuming that your students know no Python, you could use the Sugar Labs > > Turtle Art approach to math and programming to get started. Turtle Art was > > designed for children to use for math, programming, and art, and has > > natural ways to move to Logo, Python, or Etoys/Smalltalk. FORTH, too, but > > most people don't want to know that. ^_^ (FORTH love if honk then) > > I was a math teacher in a day school for humans of the female > persuasion, as one of the trusted male faculty (most were not male), > but?this was long before the Free Software movement (GNU / GPL), > was still at the start of the first computer revolution. ?No Internet > yet, at least not for ordinary civilians like me. > > I dreamed of hypertext (read Computer Lib / Dream Machines > by Ted Nelson) and joined IGC with a guest account at New > Jersey Institute of Technology. ?Proto-internet, pre-listserv. ?In > the meantime, snailmailers were proto-typing listservs via > Action Linkage. ?Anyone remember? ?You'd mail your post to > the anchor, who'd photocopy the lot and mail back out to > subscribers. ?The whole listserv phenomenon, happening > through snailmail. ?Lots of ethnography as?yet unwritten. > > Mid 1980s. > > 'A Network Nation' by Turoff and Starr Roxanne?Hiltz. > http://web.njit.edu/~turoff/Vita/vita2005.html#a30 > > I lived behind Loew's Theater on Journal Square, the main > PATH station in Jersey City. By 1985, I was back in Portland, > having been raised there through 2nd grade. > > > > > The question is, which pre-algebra concepts? Do you have a curriculum > > standard or a particular textbook in mind? Are there other topics of > > interest? > > > > I can write TA or mixed TA/Python examples, and show students how to do > > the same, and we could work together on lesson plans to share in the Sugar > > Labs Replacing Textbooks program. There are others with an interest in > > doing this. > > > > Then I worked at McGraw-Hill (after some stuff in between), 28th floor, > Rockefeller Center, Manhattan, editing?textbooks, testing educational > computer games, contributing curriculum writing (Logo, BASIC). > > Back then, we thought computers were soon to take the?math teaching > world by?storm. ?Little did we suspect that the North?Americans would be > conquered by Texas Instruments, leaving the?innovation vista to > other cultures and/or subversive counter-cultures?still operational > in some areas. > > OLPC (One Laptop per Child) was?one attempt to break the TI lock > on teacher imaginations. ?For the?most part, it failed in North America. > The resistance was too great. ?No breakfast cereal boxes featured > the XO. ?Nothing on the backs of Kellogs or General Mills. ?No > donated G1G1 commercials during Saturday Morning cartoons. > http://www.youtube.com/watch?v=yFmQP3JimAE&feature=related > http://youtu.be/XSH_5YP0tU8 > > Few ever?got a clue. ?Teachers fell further and further?behind. > > The situation was so bad in Hillsboro (personal anecdote), home > of Intel in?Oregon (Aloha plant) that the police got into the home > schooling?business, tried to do outreach to tomorrow's gangland > by setting up?a Linux Lab in West Precinct (where I came in, as > a contract instructor). I hope you don't mind me chiming in here. I grew up in Hillsboro, Oregon. I graduated from Glencoe High School in 1985. I am an early Saturday Academy alumni (I believe Kirby knows about Saturday Academy). Since you all are talking about use of computers in teaching children mathematics, I thought I would mention my own personal experience as a learner in the early days of microcomputers. When I was in 7th grade (1979) in Brown Junior High in Hillsboro, I was in a "talented and gifted" track and was given a semester to do any science-related project I wanted to do, and then display my work in science-fair format at the end of the semester. My dad suggested I learn computer programming, which I originally thought was beyond my abilities. He took me to the Byte Shop (anyone remember that store?) and bought me a book called "BASIC from the Ground Up" by David Ahl. Then he brought me to his work place (Tektronix, in Beaverton) and let me use a 4051 microcomputer (green storage tube display, large tape cassette drive). I was given no instruction except what was in the book, and was shown how to turn the computer on, etc. Once I got to the BASIC prompt I was pretty much on my own. Except for one thing - I wanted to make a "Star Trek"-like game, and needed to figure out how to move and rotate the spaceship. My dad took the time to teach me conversion between polar and cartesian coordinates, and proper use of sine and cosine. Unlike most of my peers, I never forgot those math skills. In fact, I recall all through my years of study on my way to an electrical engineering degree, being grateful again and again that I actually understood those concepts and didn't have to keep re-learning them, but could actually apply them in new situations. I continued programming in BASIC all through high school. I impressed my Physics teacher with an animated planetary motion simulation program written in GBASIC and run on an early IBM PC. So I consider myself an early success story in computer-based, independent, non-traditional math learning. I feel a need to "pay it forward" and help give other youth the experience and advantages I had when I was young. Ironically, it seems that the huge advances made in computing and networking can make it harder to use computers as teaching tools -- the rising generation considers them mostly entertainment, multimedia, and communication devices. The skills most often applied to see cool things happen on the computer is to google and download games, or to search You Tube for movie trailers. When basic math skills were required to make anything happen on that green screen, I was motivated to learn those math skills. On the other hand, of course, those huge advances can be put to excellent use and mathematics can be used to make things happen that were not possible in the early 1980s. And, with all of the free instruction available on the internet now, there's no excuse for ignorance. But, it's like drinking from the firehose. It still really helps to have a mentor. I'm striving to help people to get that same empowered feeling I got when, as a teenager, I made things happen on the computer and gained understanding in the process. I've written a beginning Python programming book (an updated attempt at the "BASIC from the Ground Up" that got me started), I've taught short, free seminars here in North Carolina and Virginia, and am doing what I can in my "spare time" to tutor youth, including my own children. Best wishes to all you fellow travelers! David H > > The schools had proved incompetent?to do?their jobs (educating > for the future), so the Chief of Police was?stepping in (he was > 2nd generation Chinese immigrant). > > I lectured about?this Hillsboro experiment to the London Knowledge > Lab on my way to the Shuttleworth?Foundation meeting with > Helen King et al, our benevolent dictator,?Guido, another member > of our merry party (Scheme also represented). > > This was a meeting about South Africa, making long term plans even > then (government officials were part of Mark's entourage). > > > > > > Are lesson plans and small programs available, for example, > > > > Probably. There are well over 100,000 digital learning resources on the > > Net. You can find some of them on pages linked from > > > > http://wiki.sugarlabs.org/go/Open_Education_Resources > > > > We will need a substantial number of teachers to review them, compare > > them, and select those that do the best job making concepts clear in ways > > that will stay with students. > > The South African model was shaping up to serve auto-didacts. > > Kids who could self teach would stand the best chance. > > The?teachers were proving hopeless. ?Adult teachers could not be > expected adapt to these?technologies in sufficient time in?sufficient > number. ?Those were the facts on the ground. > > It's not like anyone wanted it to be this way. ?One had to make the > best of a bad situation. > > > > > > where students could write and > > > "drop in" a script that includes integers and the output would not only > > > calculate it, but see the relevance of it in a real world situation? > > > > There are many ways to do that. One of the weirder ones is my Turtle Art > > Turing Machine for addition. ^_^ > > > > http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Turtle_Art_Turing_Machine > > > > More directly to your needs, Pippy is a Sugar activity that shows a number > > of Python examples that students can edit. For example, > > > > Fibonacci > > a, b = 0, 1 > > while b< 1001: > > ? ? print b, > > ? ? a, b = b, a+b > > > > Changing the 0, 1 in the first line changes this from a generator of > > Fibonacci numbers to a generator of the related Lucas numbers. There is a > > Pascal's Triangle program. Plotted mod 2, it reveals a Sierpinski fractal. > > "Generator" also has a technical meaning in Python, such that one > might actually write a Fibonacci generator (of the GeneratorType). > > > > > Relevant Python resources include NumPy and PyGame. > > > > > Or, perhaps, the program controls a "wheelchair" robot and students would > > > write scripts to drive the robot at a certain speed considering the slope > > > of a ramp? > > > > ?See the Etoys tutorial challenge for programming a "car", and the robot > > program in Uruguay with robots controlled by Sugar software. > > Alan Kay was at that Shuttleworth meeting in Kensington. ?I'm sure > there've been many follow-up meetings which I've not been privy to, plus > I've continued to meet with Oregon-based colleagues. > > I also work with an outfit in Sonoma County, where Python is concerned. > > > > > http://www.flickr.com/photos/christophd/4827926508/ > > XO turned into a robot thanks to the Buti? project > > > > > As you can see, I am a novice, but I see great potential and am willing to > > > learn. > > > > Delighted to meet you. > > > > Ed writes a lot of good posts on many a math-related list. ?I recommend paying > attention to his thinking (I know I do). > > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig From mary.dooms at comcast.net Fri Jul 1 15:43:25 2011 From: mary.dooms at comcast.net (mary.dooms at comcast.net) Date: Fri, 1 Jul 2011 13:43:25 +0000 (UTC) Subject: [Edu-sig] Python and pre-algebra In-Reply-To: <311fad7296a80f9b9e9e5e5a0debd645.squirrel@emailmg.ipage.com> Message-ID: <1450477533.97954.1309527805217.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> Thank you to everyone who has responded to my inquiry. I truly appreciate your willingness to help. Our math curriculum addresses the Illinois state standards, however within the next 3 years we will be moving to the Common Core. A breakdown of the curriculum is below : Advanced math (1 section) supported by McDougal-Littel Course 2 textbook http://www.classzone.com/cz/books/msmath_2_na/book_home.htm?state=IL Integers (order of operations) Fractions/Decimals/Percents Algebra (1 and 2 step equations, simplifying, distributive property, inequalities) Geometry (polygons, angles, surface area, volume) Ratios and Proportions Probability Standard Math (3 sections) Supported by McDougal-Littel Course 1 textbook http://www.classzone.com/cz/books/msmath_1_na/book_home.htm?state=IL Problem Solving Strategies Fraction operations Decimal operations Geometry Number Sense (Prime factorization, GCF, LCM, Divisibility Rules) Our district is generally supportive to adding new software to the school computers, however requests are only honored during school breaks (winter, spring, summer) as they want to keep the computers available for student use and MAPS testing. (http://www.nwea.org/) :-( My plan is to begin with my advanced math students. On a side note, I have enjoyed reading the personal stories you have been sharing. Mine is that my first job out of college was working for the now defunct Teletype Corporation, a part of the now defunct Western Electric, a part of the now defunct Bell System, a part of the perhaps soon to be defunct AT&T?! I spent ten years in public relations, took time off to raise children, then returned to the workforce to teach middle school. Again, I appreciate your support, and I look forward to collaborating with you. ----- Original Message ----- From: mokurai at earthtreasury.org To: "kirby urner" Cc: edu-sig at python.org Sent: Friday, July 1, 2011 1:32:45 AM Subject: Re: [Edu-sig] Python and pre-algebra On Fri, July 1, 2011 1:41 am, kirby urner wrote: > On Thu, Jun 30, 2011 at 8:03 PM, wrote: >> >> On Wed, June 29, 2011 7:15 pm, mary.dooms at comcast.net wrote: >> > >> > I teach 6th grade math and Python was suggested as a way to apply >> > pre-algebra concepts in a programming context. My programming >> background >> > consists of one C++ programming class. How do I begin? >> >> Python is one of several excellent options. Others are Logo, Smalltalk, >> and APL, all of which are available at no cost. I worked on a free APL >> for >> 8-bit computers before the Free Software movement got started, and I >> have >> friends working on APLs for current computers to put under the GPL. >> > > APL was my first love at Princeton, back when most people (including > me) had to use punch cards. You and jazz guitarist Stanley Jordan. He wants to create an APL-based computer music education program. At Yale in 1963 we only had octal and FORTRAN. Later on, Yale hired Alan Perlis away from Carnegie-Mellon to be Chairman of the Computer Science Department. He made APL the first language for all CS students. > It was the interactivity I loved, among > other aspects. Logo the same way. Grew into dBase later, always > interactive, a dialog. Languages divide into those which respond, > conversationally, and those which must be looked at as non-conversational. > Python joined the ranks of the conversationals. LISP was the first. On the other hand, Waterloo University in Canada created a FORTRAN interpreter for use in classes, to go with its APL, Pascal, and others. >> Assuming that your students know no Python, you could use the Sugar Labs >> Turtle Art approach to math and programming to get started. Turtle Art >> was >> designed for children to use for math, programming, and art, and has >> natural ways to move to Logo, Python, or Etoys/Smalltalk. FORTH, too, >> but >> most people don't want to know that. ^_^ (FORTH love if honk then) > > I was a math teacher in a day school for humans of the female > persuasion, as one of the trusted male faculty (most were not male), > but this was long before the Free Software movement (GNU / GPL), > was still at the start of the first computer revolution. No Internet > yet, at least not for ordinary civilians like me. My father was using timesharing, and allowed me on at 300 bps. > I dreamed of hypertext (read Computer Lib / Dream Machines > by Ted Nelson) I met Ted when he gave an invited speech at the APL91 Conference at Stanford. > and joined IGC with a guest account at New > Jersey Institute of Technology. Proto-internet, pre-listserv. In > the meantime, snailmailers were proto-typing listservs via > Action Linkage. Anyone remember? You'd mail your post to > the anchor, who'd photocopy the lot and mail back out to > subscribers. The whole listserv phenomenon, happening > through snailmail. Pierre de Fermat operated as listserv for all of the top mathematicians of Europe before the journals got started. > Lots of ethnography as yet unwritten. > > Mid 1980s. > > 'A Network Nation' by Turoff and Starr Roxanne Hiltz. > http://web.njit.edu/~turoff/Vita/vita2005.html#a30 > > I lived behind Loew's Theater on Journal Square, the main > PATH station in Jersey City. By 1985, I was back in Portland, > having been raised there through 2nd grade. > >> >> The question is, which pre-algebra concepts? Do you have a curriculum >> standard or a particular textbook in mind? Are there other topics of >> interest? >> >> I can write TA or mixed TA/Python examples, and show students how to do >> the same, and we could work together on lesson plans to share in the >> Sugar >> Labs Replacing Textbooks program. There are others with an interest in >> doing this. >> > > Then I worked at McGraw-Hill (after some stuff in between), 28th floor, > Rockefeller Center, Manhattan, editing textbooks, testing educational > computer games, contributing curriculum writing (Logo, BASIC). We need you to do that again as we find out what children can learn with computer aid at earlier stages of development than we thought. > Back then, we thought computers were soon to take the math teaching > world by storm. Little did we suspect that the North Americans would be > conquered by Texas Instruments, leaving the innovation vista to > other cultures and/or subversive counter-cultures still operational > in some areas. Thousands of dollars for a computer, under $100 for a calculator. No contest. HP was content with the engineering market and didn't want to challenge TI to a retail war. > OLPC (One Laptop per Child) was one attempt to break the TI lock > on teacher imaginations. For the most part, it failed in North America. > The resistance was too great. No breakfast cereal boxes featured > the XO. Nothing on the backs of Kellogs or General Mills. No > donated G1G1 commercials during Saturday Morning cartoons. > http://www.youtube.com/watch?v=yFmQP3JimAE&feature=related > http://youtu.be/XSH_5YP0tU8 Ah, but what will happen when we have free digital textbook replacements, so that netbooks cost less than printed textbooks? Better education at lower cost. Can politicians resist that? > Few ever got a clue. Teachers fell further and further behind. > > The situation was so bad in Hillsboro (personal anecdote), home > of Intel in Oregon (Aloha plant) that the police got into the home > schooling business, tried to do outreach to tomorrow's gangland > by setting up a Linux Lab in West Precinct (where I came in, as > a contract instructor). I have an idea for going after homeschooling networks with OLPCs and Sugar, also. > The schools had proved incompetent to do their jobs (educating > for the future), so the Chief of Police was stepping in (he was > 2nd generation Chinese immigrant). > > I lectured about this Hillsboro experiment to the London Knowledge > Lab on my way to the Shuttleworth Foundation meeting with > Helen King et al, our benevolent dictator, Guido, another member > of our merry party (Scheme also represented). I met Guido at a BayPiggies meeting (Bay Area Python Interest Group) at Google, where I mentioned to the audience that both Guido and I were trying to compile sugar-jhbuild, and reporting to one of the mailing lists, and that I had not been able to do it. He chimed in from the audience that he had failed to build it also. > This was a meeting about South Africa, making long term plans even > then (government officials were part of Mark's entourage). The Shuttleworth Foundation funded development of a suite of digital learning resources for high school math and sciences for South Africa. >> > Are lesson plans and small programs available, for example, >> >> Probably. There are well over 100,000 digital learning resources on the >> Net. You can find some of them on pages linked from >> >> http://wiki.sugarlabs.org/go/Open_Education_Resources >> >> We will need a substantial number of teachers to review them, compare >> them, and select those that do the best job making concepts clear in >> ways that will stay with students. > > The South African model was shaping up to serve auto-didacts. > > Kids who could self teach would stand the best chance. I would like to see how much of that we can help children learn, given that they learn languages and cultures, among other things, with no formal instruction. > The teachers were proving hopeless. Adult teachers could not be > expected adapt to these technologies in sufficient time in sufficient > number. Those were the facts on the ground. I don't think that that is necessarily so, and I intend to have our Replacing Textbooks project create a sufficient set of teacher training materials also. On some points, however, we might have to wait until some of our XO students enter teachers colleges. > It's not like anyone wanted it to be this way. One had to make the > best of a bad situation. > >> >> > where students could write and >> > "drop in" a script that includes integers and the output would not >> only >> > calculate it, but see the relevance of it in a real world situation? >> >> There are many ways to do that. One of the weirder ones is my Turtle Art >> Turing Machine for addition. ^_^ >> >> http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Turtle_Art_Turing_Machine >> >> More directly to your needs, Pippy is a Sugar activity that shows a >> number of Python examples that students can edit. For example, >> >> Fibonacci >> a, b = 0, 1 >> while b< 1001: >> print b, >> a, b = b, a+b >> >> Changing the 0, 1 in the first line changes this from a generator of >> Fibonacci numbers to a generator of the related Lucas numbers. There is >> a Pascal's Triangle program. Plotted mod 2, it reveals a Sierpinski >> fractal. > > "Generator" also has a technical meaning in Python, such that one > might actually write a Fibonacci generator (of the GeneratorType). > >> >> Relevant Python resources include NumPy and PyGame. >> >> > Or, perhaps, the program controls a "wheelchair" robot and students >> would >> > write scripts to drive the robot at a certain speed considering the >> slope >> > of a ramp? >> >> See the Etoys tutorial challenge for programming a "car", and the robot >> program in Uruguay with robots controlled by Sugar software. > > Alan Kay was at that Shuttleworth meeting in Kensington. I'm sure > there've been many follow-up meetings which I've not been privy to, plus > I've continued to meet with Oregon-based colleagues. I met Alan Kay at the 40th anniversary of Doug Engelbart's Mother of All Demos at Stanford. I had met Doug previously, and was apparently the first to show him an XO. > I also work with an outfit in Sonoma County, where Python is concerned. > >> >> http://www.flickr.com/photos/christophd/4827926508/ >> XO turned into a robot thanks to the Buti? project >> >> > As you can see, I am a novice, but I see great potential and am >> > willing to learn. >> >> Delighted to meet you. >> > > Ed writes a lot of good posts on many a math-related list. I recommend > paying attention to his thinking (I know I do). Thanks, Kirby. > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > 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://wiki.sugarlabs.org/go/Replacing_Textbooks _______________________________________________ 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: From litvin at skylit.com Fri Jul 1 16:26:49 2011 From: litvin at skylit.com (Litvin) Date: Fri, 01 Jul 2011 10:26:49 -0400 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: <1450477533.97954.1309527805217.JavaMail.root@sz0057a.emery ville.ca.mail.comcast.net> References: <311fad7296a80f9b9e9e5e5a0debd645.squirrel@emailmg.ipage.com> <1450477533.97954.1309527805217.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> Message-ID: <7.0.1.0.2.20110701102359.03ffcdc8@skylit.com> Mary, I think elements of Python programming would fit very nicely with fractions, probability and all the number sense topics you listed (as well as problem solving strategies). Gary Litvin www.skylit.com At 09:43 AM 7/1/2011, mary.dooms at comcast.net wrote: >Thank you to everyone who has responded to my >inquiry. I truly appreciate your willingness to help. > >Our math curriculum addresses the Illinois state >standards, however within the next 3 years we >will be moving to the Common Core. > >A breakdown of the curriculum is below: > >Advanced math (1 section) supported by McDougal-Littel Course 2 textbook >http://www.classzone.com/cz/books/msmath_2_na/book_home.htm?state=IL > >Integers (order of operations) >Fractions/Decimals/Percents >Algebra (1 and 2 step equations, simplifying, >distributive property, inequalities) >Geometry (polygons, angles, surface area, volume) >Ratios and Proportions >Probability > >Standard Math (3 sections) Supported by McDougal-Littel Course 1 textbook >http://www.classzone.com/cz/books/msmath_1_na/book_home.htm?state=IL > >Problem Solving Strategies >Fraction operations >Decimal operations >Geometry >Number Sense (Prime factorization, GCF, LCM, Divisibility Rules) > >Our district is generally supportive to adding >new software to the school computers, however >requests are only honored during school breaks >(winter, spring, summer) as they want to keep >the computers available for student use and MAPS >testing. (http://www.nwea.org/) :-( > >My plan is to begin with my advanced math students. > >On a side note, I have enjoyed reading the >personal stories you have been sharing. Mine is >that my first job out of college was working for >the now defunct Teletype Corporation, a part of >the now defunct Western Electric, a part of the >now defunct Bell System, a part of the perhaps >soon to be defunct AT&T?! I spent ten years in >public relations, took time off to raise >children, then returned to the workforce to teach middle school. > >Again, I appreciate your support, and I look >forward to collaborating with you. > > > >---------- >From: mokurai at earthtreasury.org >To: "kirby urner" >Cc: edu-sig at python.org >Sent: Friday, July 1, 2011 1:32:45 AM >Subject: Re: [Edu-sig] Python and pre-algebra > >On Fri, July 1, 2011 1:41 am, kirby urner wrote: > > On Thu, Jun 30, 2011 at 8:03 PM, wrote: > >> > >> On Wed, June 29, 2011 7:15 pm, mary.dooms at comcast.net wrote: > >> > > >> > I teach 6th grade math and Python was suggested as a way to apply > >> > pre-algebra concepts in a programming context. My programming > >> background > >> > consists of one C++ programming class. How do I begin? > >> > >> Python is one of several excellent options. Others are Logo, Smalltalk, > >> and APL, all of which are available at no cost. I worked on a free APL > >> for > >> 8-bit computers before the Free Software movement got started, and I > >> have > >> friends working on APLs for current computers to put under the GPL. > >> > > > > APL was my first love at Princeton, back when most people (including > > me) had to use punch cards. > >You and jazz guitarist Stanley Jordan. He wants to create an APL-based >computer music education program. > >At Yale in 1963 we only had octal and FORTRAN. Later on, Yale hired Alan >Perlis away from Carnegie-Mellon to be Chairman of the Computer Science >Department. He made APL the first language for all CS students. > > > It was the interactivity I loved, among > > other aspects. Logo the same way. Grew into dBase later, always > > interactive, a dialog. Languages divide into those which respond, > > conversationally, and those which must be looked at as non-conversational. > > Python joined the ranks of the conversationals. > >LISP was the first. On the other hand, Waterloo University in Canada >created a FORTRAN interpreter for use in classes, to go with its APL, >Pascal, and others. > > >> Assuming that your students know no Python, you could use the Sugar Labs > >> Turtle Art approach to math and programming to get started. Turtle Art > >> was > >> designed for children to use for math, programming, and art, and has > >> natural ways to move to Logo, Python, or Etoys/Smalltalk. FORTH, too, > >> but > >> most people don't want to know that. ^_^ (FORTH love if honk then) > > > > I was a math teacher in a day school for humans of the female > > persuasion, as one of the trusted male faculty (most were not male), > > but this was long before the Free Software movement (GNU / GPL), > > was still at the start of the first computer revolution. No Internet > > yet, at least not for ordinary civilians like me. > >My father was using timesharing, and allowed me on at 300 bps. > > > I dreamed of hypertext (read Computer Lib / Dream Machines > > by Ted Nelson) > >I met Ted when he gave an invited speech at the APL91 Conference at Stanford. > > > and joined IGC with a guest account at New > > Jersey Institute of Technology. Proto-internet, pre-listserv. In > > the meantime, snailmailers were proto-typing listservs via > > Action Linkage. Anyone remember? You'd mail your post to > > the anchor, who'd photocopy the lot and mail back out to > > subscribers. The whole listserv phenomenon, happening > > through snailmail. > >Pierre de Fermat operated as listserv for all of the top mathematicians of >Europe before the journals got started. > > > Lots of ethnography as yet unwritten. > > > > Mid 1980s. > > > > 'A Network Nation' by Turoff and Starr Roxanne Hiltz. > > http://web.njit.edu/~turoff/Vita/vita2005.html#a30 > > > > I lived behind Loew's Theater on Journal Square, the main > > PATH station in Jersey City. By 1985, I was back in Portland, > > having been raised there through 2nd grade. > > > >> > >> The question is, which pre-algebra concepts? Do you have a curriculum > >> standard or a particular textbook in mind? Are there other topics of > >> interest? > >> > >> I can write TA or mixed TA/Python examples, and show students how to do > >> the same, and we could work together on lesson plans to share in the > >> Sugar > >> Labs Replacing Textbooks program. There are others with an interest in > >> doing this. > >> > > > > Then I worked at McGraw-Hill (after some stuff in between), 28th floor, > > Rockefeller Center, Manhattan, editing textbooks, testing educational > > computer games, contributing curriculum writing (Logo, BASIC). > >We need you to do that again as we find out what children can learn with >computer aid at earlier stages of development than we thought. > > > Back then, we thought computers were soon to take the math teaching > > world by storm. Little did we suspect that the North Americans would be > > conquered by Texas Instruments, leaving the innovation vista to > > other cultures and/or subversive counter-cultures still operational > > in some areas. > >Thousands of dollars for a computer, under $100 for a calculator. No >contest. HP was content with the engineering market and didn't want to >challenge TI to a retail war. > > > OLPC (One Laptop per Child) was one attempt to break the TI lock > > on teacher imaginations. For the most part, it failed in North America. > > The resistance was too great. No breakfast cereal boxes featured > > the XO. Nothing on the backs of Kellogs or General Mills. No > > donated G1G1 commercials during Saturday Morning cartoons. > > http://www.youtube.com/watch?v=yFmQP3JimAE&feature=related > > http://youtu.be/XSH_5YP0tU8 > >Ah, but what will happen when we have free digital textbook replacements, >so that netbooks cost less than printed textbooks? Better education at >lower cost. Can politicians resist that? > > > Few ever got a clue. Teachers fell further and further behind. > > > > The situation was so bad in Hillsboro (personal anecdote), home > > of Intel in Oregon (Aloha plant) that the police got into the home > > schooling business, tried to do outreach to tomorrow's gangland > > by setting up a Linux Lab in West Precinct (where I came in, as > > a contract instructor). > >I have an idea for going after homeschooling networks with OLPCs and >Sugar, also. > > > The schools had proved incompetent to do their jobs (educating > > for the future), so the Chief of Police was stepping in (he was > > 2nd generation Chinese immigrant). > > > > I lectured about this Hillsboro experiment to the London Knowledge > > Lab on my way to the Shuttleworth Foundation meeting with > > Helen King et al, our benevolent dictator, Guido, another member > > of our merry party (Scheme also represented). > >I met Guido at a BayPiggies meeting (Bay Area Python Interest Group) at >Google, where I mentioned to the audience that both Guido and I were >trying to compile sugar-jhbuild, and reporting to one of the mailing >lists, and that I had not been able to do it. He chimed in from the >audience that he had failed to build it also. > > > This was a meeting about South Africa, making long term plans even > > then (government officials were part of Mark's entourage). > >The Shuttleworth Foundation funded development of a suite of digital >learning resources for high school math and sciences for South Africa. > > >> > Are lesson plans and small programs available, for example, > >> > >> Probably. There are well over 100,000 digital learning resources on the > >> Net. You can find some of them on pages linked from > >> > >> http://wiki.sugarlabs.org/go/Open_Education_Resources > >> > >> We will need a substantial number of teachers to review them, compare > >> them, and select those that do the best job making concepts clear in > >> ways that will stay with students. > > > > The South African model was shaping up to serve auto-didacts. > > > > Kids who could self teach would stand the best chance. > >I would like to see how much of that we can help children learn, given >that they learn languages and cultures, among other things, with no formal >instruction. > > > The teachers were proving hopeless. Adult teachers could not be > > expected adapt to these technologies in sufficient time in sufficient > > number. Those were the facts on the ground. > >I don't think that that is necessarily so, and I intend to have our >Replacing Textbooks project create a sufficient set of teacher training >materials also. On some points, however, we might have to wait until some >of our XO students enter teachers colleges. > > > It's not like anyone wanted it to be this way. One had to make the > > best of a bad situation. > > > >> > >> > where students could write and > >> > "drop in" a script that includes integers and the output would not > >> only > >> > calculate it, but see the relevance of it in a real world situation? > >> > >> There are many ways to do that. One of the weirder ones is my Turtle Art > >> Turing Machine for addition. ^_^ > >> > >> > http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Turtle_Art_Turing_Machine > >> > >> More directly to your needs, Pippy is a Sugar activity that shows a > >> number of Python examples that students can edit. For example, > >> > >> Fibonacci > >> a, b = 0, 1 > >> while b< 1001: > >> print b, > >> a, b = b, a+b > >> > >> Changing the 0, 1 in the first line changes this from a generator of > >> Fibonacci numbers to a generator of the related Lucas numbers. There is > >> a Pascal's Triangle program. Plotted mod 2, it reveals a Sierpinski > >> fractal. > > > > "Generator" also has a technical meaning in Python, such that one > > might actually write a Fibonacci generator (of the GeneratorType). > > > >> > >> Relevant Python resources include NumPy and PyGame. > >> > >> > Or, perhaps, the program controls a "wheelchair" robot and students > >> would > >> > write scripts to drive the robot at a certain speed considering the > >> slope > >> > of a ramp? > >> > >> See the Etoys tutorial challenge for programming a "car", and the robot > >> program in Uruguay with robots controlled by Sugar software. > > > > Alan Kay was at that Shuttleworth meeting in Kensington. I'm sure > > there've been many follow-up meetings which I've not been privy to, plus > > I've continued to meet with Oregon-based colleagues. > >I met Alan Kay at the 40th anniversary of Doug Engelbart's Mother of All >Demos at Stanford. I had met Doug previously, and was apparently the first >to show him an XO. > > > I also work with an outfit in Sonoma County, where Python is concerned. > > > >> > >> http://www.flickr.com/photos/christophd/4827926508/ > >> XO turned into a robot thanks to the Buti?? project > >> > >> > As you can see, I am a novice, but I see great potential and am > >> > willing to learn. > >> > >> Delighted to meet you. > >> > > > > Ed writes a lot of good posts on many a math-related list. I recommend > > paying attention to his thinking (I know I do). > >Thanks, Kirby. > > > Kirby > > _______________________________________________ > > Edu-sig mailing list > > Edu-sig at python.org > > 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://wiki.sugarlabs.org/go/Replacing_Textbooks > > >_______________________________________________ >Edu-sig mailing list >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: From kirby.urner at gmail.com Fri Jul 1 20:06:59 2011 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 1 Jul 2011 11:06:59 -0700 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: <1450477533.97954.1309527805217.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> References: <311fad7296a80f9b9e9e5e5a0debd645.squirrel@emailmg.ipage.com> <1450477533.97954.1309527805217.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> Message-ID: @David: thanks for the autobio, starting in Hillsboro where I was talking about the police jumping into Linux to improve their relations with youth culture. It was an experiment. Saturday Academy was where the police turned for instructors, which I where I came into that story, via George Heuston (formerly FBI and NORAD). Last year I taught Martian Math for Saturday Academy. This summer it's about math as a globally social activity or something like that. I'm inspired by Maria Droujkova's work on math as a social networking tool. We'll practice doing show & tell is my plan (aka Lightning Talks in Python world). On Fri, Jul 1, 2011 at 6:43 AM, wrote: > Thank you to everyone who has responded to my inquiry. I truly appreciate > your willingness to help. > Gary Litvin just chimed in. He's got an upper level math textbook written around Python. > Our math curriculum addresses the Illinois state standards, however within > the next 3 years we will be moving to the Common Core. > > A breakdown of the curriculum is below: > > Advanced math (1 section) supported by McDougal-Littel Course 2 textbook > > http://www.classzone.com/cz/books/msmath_2_na/book_home.htm?state=IL > > Integers (order of operations) > > Fractions/Decimals/Percents > One successful format is for a classroom to have a projector and an Internet connection. Better if the classroom may darken some. That's already a big problem in many settings, as many school rooms are designed to have as much light flooding in as possible at all times. The teacher is the anchor and guide and does quite a bit of role modeling and presenting, but the students also take turns, speaking to the entire group, sharing content. This is akin to inviting a student to the front of the room to use a chalk board. With a Python interpreter window showing, the teacher can engage in conversation, show this as a kind of "chat window" where the interpreter "talks back". Turning to this window from time to time, not exclusively nor excessively, and interleaved with time in other exhibits, with other languages, would be my idea of a productive math class, with students piloting alongside the teacher, time sharing the projected content. Of course one need not project all the time, just saying that's a configuration I look for (and had at the police station). Then of course one wishes each student had a computer too. That's not a requirement though. I think it should be required that students get to co-pilot the shared / projected classroom computer. I like to see teachers sharing the floor, not hogging the limelight. But this isn't a hardware / tool issue, it's a formatting issue. The ideal at Saturday Academy and of One Laptop Per Child is a sense of having one's own computer, no need to share. That's a useful mode to be in, productive sometimes, but if there's only one computer, then projecting it may be the solution. Then more of a round robin format. I use this with adults as well. I like the public speaking angle. Math gets too isolating and solipsistic, to the detriment of everyone involved. > Algebra (1 and 2 step equations, simplifying, distributive property, > inequalities) > > Geometry (polygons, angles, surface area, volume) > A weakness in contemporary geometry is this belief that it's best to start in the abstract / ethereal realm of the infinite this and the dimensionless that. Anti-experiential. Wow 'em with less than self evident axioms and definitions and pretend that's elite and superior (a kind of snobism). Regular old objects of everyday space are more polyhedrons than polygons. The Earth is an oblate sphere. Keeping geodesy in the picture, ala Google Earth, Google Mars etc., ... so easy to pull ahead of the rank and file. One needs to be free of district strictures though, straitjacketing "standards". At Saturday Academy, we are not bound and gagged the way they do in some other schools I won't name in this post. > Ratios and Proportions > > Probability > > > > Standard Math (3 sections) Supported by McDougal-Littel Course 1 textbook > > http://www.classzone.com/cz/books/msmath_1_na/book_home.htm?state=IL > > Problem Solving Strategies > > Fraction operations > > Decimal operations > > Geometry > Maybe get some polyhedrons in here. I was just visiting with Father Magnus Wenninger in Minnesota. He's one of the premier polyhedronists. I met a young guy recently (he was waiting our table) who saw the polyhedrons we had (lunch meeting) and correctly named them. I was amazed and asked him which school system he'd attended. Minneapolis Public Schools. > Number Sense (Prime factorization, GCF, LCM, Divisibility Rules) > > Our district is generally supportive to adding new software to the school > computers, however requests are only honored during school breaks (winter, > spring, summer) as they want to keep the computers available for student use > and MAPS testing. (http://www.nwea.org/)? :-( > Typically, they'll teach GCF using prime factorizations and bleep over Euclid's Algorithm. That's a fork in the road. What I call "digital math" includes Euclid's. Here's Guido's version: def gcf(a, b): while b: a, b = b, a % b # modulo arithmetic return a Milo on mathfuture thinks number theory was expunged from Lower48 curricula during the anti-German backlash of Woodrow Wilson and WW1. Planar Euclidean geometry became the new pavement. More like the Russian curriculum in some ways. We could use a lot more ethnography of math education. Many full time anthropologists should be tasked to this important work, observing and reporting. One thing you can exhibit using the Python window (one of many) is this idea of types. We all know that objects (like dogs and shoes) come in types. "What type of thing is that?" So then in Python we have this "type" function that spits back the type of a thing. >>> type(1) >>> type(1.0) >>> import decimal >>> type(decimal.Decimal('10')) >>> type({'pig','dog','monkey','bat','snake','hamster'}) This is rather generic language, almost like basic English (which it is, translates to other languages pretty easily). Weaving together an "object oriented" patter with everyday ordinary speaking is a goal of my math classes. It's a language class. Nomenclature matters. Dot notation: noun.verb( ). results = thing.action( inputs ). noun.adjective. More grammar. Lights go on when students realize how much computers deal with alphanumeric data, not just numbers. There's this stereotype from the outside that it's all "number crunching" meaning glorified arithmetic. It's as much about text, about parsing, about markup. I like to dive in with some ideas about tcp/ip and shared infrastructure. To this end, I project 'Warriors of the Net', admittedly pretty basic: http://video.google.com/videoplay?docid=4523214973725842000 > My plan is to begin with my advanced math students. > > On a side note, I have enjoyed reading the personal stories you have been > sharing. Mine is that my first job out of college was working for the now > defunct Teletype Corporation, a part of the now defunct Western Electric, a > part of the now defunct Bell System, a part of the perhaps soon to be > defunct AT&T?! I spent ten years in public relations, took time off to raise > children, then returned to the workforce to teach middle school. > > Again, I appreciate your support, and I look forward to collaborating with > you. > The Baby Bells are striving to get back together they say. Sounds like one of those summer science fiction movies where the alien Globs are seeking to rejoin and form the Mother Glob. Anyway, I should get back to the day job (teaching Python as it happens). Great chatting, Kirby From mokurai at earthtreasury.org Sat Jul 2 04:33:35 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Fri, 1 Jul 2011 22:33:35 -0400 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: <20110701132810.GA3479@blackbeauty> References: <1559946252.33901.1309389342602.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> <20110701132810.GA3479@blackbeauty> Message-ID: On Fri, July 1, 2011 9:28 am, David Handy wrote: > I've written a beginning Python > programming book (an updated attempt at the "BASIC from the Ground Up" > that got me started), I've taught short, free seminars here in North > Carolina and Virginia, and am doing what I can in my "spare time" to > tutor youth, including my own children. > > Best wishes to all you fellow travelers! > > David H Where can we find your book? -- Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://wiki.sugarlabs.org/go/Replacing_Textbooks From mokurai at earthtreasury.org Sat Jul 2 05:33:21 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Fri, 1 Jul 2011 23:33:21 -0400 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: <1450477533.97954.1309527805217.JavaMail.root@sz0057a.emeryville.ca.mail.c omcast.net> References: <1450477533.97954.1309527805217.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> Message-ID: On Fri, July 1, 2011 9:43 am, mary.dooms at comcast.net wrote: > Thank you to everyone who has responded to my inquiry. I truly appreciate > your willingness to help. > > Our math curriculum addresses the Illinois state standards, however within > the next 3 years we will be moving to the Common Core. > > A breakdown of the curriculum is below : > > > Advanced math (1 section) supported by McDougal-Littel Course 2 textbook > > http://www.classzone.com/cz/books/msmath_2_na/book_home.htm?state=IL > > > Integers (order of operations) I take it that they mean function precedence, with multiplications done before additions and subtractions. Students can write programs to tell the computer how to evaluate expressions. > Fractions/Decimals/Percents > > Algebra (1 and 2 step equations, I don't know this terminology. > simplifying, distributive property, > inequalities) > > Geometry (polygons, angles, surface area, volume) > > Ratios and Proportions None of the above present problems for using Python. > Probability There are two tricky ideas here. The first is equiprobability. Suppose you have two cards, red on one side and black on the other. How many ways can they land if you toss them all at once? All black 1 black, 1 red All red Are these cases equally probable? No. (Try it.) What are the equally probable cases? The second, conditional probability, takes that thought further. Suppose you toss one card first, and it comes up red. What are the cases and probabilities for tossing the second card? This is easy, and nobody should have real trouble with it. Now suppose you are a contestant on Let's Make a Deal, and you have to choose among three doors, one with the grand prize, and two with nothing or useless prizes. You pick one, but don't get to open it. Then the host opens a different door that does not have the grand prize behind it. Should you stick with the door you first chose, or switch to the other one? This simple problem, which has a simple method of solution, has caused huge arguments among supposedly bright adults, many of whom get it flatly wrong. There are many other simple problems that most people get wrong, but that is a topic for another time. > Standard Math (3 sections) Supported by McDougal-Littel Course 1 textbook > > http://www.classzone.com/cz/books/msmath_1_na/book_home.htm?state=IL > > Problem Solving Strategies There are several useful approaches. In the long run, nothing beats practice on a wide range of problems and puzzles. > Fraction operations > > Decimal operations > > Geometry > > Number Sense (Prime factorization, GCF, LCM, Divisibility Rules) All readily programmed in Python. Thank you. Some of us will check them out. All of these except the problem solving strategies are within the range of elementary Python programming. Programming and debugging are excellent ways to teach problem solving strategies hands on. Which topics have your students had the greatest difficulties with? We need to make a list of topics and subtopics to Pythonize, then a list of Python features required to do that, then a sequence of lessons and challenges to teach all of that Python and math together. Simple functions and expressions, elementary program logic (branch and loop), and very simple graphics commands will cover most of it. We can discuss the use of data arrays and more advanced vector and matrix math for solving simultaneous equations. OT: I would like to see a larger unit on algebraic rules, not just the distributive law, emphasizing that different systems obey different sets of rules, and that certain sets of rules, or axioms, come up over and over again, and are worth understanding. However, that is called Modern Algebra, and anything Modern is nearly verboten in schools. ^_^ The result is that we are not permitted to explain that clock time is an algebraic ring, and to talk about other rings; nor can we talk about arithmetic on remainders, modulo some number N, as generating rings when N is composite and fields when N is prime. Not Boolean algebra unless we are specifically teaching computers; not vector spaces and their linear transformations, a concept that is trivial visually, and that makes trigonometry trivial to explain. We do not talk of groups of symmetries or permutations. We cannot even mention that each of these sets of rules, and many others, defines a category. Especially we cannot explain how to add apples and oranges in a graded ring of Laurent polynomials, even though we expect children to add 2x and 3y without explanation. You can look up graded rings and Laurent polynomials, but the point is that these are just names for the stuff of algebra itself, where you can use an arbitrary number of variables to make expressions by adding, subtracting, and multiplying, and sometimes, but not always, you can divide. And it's OK to use negative numbers, but not complex numbers or hyperreal numbers, (including infinitesimals and infinities), which have endless applications to topics that interest children, such as secret codes and games, and become essential later on in calculus, physics, and other topics. > Our district is generally supportive to adding new software to the school > computers, however requests are only honored during school breaks (winter, > spring, summer) as they want to keep the computers available for student > use and MAPS testing. (http://www.nwea.org/) :-( Do you mean that new software can be put on during the breaks only to be removed at the beginning of the next term, or that it can be installed and left there for future use? What software do you have now? Windows, Mac OS, or Linux? Commercial programming language products or Free Software? It appears that this might be a good case for Sugar on a Stick, a bootable USB drive, so that nothing is installed on the computer. This also means that each student who has one can carry any work done from one computer to another. > My plan is to begin with my advanced math students. > > On a side note, I have enjoyed reading the personal stories you have been > sharing. Mine is that my first job out of college was working for the now > defunct Teletype Corporation, a part of the now defunct Western Electric, > a part of the now defunct Bell System, a part of the perhaps soon to be > defunct AT&T?! Great pioneers in the computer industry, all, whose management thought that they understood the computer business better than the companies that dominated it. :( > I spent ten years in public relations, That could be helpful later on, when we try to sell our program to other teachers and to administrations. > took time off to > raise children, then returned to the workforce to teach middle school. > > Again, I appreciate your support, and I look forward to collaborating with > you. Likewise. > ----- Original Message ----- > From: mokurai at earthtreasury.org > To: "kirby urner" > Cc: edu-sig at python.org > Sent: Friday, July 1, 2011 1:32:45 AM > Subject: Re: [Edu-sig] Python and pre-algebra > > On Fri, July 1, 2011 1:41 am, kirby urner wrote: >> On Thu, Jun 30, 2011 at 8:03 PM, wrote: >>> >>> On Wed, June 29, 2011 7:15 pm, mary.dooms at comcast.net wrote: >>> > >>> > I teach 6th grade math and Python was suggested as a way to apply >>> > pre-algebra concepts in a programming context. My programming >>> background >>> > consists of one C++ programming class. How do I begin? >>> >>> Python is one of several excellent options. Others are Logo, Smalltalk, >>> and APL, all of which are available at no cost. I worked on a free APL >>> for >>> 8-bit computers before the Free Software movement got started, and I >>> have >>> friends working on APLs for current computers to put under the GPL. >>> >> >> APL was my first love at Princeton, back when most people (including >> me) had to use punch cards. > > You and jazz guitarist Stanley Jordan. He wants to create an APL-based > computer music education program. > > At Yale in 1963 we only had octal and FORTRAN. Later on, Yale hired Alan > Perlis away from Carnegie-Mellon to be Chairman of the Computer Science > Department. He made APL the first language for all CS students. > >> It was the interactivity I loved, among >> other aspects. Logo the same way. Grew into dBase later, always >> interactive, a dialog. Languages divide into those which respond, >> conversationally, and those which must be looked at as >> non-conversational. >> Python joined the ranks of the conversationals. > > LISP was the first. On the other hand, Waterloo University in Canada > created a FORTRAN interpreter for use in classes, to go with its APL, > Pascal, and others. > >>> Assuming that your students know no Python, you could use the Sugar >>> Labs >>> Turtle Art approach to math and programming to get started. Turtle Art >>> was >>> designed for children to use for math, programming, and art, and has >>> natural ways to move to Logo, Python, or Etoys/Smalltalk. FORTH, too, >>> but >>> most people don't want to know that. ^_^ (FORTH love if honk then) >> >> I was a math teacher in a day school for humans of the female >> persuasion, as one of the trusted male faculty (most were not male), >> but this was long before the Free Software movement (GNU / GPL), >> was still at the start of the first computer revolution. No Internet >> yet, at least not for ordinary civilians like me. > > My father was using timesharing, and allowed me on at 300 bps. > >> I dreamed of hypertext (read Computer Lib / Dream Machines >> by Ted Nelson) > > I met Ted when he gave an invited speech at the APL91 Conference at > Stanford. > >> and joined IGC with a guest account at New >> Jersey Institute of Technology. Proto-internet, pre-listserv. In >> the meantime, snailmailers were proto-typing listservs via >> Action Linkage. Anyone remember? You'd mail your post to >> the anchor, who'd photocopy the lot and mail back out to >> subscribers. The whole listserv phenomenon, happening >> through snailmail. > > Pierre de Fermat operated as listserv for all of the top mathematicians of > Europe before the journals got started. > >> Lots of ethnography as yet unwritten. >> >> Mid 1980s. >> >> 'A Network Nation' by Turoff and Starr Roxanne Hiltz. >> http://web.njit.edu/~turoff/Vita/vita2005.html#a30 >> >> I lived behind Loew's Theater on Journal Square, the main >> PATH station in Jersey City. By 1985, I was back in Portland, >> having been raised there through 2nd grade. >> >>> >>> The question is, which pre-algebra concepts? Do you have a curriculum >>> standard or a particular textbook in mind? Are there other topics of >>> interest? >>> >>> I can write TA or mixed TA/Python examples, and show students how to do >>> the same, and we could work together on lesson plans to share in the >>> Sugar >>> Labs Replacing Textbooks program. There are others with an interest in >>> doing this. >>> >> >> Then I worked at McGraw-Hill (after some stuff in between), 28th floor, >> Rockefeller Center, Manhattan, editing textbooks, testing educational >> computer games, contributing curriculum writing (Logo, BASIC). > > We need you to do that again as we find out what children can learn with > computer aid at earlier stages of development than we thought. > >> Back then, we thought computers were soon to take the math teaching >> world by storm. Little did we suspect that the North Americans would be >> conquered by Texas Instruments, leaving the innovation vista to >> other cultures and/or subversive counter-cultures still operational >> in some areas. > > Thousands of dollars for a computer, under $100 for a calculator. No > contest. HP was content with the engineering market and didn't want to > challenge TI to a retail war. > >> OLPC (One Laptop per Child) was one attempt to break the TI lock >> on teacher imaginations. For the most part, it failed in North America. >> The resistance was too great. No breakfast cereal boxes featured >> the XO. Nothing on the backs of Kellogs or General Mills. No >> donated G1G1 commercials during Saturday Morning cartoons. >> http://www.youtube.com/watch?v=yFmQP3JimAE&feature=related >> http://youtu.be/XSH_5YP0tU8 > > Ah, but what will happen when we have free digital textbook replacements, > so that netbooks cost less than printed textbooks? Better education at > lower cost. Can politicians resist that? > >> Few ever got a clue. Teachers fell further and further behind. >> >> The situation was so bad in Hillsboro (personal anecdote), home >> of Intel in Oregon (Aloha plant) that the police got into the home >> schooling business, tried to do outreach to tomorrow's gangland >> by setting up a Linux Lab in West Precinct (where I came in, as >> a contract instructor). > > I have an idea for going after homeschooling networks with OLPCs and > Sugar, also. > >> The schools had proved incompetent to do their jobs (educating >> for the future), so the Chief of Police was stepping in (he was >> 2nd generation Chinese immigrant). >> >> I lectured about this Hillsboro experiment to the London Knowledge >> Lab on my way to the Shuttleworth Foundation meeting with >> Helen King et al, our benevolent dictator, Guido, another member >> of our merry party (Scheme also represented). > > I met Guido at a BayPiggies meeting (Bay Area Python Interest Group) at > Google, where I mentioned to the audience that both Guido and I were > trying to compile sugar-jhbuild, and reporting to one of the mailing > lists, and that I had not been able to do it. He chimed in from the > audience that he had failed to build it also. > >> This was a meeting about South Africa, making long term plans even >> then (government officials were part of Mark's entourage). > > The Shuttleworth Foundation funded development of a suite of digital > learning resources for high school math and sciences for South Africa. > >>> > Are lesson plans and small programs available, for example, >>> >>> Probably. There are well over 100,000 digital learning resources on the >>> Net. You can find some of them on pages linked from >>> >>> http://wiki.sugarlabs.org/go/Open_Education_Resources >>> >>> We will need a substantial number of teachers to review them, compare >>> them, and select those that do the best job making concepts clear in >>> ways that will stay with students. >> >> The South African model was shaping up to serve auto-didacts. >> >> Kids who could self teach would stand the best chance. > > I would like to see how much of that we can help children learn, given > that they learn languages and cultures, among other things, with no formal > instruction. > >> The teachers were proving hopeless. Adult teachers could not be >> expected adapt to these technologies in sufficient time in sufficient >> number. Those were the facts on the ground. > > I don't think that that is necessarily so, and I intend to have our > Replacing Textbooks project create a sufficient set of teacher training > materials also. On some points, however, we might have to wait until some > of our XO students enter teachers colleges. > >> It's not like anyone wanted it to be this way. One had to make the >> best of a bad situation. >> >>> >>> > where students could write and >>> > "drop in" a script that includes integers and the output would not >>> only >>> > calculate it, but see the relevance of it in a real world situation? >>> >>> There are many ways to do that. One of the weirder ones is my Turtle >>> Art >>> Turing Machine for addition. ^_^ >>> >>> http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Turtle_Art_Turing_Machine >>> >>> More directly to your needs, Pippy is a Sugar activity that shows a >>> number of Python examples that students can edit. For example, >>> >>> Fibonacci >>> a, b = 0, 1 >>> while b< 1001: >>> print b, >>> a, b = b, a+b >>> >>> Changing the 0, 1 in the first line changes this from a generator of >>> Fibonacci numbers to a generator of the related Lucas numbers. There is >>> a Pascal's Triangle program. Plotted mod 2, it reveals a Sierpinski >>> fractal. >> >> "Generator" also has a technical meaning in Python, such that one >> might actually write a Fibonacci generator (of the GeneratorType). >> >>> >>> Relevant Python resources include NumPy and PyGame. >>> >>> > Or, perhaps, the program controls a "wheelchair" robot and students >>> would >>> > write scripts to drive the robot at a certain speed considering the >>> slope >>> > of a ramp? >>> >>> See the Etoys tutorial challenge for programming a "car", and the robot >>> program in Uruguay with robots controlled by Sugar software. >> >> Alan Kay was at that Shuttleworth meeting in Kensington. I'm sure >> there've been many follow-up meetings which I've not been privy to, plus >> I've continued to meet with Oregon-based colleagues. > > I met Alan Kay at the 40th anniversary of Doug Engelbart's Mother of All > Demos at Stanford. I had met Doug previously, and was apparently the first > to show him an XO. > >> I also work with an outfit in Sonoma County, where Python is concerned. >> >>> >>> http://www.flickr.com/photos/christophd/4827926508/ >>> XO turned into a robot thanks to the Buti?? project >>> >>> > As you can see, I am a novice, but I see great potential and am >>> > willing to learn. >>> >>> Delighted to meet you. >>> >> >> Ed writes a lot of good posts on many a math-related list. I recommend >> paying attention to his thinking (I know I do). > > Thanks, Kirby. > >> Kirby >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> 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://wiki.sugarlabs.org/go/Replacing_Textbooks > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > 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://wiki.sugarlabs.org/go/Replacing_Textbooks From david at handysoftware.com Sat Jul 2 20:10:39 2011 From: david at handysoftware.com (David Handy) Date: Sat, 2 Jul 2011 14:10:39 -0400 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: References: <1559946252.33901.1309389342602.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> <20110701132810.GA3479@blackbeauty> Message-ID: <20110702181038.GA4266@blackbeauty> On Fri, Jul 01, 2011 at 10:33:35PM -0400, mokurai at earthtreasury.org wrote: > > On Fri, July 1, 2011 9:28 am, David Handy wrote: > > I've written a beginning Python > > programming book (an updated attempt at the "BASIC from the Ground Up" > > that got me started), I've taught short, free seminars here in North > > Carolina and Virginia, and am doing what I can in my "spare time" to > > tutor youth, including my own children. > > > > Best wishes to all you fellow travelers! > > > > David H > > Where can we find your book? I sell my book in e-book format, or in batches of 20+, at: http://www.handysoftware.com/cpif/ Thanks, David H > -- > Edward Mokurai > (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر > ج) Cherlin > Silent Thunder is my name, and Children are my nation. > The Cosmos is my dwelling place, the Truth my destination. > http://wiki.sugarlabs.org/go/Replacing_Textbooks > > From mokurai at earthtreasury.org Sat Jul 2 20:38:04 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Sat, 2 Jul 2011 14:38:04 -0400 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: References: <311fad7296a80f9b9e9e5e5a0debd645.squirrel@emailmg.ipage.com> <1450477533.97954.1309527805217.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> Message-ID: <6a5ba3d067912bd5385c7f96e5f54839.squirrel@emailmg.ipage.com> On Fri, July 1, 2011 2:06 pm, kirby urner wrote: > A weakness in contemporary geometry is this belief that it's best to start > in the abstract / ethereal realm of the infinite this and the > dimensionless that. The real origin of geometry was the necessity of resurveying all agricultural land in Egypt after the annual Nile floods. > Anti-experiential. Wow 'em with less than self evident axioms and > definitions and pretend that's elite and superior (a kind of snobbism). See Thorstein Veblen, The Theory of the Leisure Class. > Regular old objects of everyday space are more polyhedrons than > polygons. The Earth is an oblate sphere. Oblate spheroid, approximately. The Earth-Moon orbital equations currently have several hundred terms, to do with their figures and their mass distributions. Many of those terms have been worked out using the retroreflector placed on the moon by astronauts, allowing us to measure its distance with an accuracy of a few inches. Kirby likes to focus on certain aspects of polyhedra, like his Martian Math. But polyhedra are endlessly fascinating in a multitude of ways, in crystallography, in topology (the Euler formula V-F+E), in error-correcting codes, in the proof of Fermat's Last Theorem (the relationship between elliptic functions and modular forms), and many other areas. The Bit in the original Tron movie had two forms, both stellated polyhedra (and both rendered for the movie in APL by Judson Rosebush). Then there are the much wider range of non-Euclidean polyhedra and the higher-dimensional polyhedragons, starting with the well-known tesseract. > Keeping geodesy in the picture, ala Google Earth, Google Mars etc., > > ... so easy to pull ahead of the rank and file. One needs to be free > of district strictures though, straitjacketing "standards". and the tyranny of the Right Answer, which prevented the recognition of negative numbers, non-Euclidean geometry, and complex numbers for centuries in each case, and is now holding back non-standard analysis, which allows us to use infinitesimals correctly in calculus. H. Jerome Keisler, Elementary Calculus: An Infinitesimal Approach http://www.clrn.org/search/details.cfm?elrid=8124 > At Saturday > Academy, we are not bound and gagged the way they do in some > other schools I won't name in this post. > >> Ratios and Proportions >> >> Probability >> >> >> >> Standard Math (3 sections) Supported by McDougal-Littel Course 1 >> textbook >> >> http://www.classzone.com/cz/books/msmath_1_na/book_home.htm?state=IL >> >> Problem Solving Strategies >> >> Fraction operations >> >> Decimal operations >> >> Geometry >> > > Maybe get some polyhedrons in here. > > I was just visiting with Father Magnus Wenninger in Minnesota. > He's one of the premier polyhedronists. > > I met a young guy recently (he was waiting our table) who > saw the polyhedrons we had (lunch meeting) and correctly > named them. I was amazed and asked him which school > system he'd attended. Minneapolis Public Schools. > >> Number Sense (Prime factorization, GCF, LCM, Divisibility Rules) >> >> Our district is generally supportive to adding new software to the >> school >> computers, however requests are only honored during school breaks >> (winter, >> spring, summer) as they want to keep the computers available for student >> use >> and MAPS testing. (http://www.nwea.org/)? :-( >> > > Typically, they'll teach GCF using prime factorizations and bleep > over Euclid's Algorithm. That's a fork in the road. What I call > "digital math" includes Euclid's. Here's Guido's version: > > def gcf(a, b): > while b: > a, b = b, a % b # modulo arithmetic > return a This is a variation of the general pattern for recurrence relationships def fn(a, b): while True: a, b = b, f(a, b) print a which actually works better if written as a Generator. If f is + and a, b = 0, 1 we get Fibonacci numbers. > Milo on mathfuture thinks number theory was expunged from > Lower48 curricula during the anti-German backlash of > Woodrow Wilson and WW1. Planar Euclidean geometry > became the new pavement. More like the Russian curriculum > in some ways. We could use a lot more ethnography of math > education. Many full time anthropologists should be tasked > to this important work, observing and reporting. > > One thing you can exhibit using the Python window (one of many) > is this idea of types. We all know that objects (like dogs and shoes) > come in types. "What type of thing is that?" So then in Python we > have this "type" function that spits back the type of a thing. > >>>> type(1) > >>>> type(1.0) > >>>> import decimal >>>> type(decimal.Decimal('10')) > >>>> type({'pig','dog','monkey','bat','snake','hamster'}) > Understanding types makes it possible to form a correct notion of adding apples and oranges. Ordinary addition doesn't work on most combinations of types, but one can define addition and the other basic arithmetic functions for anything. As I said the other day, this is called a graded ring of Laurent polynomials, which is a fancy way of saying "algebraic expressions" like 2/x + 3y. It is important to understand that there is not just one kind of addition, but a vast multitude of kinds, operating under different algebraic rules and forming a multitude of categories of algebraic structures with all sorts of mappings between them. Shopping cart arithmetic is but one of them, and in shopping cart arithmetic, you *can* add apples and oranges. > This is rather generic language, almost like basic English (which > it is, translates to other languages pretty easily). Weaving together > an "object oriented" patter with everyday ordinary speaking is a > goal of my math classes. It's a language class. Nomenclature > matters. Dot notation: noun.verb( ). results = thing.action( inputs ). > noun.adjective. More grammar. > > Lights go on when students realize how much computers deal with > alphanumeric data, not just numbers. There's this stereotype from > the outside that it's all "number crunching" meaning glorified > arithmetic. It's as much about text, about parsing, about markup. > > I like to dive in with some ideas about tcp/ip and shared infrastructure. > To this end, I project 'Warriors of the Net', admittedly pretty basic: > http://video.google.com/videoplay?docid=4523214973725842000 > >> My plan is to begin with my advanced math students. >> >> On a side note, I have enjoyed reading the personal stories you have >> been >> sharing. Mine is that my first job out of college was working for the >> now >> defunct Teletype Corporation, a part of the now defunct Western >> Electric, a >> part of the now defunct Bell System, a part of the perhaps soon to be >> defunct AT&T?! I spent ten years in public relations, took time off to >> raise >> children, then returned to the workforce to teach middle school. >> >> Again, I appreciate your support, and I look forward to collaborating >> with >> you. >> > > The Baby Bells are striving to get back together they say. Yes, one of them bought AT&T and assumed its name, and I get TV and Internet from them. > Sounds > like one of those summer science fiction movies where the alien > Globs are seeking to rejoin and form the Mother Glob. Terminator 2. > Anyway, I should get back to the day job (teaching Python as it happens). > > Great chatting, > > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > 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://wiki.sugarlabs.org/go/Replacing_Textbooks From mokurai at earthtreasury.org Sat Jul 2 20:45:01 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Sat, 2 Jul 2011 14:45:01 -0400 Subject: [Edu-sig] Python and pre-algebra In-Reply-To: <20110702181038.GA4266@blackbeauty> References: <1559946252.33901.1309389342602.JavaMail.root@sz0057a.emeryville.ca.mail.comcast.net> <20110701132810.GA3479@blackbeauty> <20110702181038.GA4266@blackbeauty> Message-ID: <7142b32a1b6aa10251d537feb3f2c6fe.squirrel@emailmg.ipage.com> On Sat, July 2, 2011 2:10 pm, David Handy wrote: > On Fri, Jul 01, 2011 at 10:33:35PM -0400, mokurai at earthtreasury.org wrote: >> >> On Fri, July 1, 2011 9:28 am, David Handy wrote: >> > I've written a beginning Python >> > programming book (an updated attempt at the "BASIC from the Ground Up" >> > that got me started), I've taught short, free seminars here in North >> > Carolina and Virginia, and am doing what I can in my "spare time" to >> > tutor youth, including my own children. >> > >> > Best wishes to all you fellow travelers! >> > >> > David H >> >> Where can we find your book? > > I sell my book in e-book format, or in batches of 20+, at: > > http://www.handysoftware.com/cpif/ I see. I was going to ask whether Sugar Labs could distribute it in other languages under a Creative Commons license, but our booki software is not set up to host a commercial product for translation. Well, doubtless there are other ways. > Thanks, > David H -- Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://wiki.sugarlabs.org/go/Replacing_Textbooks From mokurai at earthtreasury.org Sun Jul 10 20:50:49 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Sun, 10 Jul 2011 14:50:49 -0400 Subject: [Edu-sig] (no subject) Message-ID: <14c50e93dcdc68bbdb85d0a11da0eb0e.squirrel@emailmg.ipage.com> Related to my suggestion of using Turtle Art as a starting point for Python and pre-calculus, you might find these Logo books useful for exploring another direction besides Python. Pythonistas are welcome to suggest comparable Python titles, of course. And remember, Turtle Art is written in Python, so this isn't complete heresy. ^_^ http://el.media.mit.edu/logo-foundation/products/books.html Teaching With Logo, by Molly and Daniel Watt Approaching Precalculus Mathematics Discretely, by Philip G. Lewis -- Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://wiki.sugarlabs.org/go/Replacing_Textbooks From kb1pkl at aim.com Fri Jul 15 05:20:06 2011 From: kb1pkl at aim.com (Corey Richardson) Date: Thu, 14 Jul 2011 23:20:06 -0400 Subject: [Edu-sig] General Programming Education Message-ID: <1310699222-sup-7409@dalek> 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? 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: From carl at free.org.nz Fri Jul 15 06:00:31 2011 From: carl at free.org.nz (Carl Cerecke) Date: Fri, 15 Jul 2011 16:00:31 +1200 Subject: [Edu-sig] General Programming Education In-Reply-To: <1310699222-sup-7409@dalek> References: <1310699222-sup-7409@dalek> Message-ID: 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 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 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? > > 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 > http://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ccosse at gmail.com Fri Jul 15 06:13:30 2011 From: ccosse at gmail.com (=?ISO-8859-1?Q?Charles_Coss=E9?=) Date: Thu, 14 Jul 2011 22:13:30 -0600 Subject: [Edu-sig] General Programming Education In-Reply-To: <1310699222-sup-7409@dalek> References: <1310699222-sup-7409@dalek> Message-ID: Hi, Python's simplicity allows programmers to focus on the job that they originally set out to do (as opposed to getting side-tracked and bogged-down by language overhead considerations). Very often a procedure is challenging enough to work through without any unnecessary overhead. Heck, I think it's safe to say that nobody needs overhead added unnecessarily in any circumstance. BTW, there is the jython language, which is exactly python with access to the jdk via python syntax ... thereby making Java (appear as) a subset of Python (whereas it's really an implementation of Python written in Java!). As far as the teaching in general, I think introducing via procedural and motivating oop by example would be a good approach. Best Regards, Charles Coss? (sorry for 2x emails Corey -- 1st one didn't cc edu-sig) On Thu, Jul 14, 2011 at 9:20 PM, Corey Richardson 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? > > 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 > http://mail.python.org/mailman/listinfo/edu-sig > > -- AsymptopiaSoftware|Software at theLimit http://www.asymptopia.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From lac at openend.se Fri Jul 15 06:22:02 2011 From: lac at openend.se (Laura Creighton) Date: Fri, 15 Jul 2011 06:22:02 +0200 Subject: [Edu-sig] General Programming Education In-Reply-To: Message from Corey Richardson of "Thu, 14 Jul 2011 23:20:06 EDT." <1310699222-sup-7409@dalek> References: <1310699222-sup-7409@dalek> Message-ID: <201107150422.p6F4M23F011594@theraft.openend.se> In a message of Thu, 14 Jul 2011 23:20:06 EDT, Corey Richardson writes: >a few said "Pfff, but python sucks. It's too simple". Is it just me, or >should simplicity be a Good Thing? It is not just you. I think these people may be members of the 'misery loves company' crowd. ``It was hard for me to learn it, so it had better be hard for you, too.'' Or the ``suffering builds character'' crowd. Or the ``programming is an elite business -- we wouldn't want just anybody doing it??. Possibly they just hate fun, and get annoyed at the idea that it might be fun to program in Python. I've met all of the above. Pity their students. Of course, some just have too optimitic a view of the human condition. They reason that there must be something good about all the complexity of java -- even if it is not obvious to them - or else we would have stopped using it already. They just need a lesson in the inertia of human institutions. >Any other insights? Python already has a lot of very nice data types. The dictionary is a wonderful thing. People should _use_ them. Many people who have been taught the OOP religion automatically refactor every dictionary they find into a class with attributes, because they think that this is in some way 'better'. This is dead wrong. If you refuse to use the very high level abstractions out of your VHLL, and only stick to the Low Level abstractions, then you might as well be programming in a LLL such as Java. That some of your colleagues apparantly did not recognise that the reason that Python is simpler is because it is a VHLL -- because simplicity in expressing ideas in the hallmark of a VHLL -- does not speak very well for them. Laura >Corey Richardson From kirby.urner at gmail.com Fri Jul 15 07:51:05 2011 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 14 Jul 2011 22:51:05 -0700 Subject: [Edu-sig] General Programming Education In-Reply-To: <1310699222-sup-7409@dalek> References: <1310699222-sup-7409@dalek> Message-ID: On Thu, Jul 14, 2011 at 8:20 PM, Corey Richardson wrote: << SNIP >> > 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 > > I like the Lincoln quote. Many approaches have validity of course, especially in the hands of someone experienced who keeps it interesting. When I first splashed into programming, OOP had yet to hit, but it wasn't like there wasn't already a veritable menagerie of amazing languages -- even sans OOP. Like, we had SNOBOL and APL and PL/1 (just a few I got to mess around in). I transitioned to OOP along the xBase track, as many did: dBase II, dbase III, dBase IV, Clipper, FoxPro, FoxPro for Windows, and Visual FoxPro (VFP). Some of my peers along that track are just beginning to appreciate Python, now that Microsoft has signaled it's pulling the plug on VFP. http://fox.wikis.com/wc.dll?Wiki~VFPRoadMapDiscussion The J community (J being a successor to APL (or a mutant child of?)) uses a grammar-teaching approach to teaching programming, referring to verbs, nouns, adverbs, other parts of speech as parts of its language. http://www.cs.trinity.edu/~jhowland/math-talk/functional1/ Following that model, I sometimes teach OOP by writing things like: noun.verb(args) thing.adjective thing.verb() noun.property and so on, deliberately confusing "parts of speech" talk with the OOPy stuff. Then I teach looking at the world that way, not using a computer language. What are the properties and behaviors of a flower? A panda? Analyze an airport in terms of its objects and processes. Come back to computers when you're ready, take your time. But then when I can get away with it, my topic is not "programming" or "CS" but a more exotically named "digital math" or (last year) "martian math". In the more formal presentations, the latter is a topic area within the former: http://wikieducator.org/Digital_Math In this approach, you want to develop an awareness of types (types of things -- like types of biotum) and their respective namespaces. This dovetails with Carl's focus on objects before classes. A "list" is a convergence of many concepts, a "dict" is another, an "int" yet another and so on. A "type" is not just a simple thing. Knowing about types helps us learn about math, with its concentric N, Z, Q, R and C types. In treating computer languages as math notations, we're treading somewhat in the footsteps of Russell and Frege (etc.), except we're using Stallman type tools for building our machinery, more than the tools of the so-called analytic philosophers (Quine etc.) Kirby @ Pacific Lutheran University (PLU) (visiting) -------------- next part -------------- An HTML attachment was scrubbed... URL: From mokurai at earthtreasury.org Fri Jul 15 11:50:47 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Fri, 15 Jul 2011 05:50:47 -0400 Subject: [Edu-sig] General Programming Education Message-ID: <34d80b7033529d1844412940e38e8581.squirrel@emailmg.ipage.com> On Thu, July 14, 2011 11:20 pm, Corey Richardson 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? http://www.pbm.com/~lindahl/real.programmers.html Real Programmers Don't Use Pascal > But, my real question to you educators is, which paradigm do you use when first teaching programming, and why? I'm working with a different age group than you, but I start by mixing object programming and procedural programming. I use Turtle Art in the Sugar education suite for One Laptop Per Child XOs, now ported to several kinds of Linux. We begin with one object, and we send it a stream of messages to tell it what to do. One of the advantages is that the program elements are snap-together tiles/blocks rather than text, so that it is impossible to mistype a keyword or make a syntax error. Another advantage is that the children learn to work directly with the parse trees of programs before learning to write them in linear text. Then we have a choice of transitioning to Python, supported directly within Turtle Art using program blocks; Logo, which we can create as an export option from Turtle Art; or the Etoys environment for Smalltalk, which can also do turtle graphics using tile-based programming. There are also stack primitives in TA, so that we can introduce RPN and FORTH concepts. I am working on a set of lessons on all of this. Tony Forster is also contributing topics handled in Turtle Art. http://wiki.sugarlabs.org/go/Turtle_Art/Tutorials Marvin Minsky (born 1927) You don't understand anything until you learn it more than one way. In Rebecca Herold, Managing an Information Security and Privacy Awareness and Training Program (2005), 101. We like to think that a child's play is unconstrained?but when children appear to feel joyous and free, this may merely hide from their minds their purposefulness; you can see this more clearly when you attempt to drag them away from their chosen tasks. For they are exploring their worlds to see what's there, making explanations of what those things are, and imagining what else could be; exploring, explaining and learning are among a child's most purposeful urges and goals. The playfulness of childhood is the most demanding teacher we have. Never again in those children's lives will anything drive them to work so hard. The Emotion Machine We have many studies of successful introduction of programming in third grade, using a variety of languages, but we do not know how much earlier we can begin. Preschoolers can be introduced to Turtle Art with the game You be the Turtle. I have proposed a version of Turtle Art with icons instead of words on the blocks, so that we can test how much of it the preliterate can manage. There are several visual forms of digits that children can read directly by counting elements, usually dots or lines. I use colors for variable and procedure names, and skip over text input and output until later. My most advanced CS example, not suitable for very small children, is a Turing Machine implemented in Turtle Art. -- Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://wiki.sugarlabs.org/go/Replacing_Textbooks From enbody at cse.msu.edu Fri Jul 15 15:38:53 2011 From: enbody at cse.msu.edu (Richard Enbody) Date: Fri, 15 Jul 2011 09:38:53 -0400 Subject: [Edu-sig] General Programming Education In-Reply-To: References: <1310699222-sup-7409@dalek> Message-ID: <4E2042ED.70307@cse.msu.edu> 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++. -rich 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 > 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 > 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? > > 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 > 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: From calcpage at aol.com Fri Jul 15 20:06:43 2011 From: calcpage at aol.com (A. Jorge Garcia) Date: Fri, 15 Jul 2011 14:06:43 -0400 Subject: [Edu-sig] General Programming Education In-Reply-To: <4E2042ED.70307@cse.msu.edu> References: <1310699222-sup-7409@dalek> <4E2042ED.70307@cse.msu.edu> Message-ID: <16810ae9-4d97-4d88-b4b1-367f57f5121b@email.android.com> Richard Enbody wrote: 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++. -rich 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 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 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? 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 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 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!" Thanx, A. Jorge Garcia Applied Math and CompSci http://shadowfaxrant.blogspot.com http://www.youtube.com/calcpage2009 Sent via DROID on Verizon Wireless -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurner at oreillyschool.com Fri Jul 15 20:14:35 2011 From: kurner at oreillyschool.com (Kirby Urner) Date: Fri, 15 Jul 2011 11:14:35 -0700 Subject: [Edu-sig] General Programming Education In-Reply-To: <34d80b7033529d1844412940e38e8581.squirrel@emailmg.ipage.com> References: <34d80b7033529d1844412940e38e8581.squirrel@emailmg.ipage.com> Message-ID: > Then we have a choice of transitioning to Python, supported directly > within Turtle Art using program blocks; Logo, which we can create as an > export option from Turtle Art; or the Etoys environment for Smalltalk, > which can also do turtle graphics using tile-based programming. There are > also stack primitives in TA, so that we can introduce RPN and FORTH > concepts. I am working on a set of lessons on all of this. Tony Forster is > also contributing topics handled in Turtle Art. > > http://wiki.sugarlabs.org/go/Turtle_Art/Tutorials > > I only found an empty page here. Coming soon? There's a lot of good turtle stuff out there in Python. Gregor is a resident master. * * * My sense is there's no shortage of anything except a willingness to try new things. Innovation is hard to accomplish at the end of the day, simply because it's easier to keep doing what you were doing -- until it's not. Freeing up schools to try new things means not locking them in to pre-specified curricula complete with state mandated texts and tests. Not everyone has such freedoms. Kirby Note: I've got very primitive "tractor" objects in a field of ascii, just to show off 2d data structures, draw Mandelbrots, play Life (OST servers). One of the freakiest tractors is a generator that implements the "send" feature in a weird way: http://www.4dsolutions.net/ocn/python/OST/thefarm.py (you can refuel it, change direction, change the mark it makes when it plows) ... depends on the Farm class (a 2d field) here: http://www.4dsolutions.net/ocn/python/OST/farmworld.py Here's a silly drawing of how I think of it: http://www.4dsolutions.net/ocn/python/OST/farmer_gen.jpg -------------- next part -------------- An HTML attachment was scrubbed... URL: From mokurai at earthtreasury.org Sun Jul 17 18:13:48 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Sun, 17 Jul 2011 12:13:48 -0400 Subject: [Edu-sig] General Programming Education In-Reply-To: References: <34d80b7033529d1844412940e38e8581.squirrel@emailmg.ipage.com> Message-ID: On Fri, July 15, 2011 2:14 pm, Kirby Urner wrote: >> Then we have a choice of transitioning to Python, supported directly >> within Turtle Art using program blocks; Logo, which we can create as an >> export option from Turtle Art; or the Etoys environment for Smalltalk, >> which can also do turtle graphics using tile-based programming. There >> are >> also stack primitives in TA, so that we can introduce RPN and FORTH >> concepts. I am working on a set of lessons on all of this. Tony Forster >> is also contributing topics handled in Turtle Art. >> >> http://wiki.sugarlabs.org/go/Turtle_Art/Tutorials Ah, yes. http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Tutorials My apologies. > I only found an empty page here. Coming soon? > > There's a lot of good turtle stuff out there in Python. > > Gregor is a resident master. > > * * * > > My sense is there's no shortage of anything except a willingness to try > new things. > > Innovation is hard to accomplish at the end of the day, simply because > it's easier to keep doing what you were doing -- until it's not. > > Freeing up schools to try new things means not locking them in to > pre-specified curricula complete with state mandated texts and tests. > > Not everyone has such freedoms. > > Kirby > > Note: > > > I've got very primitive "tractor" objects in a field of ascii, just to > show > off 2d data structures, draw Mandelbrots, play Life (OST servers). > > One of the freakiest tractors is a generator that implements the "send" > feature in a weird way: > > http://www.4dsolutions.net/ocn/python/OST/thefarm.py > (you can refuel it, change direction, change the mark it makes when it > plows) > > ... depends on the Farm class (a 2d field) here: > http://www.4dsolutions.net/ocn/python/OST/farmworld.py > > Here's a silly drawing of how I think of it: > http://www.4dsolutions.net/ocn/python/OST/farmer_gen.jpg > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > 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://wiki.sugarlabs.org/go/Replacing_Textbooks From kirby.urner at gmail.com Sun Jul 17 19:46:34 2011 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 17 Jul 2011 10:46:34 -0700 Subject: [Edu-sig] Musings on PEP8 Message-ID: I find myself thinking about PEP8 a lot, not that I have it memorized. Now that Unicode reigns at the top-level, we've got an influx of Chinese namespaces, Hindi namespaces, Cyrillic namespaces... a nice long list, and the PEP8 conventions regarding capitalization, while sensible in Latin-1, might not cover the new cases (I say "might not" with some sarcasm, or an innocent stare (playing it straight)). I've seen arguments in diversity-minded circles that straying from Latin-1 top-level will obliterate the open source nature of open source, with many a Chinese engineer welcoming the advantages of a world around simple base cases, the old ASCII, a mother tongue of computer scientists (more so than EBCDIC even (sarcasm again)). http://en.wikipedia.org/wiki/Extended_Binary_Coded_Decimal_Interchange_Code The inter-readability of Latin-1 means lots of headaches removed, like at least *something* positive came out of that Roman period (as a child of Rome, I get to sound chiding). The flip side argument, which I find more persuasive, is that one of the biggest barriers to diversity is over-reliance on Latin-1, and "just ASCII" in particular. I heard those cheers in Vilnius, when Guido talked about the brave new Unicode world. Google's blogger interface switches to Lithuanian automatically when that's your timezone, or however it's figured. Lots of alphabetical markings you might not find in Latin-1. http://controlroom.blogspot.com/2007/07/blogger-control-panel-in-lithuanian.html The whole point of Unicode was to open up source code writing, as an occupation, to more than just Euro-English speakers. The bridge has been built and Python has already crossed over it. http://controlroom.blogspot.com/2007/11/unicode.html None of which is to say that knowledge of Latin-1 is dispensable. My first chapters in Naming and Ordering per MathFuture threads (also Cardinality vs Ordinality) starts with "mappings" (the usual approach to functions per Dolciani) with familiar glyphs (we're learning them anyway in learning to read a native language), pairing with ASCII and Unicode bytecodes. Yes, it's a long discussion (UTF8 vs UTF32 etc) but we're talking about time slices and repeated revisits in a spiraling trajectory (per Saxon treatments). So even if the bulk of your coding is in some Thai characterset, you're quite familiar with the lower 128 in the Unicode codespace. Python itself has 33 keywords and a large number of builtins, such that "average Python" might look like Romanji-intensive Japanese, i.e. "heavy on the Latin-1 pepper, other spices" (yet lots of room for top-level class, function, variable names, libraries stuffed with them, all outside Latin-1). These concerns have been a long term focus, and continue to be, as Python students I encounter may be there for work and that may mean using non-Latin-1 Python namespaces much of the time. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From vernondcole at gmail.com Mon Jul 18 17:47:58 2011 From: vernondcole at gmail.com (Vernon Cole) Date: Mon, 18 Jul 2011 09:47:58 -0600 Subject: [Edu-sig] Musings on PEP8 Message-ID: > From: kirby urner > To: edu-sig at python.org > > I find myself thinking about PEP8 a lot, not that I have it memorized. > > Now that Unicode reigns at the top-level, we've got an influx of > Chinese namespaces, Hindi namespaces, Cyrillic namespaces... > a nice long list, and the PEP8 conventions regarding capitalization, > while sensible in Latin-1, might not cover the new cases [...] Remember that PEP 8 is a guideline, not a requirement, and that it is documented as: "This document gives coding conventions for the Python code comprising the standard library in the main Python distribution. " Any programmer may choose any style she prefers for her own use. If she is writing modules for the standard library -- and expects to have them accepted by the community -- then she will follow PEP 8. > The inter-readability of Latin-1 means lots of headaches removed, > like at least *something* positive came out of that Roman period [...] Yes, having taken a contract to maintain code where the author wrote his comments in Romanized Ukrainian, I have a great respect for non-English-native authors who take the time to learn English well. It is a terrible language to have to learn, I am told, but is the only one _all_ software engineers can be expected to know. Also PEP 8 states that: "Latin-1 (or UTF-8) should only be used when a comment or docstring needs to mention an author name that requires Latin-1; otherwise, using \x, \u or \U escapes is the preferred way to include non-ASCII data in string literals." Even then, I would hope that an author would include an Anglicized version of his name, so that I can recognize it when I see it again. The only alphabets I personally can read are Latin, Cyrillic, Hebrew, and Greek. If your name is in Cherokee, then please put (John Standing Bear) in ASCII along side it. There is a very good reason for this: standard library code must be readable for people all over the world. That's why a Dutch software engineer wrote a language in which all the keywords and commentary are in English. > > The flip side argument, which I find more persuasive, is that > one of the biggest barriers to diversity is over-reliance on Latin-1, > and "just ASCII" in particular. > > The whole point of Unicode was to open up source code writing, > as an occupation, to more than just Euro-English speakers. I disagree. The whole point of Unicode is to open up application writing, so that _users_ can see computer output in their own languages. A person who wishes to pursue code writing as an occupation must understand and use English -- or be relegated to producing work only for his own culture. In the modern "flat" world, English is the language of commerce and computer programming. Not being able to write understandable English is a severe handicap. My programs are written in Python, documented in English, and usable by persons of another language. For example, see CaesarCalc.py from https://launchpad.net/romanclass , which assumes the user to be able to understand pigeon Latin. Even then, I give the result of (XVI - XVI) as "Nulla" because I expect that most users will not recognize "Nvlla" as meaning "nothing." Here is sample output. Notice that, when it blows up the traceback is in Python with English explanations: procer numerus hic:III - II I procer numerus hic:3 - 2 I procer numerus hic:3 - 3 Nulla procer numerus hic:2 - 3 Traceback (most recent call last): File "CaesarCalc.py", line 40, in print (cvt(subtrahends[0]) - cvt(subtrahends[1])) File "/home/vernon/romanclass-1.0.1/romanclass.py", line 99, in __sub__ return Roman(self.__int__() - other) File "/home/vernon/romanclass-1.0.1/romanclass.py", line 85, in __new__ raise OutOfRangeError, 'Cannot store "%s" as Roman' % repr(N) romanclass.OutOfRangeError: Cannot store "-1" as Roman IMHO, on the whole, PEP 8 is a pretty good document. -- Vernon -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon Jul 18 20:29:36 2011 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 18 Jul 2011 11:29:36 -0700 Subject: [Edu-sig] Musings on PEP8 In-Reply-To: References: Message-ID: Hi Vernon, ... not to be confused with Vern "the Watcher" Ceder. On Mon, Jul 18, 2011 at 8:47 AM, Vernon Cole wrote: > There is a very good reason for this: standard library code must be > readable for people all over the world. That's why a Dutch software > engineer wrote a language in which all the keywords and commentary are in > English. > > Yes, the Standard Library is to be Anglicized for some time to come, maybe always, per Guido's talks. Of course there's nothing to stop someone from writing a translator for the Standard Library, such that the source originals (as modified) might be rendered in myriad other charactersets. Top-level names tend to be amenable to such treatment. This may be done down to the C family level, though I'm not suggesting that it should be (nor are all Python implementations C family I hasten to add, (a Jython is "C family" if the Java VM is)). The same is not true for 3rd party modules which, as you say, may be written in any style. Learning the Latin (English) alphabet, building a vocabulary, remains a good idea obviously, along with ASCII in the context of Unicode. I expect those focused in computer science will continue giving themselves the benefit of this learning. I received Romanized Indonesian source code for quite awhile, until the student moved to Japan and apparently stopped doing Python. I'm impressed with all the alphabets you know. 3rd party modules written in Cyrillic with the peppering of Roman we know must be there, thanks to Standard Library (untranslated) and the 33 keywords (so far), could be used in computer science to help English speakers learn a Cyrillic language. http://en.wikipedia.org/wiki/Languages_written_in_a_Cyrillic-derived_alphabet > > > > The flip side argument, which I find more persuasive, is that > > one of the biggest barriers to diversity is over-reliance on Latin-1, > > and "just ASCII" in particular. > > > > The whole point of Unicode was to open up source code writing, > > as an occupation, to more than just Euro-English speakers. > > I disagree. The whole point of Unicode is to open up application writing, > so that _users_ can see computer output in their own languages. A person > who wishes to pursue code writing as an occupation must understand and use > English -- or be relegated to producing work only for his own culture. In > the modern "flat" world, English is the language of commerce and computer > programming. Not being able to write understandable English is a severe > handicap. My programs are written in Python, documented in English, and > usable by persons of another language. For example, see CaesarCalc.py from > https://launchpad.net/romanclass , which assumes the user to be able to > understand pigeon Latin. Even then, I give the result of (XVI - XVI) as > "Nulla" because I expect that most users will not recognize "Nvlla" as > meaning "nothing." > > Certainly the GUI needs to be intelligible yes. Lets just say there's a school of thought that has no problem with a math, logic or grammar teacher using only Chinese characters for top level names in various exercises using Python or other Unicode aware computer language. And no problem with another teacher using only Hebrew characters for top level names and so on. This school of though hangs out on the Python Diversity list and self-organizes there. If you go back in the archives, you'll find myself and a guy named Carl doing stuff in the Python wiki to expand the language base, including at the source code level. With Pycon / Tehran in the planning, we want to be in a better position to address issues relating GeoDjango to Farsi, say. These exercises (mentioned above) may have nothing to do with writing commercial applications. These may not be programmers in training (though some may be in commercial media, where "programming" also has meaning (e.g. in radio / TV)). Instead of using a calculator or abacus to learn numeracy skills, people have laptops and internet access. Having readable source code in languages that aren't in a Roman alphabet is already a spreading phenomenon, with many writers happily giving up that so-called "world readability" in favor of remaining intelligible to the girl or boy next door. The syntax of URIs and domain names has already taken this turn. You will have http//arabic letters// quite frequently these days, thanks to the Unicode basis of http (which Python now needs to deal with, and does, as an http-aware language). CSS for Arabic is the kind of style concern for which we may have insufficient literature to date. We may have people joining Diversity who want to develop that literature (recruiting happening). http://www.guardian.co.uk/technology/2010/may/06/arabic-web-addresses-internet Here is sample output. Notice that, when it blows up the traceback is in > Python with English explanations: > > procer numerus hic:III - II > I > procer numerus hic:3 - 2 > I > procer numerus hic:3 - 3 > Nulla > procer numerus hic:2 - 3 > Traceback (most recent call last): > File "CaesarCalc.py", line 40, in > print (cvt(subtrahends[0]) - cvt(subtrahends[1])) > File "/home/vernon/romanclass-1.0.1/romanclass.py", line 99, in __sub__ > return Roman(self.__int__() - other) > File "/home/vernon/romanclass-1.0.1/romanclass.py", line 85, in __new__ > raise OutOfRangeError, 'Cannot store "%s" as Roman' % repr(N) > romanclass.OutOfRangeError: Cannot store "-1" as Roman > > > IMHO, on the whole, PEP 8 is a pretty good document. > -- > Vernon > I'm not denigrating PEP8 in any way, even though I used some light sarcasm in my post. That was not directed against PEP8, so much as against the idea that the "rule book" is somehow complete, just because we have it down that functions should generally not start with a capital letter, and l (lowercase L) is a terrible name for all purposes because it's so indistinguishable from uppercase I and the number 1 in many fonts. I think as people start getting a lot more experience writing Python with different namespaces, with non-Roman top-level names etc., that the rule book is inevitably going to expand and that a Book of Styles could conceivably become enormous. But then think of English: we acknowledge many styles as being appropriate and don't have just the one "book" where style is concerned (we have so many) -- not like the dictionary, with a goal of including every word in a finite and deliberately exclusive set of standard words. I have some examples of Python source in my blogs, using kanji as top-level names (might be a Japanese program, as one of the kanji is for Mt. Fuji as I recall). Then there's some tracking down Stallman on a visit to Sri Lanka (awhile back) and chatter about Python in Tamil and Sinhalese. And yes, I am aware English is spoken in this parts as well, as evidenced by Arthur C. Clarke's having lived there for so long. One of our CSN chiefs has a track record there too, another English speaker. http://www.sarvodaya.org/2005/05/17/suzanne-bader%E2%80%99s-sri-lanka-visit-report http://controlroom.blogspot.com/2009/01/at-work.html http://risenfall.wordpress.com/2008/01/14/richard-stallman-rms-is-in-sri-lanka/ Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From vceder at gmail.com Mon Jul 18 22:00:33 2011 From: vceder at gmail.com (Vern Ceder) Date: Mon, 18 Jul 2011 15:00:33 -0500 Subject: [Edu-sig] Musings on PEP8 In-Reply-To: References: Message-ID: Since Kirby invoked me by name ;), I'll jump in with a quick top post, a) because I'm lazy and in a hurry, and b) because my comments are only generally related to the specifics of the previous posts. Apologies. First of all, in general I would respond to Kirby's musings by invoking my own personal principle that PEP 20 (specifically, "Practicality beats purity") trumps PEP 8. I would think that would be true when it comes to naming conventions in other languages. If it's a library that is useful to, say, Klingon speakers only, it would make sense to name the library and it's components in Klingon. OTOH, if they wanted to share their work and wanted it to be useful to the non-Klingon speaking Federation, Klingon might not be a practical or effective choice. (Of course, being Klingon, they may not care... ;) ) Personally, I run into this issue on a daily basis these days. As the current maintainer of an entire web platform developed by our Japanese sister company, I face emails and documentation (including code comments) in Japanese, giving me ample practice with both Google translate and deciphering kana. When I chatted with the Japanese team (via Google translate, gestures, and scrawling code on the whiteboard) about the new features of Python 3, support for unicode in Python code got a cheer, and I certainly understand that. However, for sharing code, I'd have to agree with my namesake - diverging from the English standard is problematic. I'm finding what I think of as "technical Japanese" to be not that hard to understand, but that's exactly because so much of the vocabulary is borrowed from English - data, account, server, etc, etc, etc. Finally, I have to note that both of us Vernons are conversant in Latin, which is the sort of coincidence sportscasters are prone to mis-label "ironic"... ;) Cheers, Vern On Mon, Jul 18, 2011 at 1:29 PM, kirby urner wrote: > Hi Vernon, > > ... not to be confused with Vern "the Watcher" Ceder. > > On Mon, Jul 18, 2011 at 8:47 AM, Vernon Cole wrote: > > >> There is a very good reason for this: standard library code must be >> readable for people all over the world. That's why a Dutch software >> engineer wrote a language in which all the keywords and commentary are in >> English. >> >> > Yes, the Standard Library is to be Anglicized for some time to come, > maybe always, per Guido's talks. > > Of course there's nothing to stop someone from writing a translator > for the Standard Library, such that the source originals (as modified) > might be rendered in myriad other charactersets. > > Top-level names tend to be amenable to such treatment. > > This may be done down to the C family level, though I'm not suggesting > that it should be (nor are all Python implementations C family I hasten > to add, (a Jython is "C family" if the Java VM is)). > > The same is not true for 3rd party modules which, as you say, > may be written in any style. > > Learning the Latin (English) alphabet, building a vocabulary, remains > a good idea obviously, along with ASCII in the context of Unicode. > > I expect those focused in computer science will continue giving > themselves the benefit of this learning. > > I received Romanized Indonesian source code for quite awhile, until > the student moved to Japan and apparently stopped doing Python. > > I'm impressed with all the alphabets you know. > > 3rd party modules written in Cyrillic with the peppering of > Roman we know must be there, thanks to Standard Library > (untranslated) and the 33 keywords (so far), could be used > in computer science to help English speakers learn a > Cyrillic language. > > > http://en.wikipedia.org/wiki/Languages_written_in_a_Cyrillic-derived_alphabet > > >> > >> > The flip side argument, which I find more persuasive, is that >> > one of the biggest barriers to diversity is over-reliance on Latin-1, >> > and "just ASCII" in particular. >> > >> > The whole point of Unicode was to open up source code writing, >> > as an occupation, to more than just Euro-English speakers. >> >> I disagree. The whole point of Unicode is to open up application writing, >> so that _users_ can see computer output in their own languages. A person >> who wishes to pursue code writing as an occupation must understand and use >> English -- or be relegated to producing work only for his own culture. In >> the modern "flat" world, English is the language of commerce and computer >> programming. Not being able to write understandable English is a severe >> handicap. My programs are written in Python, documented in English, and >> usable by persons of another language. For example, see CaesarCalc.py from >> https://launchpad.net/romanclass , which assumes the user to be able to >> understand pigeon Latin. Even then, I give the result of (XVI - XVI) as >> "Nulla" because I expect that most users will not recognize "Nvlla" as >> meaning "nothing." >> >> > Certainly the GUI needs to be intelligible yes. > > Lets just say there's a school of thought that has > no problem with a math, logic or grammar teacher > using only Chinese characters for top level names > in various exercises using Python or other > Unicode aware computer language. And no > problem with another teacher using only Hebrew > characters for top level names and so on. > > This school of though hangs out on the Python > Diversity list and self-organizes there. If you go > back in the archives, you'll find myself and a > guy named Carl doing stuff in the Python wiki > to expand the language base, including at the > source code level. With Pycon / Tehran in the > planning, we want to be in a better position to > address issues relating GeoDjango to Farsi, say. > > These exercises (mentioned above) may have > nothing to do with writing commercial applications. > These may not be programmers in training > (though some may be in commercial media, > where "programming" also has meaning (e.g. > in radio / TV)). Instead of using a calculator > or abacus to learn numeracy skills, people > have laptops and internet access. > > Having readable source code in languages > that aren't in a Roman alphabet is already > a spreading phenomenon, with many writers > happily giving up that so-called "world readability" > in favor of remaining intelligible to the girl or boy > next door. > > The syntax of URIs and domain names has > already taken this turn. You will have http//arabic letters// > quite frequently these days, thanks to the > Unicode basis of http (which Python now needs > to deal with, and does, as an http-aware language). > > CSS for Arabic is the kind of style concern for > which we may have insufficient literature to date. > We may have people joining Diversity who want to > develop that literature (recruiting happening). > > > http://www.guardian.co.uk/technology/2010/may/06/arabic-web-addresses-internet > > Here is sample output. Notice that, when it blows up the traceback is in >> Python with English explanations: >> >> procer numerus hic:III - II >> I >> procer numerus hic:3 - 2 >> I >> procer numerus hic:3 - 3 >> Nulla >> procer numerus hic:2 - 3 >> Traceback (most recent call last): >> File "CaesarCalc.py", line 40, in >> print (cvt(subtrahends[0]) - cvt(subtrahends[1])) >> File "/home/vernon/romanclass-1.0.1/romanclass.py", line 99, in __sub__ >> return Roman(self.__int__() - other) >> File "/home/vernon/romanclass-1.0.1/romanclass.py", line 85, in __new__ >> raise OutOfRangeError, 'Cannot store "%s" as Roman' % repr(N) >> romanclass.OutOfRangeError: Cannot store "-1" as Roman >> >> >> IMHO, on the whole, PEP 8 is a pretty good document. >> -- >> Vernon >> > > I'm not denigrating PEP8 in any way, even though > I used some light sarcasm in my post. That was > not directed against PEP8, so much as against > the idea that the "rule book" is somehow complete, > just because we have it down that functions should > generally not start with a capital letter, and > l (lowercase L) is a terrible name for all purposes > because it's so indistinguishable from uppercase > I and the number 1 in many fonts. > > I think as people start getting a lot more experience > writing Python with different namespaces, with > non-Roman top-level names etc., that the rule > book is inevitably going to expand and that a > Book of Styles could conceivably become enormous. > > But then think of English: we acknowledge many > styles as being appropriate and don't have just > the one "book" where style is concerned (we have > so many) -- not like the dictionary, with a goal of > including every word in a finite and deliberately > exclusive set of standard words. > > I have some examples of Python source in my > blogs, using kanji as top-level names (might be > a Japanese program, as one of the kanji is for > Mt. Fuji as I recall). > > Then there's some tracking down Stallman on > a visit to Sri Lanka (awhile back) and chatter > about Python in Tamil and Sinhalese. And yes, > I am aware English is spoken in this parts as well, > as evidenced by Arthur C. Clarke's having lived > there for so long. One of our CSN chiefs has a > track record there too, another English speaker. > > > http://www.sarvodaya.org/2005/05/17/suzanne-bader%E2%80%99s-sri-lanka-visit-report > http://controlroom.blogspot.com/2009/01/at-work.html > > http://risenfall.wordpress.com/2008/01/14/richard-stallman-rms-is-in-sri-lanka/ > > Kirby > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -- Vern Ceder vceder at gmail.com, vceder at dogsinmotion.com The Quick Python Book, 2nd Ed - http://bit.ly/bRsWDW -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Tue Jul 19 00:11:19 2011 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 18 Jul 2011 15:11:19 -0700 Subject: [Edu-sig] Musings on PEP8 In-Reply-To: References: Message-ID: On Mon, Jul 18, 2011 at 1:00 PM, Vern Ceder wrote: > Since Kirby invoked me by name ;), I'll jump in with a quick top post, > a) because I'm lazy and in a hurry, and b) because my comments are only > generally related to the specifics of the previous posts. Apologies. > > First of all, in general I would respond to Kirby's musings by invoking my > own personal principle that PEP 20 (specifically, "Practicality beats > purity") trumps PEP 8. I would think that would be true when it comes to > naming conventions in other languages. If it's a library that is useful to, > say, Klingon speakers only, it would make sense to name the library and it's > components in Klingon. OTOH, if they wanted to share their work and wanted > it to be useful to the non-Klingon speaking Federation, Klingon might not be > a practical or effective choice. (Of course, being Klingon, they may not > care... ;) ) > I'm glad we're having this thread as it relates to my work concerns also, where many of my students, with whom I connect asynchronously, disclose to me their difficulties with English. Struggling with translators and so on is a fact of life, but the time will come when hospital room LCDs illuminate with familiar glyphs, including simple things like the light switch, bed controls. Pictures and videos from home will fill the hospital room's picture frames, with pointers embedded right in the medical record (managed like a profile, by the patients themselves). You'll be in a "language bubble" where your caretakers have spared no effort to have you not focused on phrase book deciphering. This is your body we're talking about. It's ridiculous that you should have to learn an alien tongue to follow the action. The menu in the dining room will be in your language. At least some of your fellow passengers will share your language also. This might be a geek cruise, for people who code in Perl, mostly using Greek. I'm not saying every hospital room will be this advanced, and perhaps not the ones Anglophones manage, as they tend to take that trademark "others should learn English" approach that so characterized the 113 years of Anglo-British rule. Russian maybe, hospital cruise ships, with some US health plans providing access, but most too far behind the times. Hotel management science is pioneering in these same directions. Universities may bring up the rear, I don't know. > > Personally, I run into this issue on a daily basis these days. As the > current maintainer of an entire web platform developed by our Japanese > sister company, I face emails and documentation (including code comments) in > Japanese, giving me ample practice with both Google translate and > deciphering kana. When I chatted with the Japanese team (via Google > translate, gestures, and scrawling code on the whiteboard) about the new > features of Python 3, support for unicode in Python code got a cheer, and I > certainly understand that. > > However, for sharing code, I'd have to agree with my namesake - diverging > from the English standard is problematic. I'm finding what I think of as > "technical Japanese" to be not that hard to understand, but that's exactly > because so much of the vocabulary is borrowed from English - data, account, > server, etc, etc, etc. > > It's problematic, but that's not going to stop it from happening in various communities. A population of a few hundred thousand might easily support a bevy of open source solutions that are encoded in the Klingon of that realm. Think of a class definition with one Chinese ideograph for a name, and most methods at most two characters. The dot notation is still there, as are the calling parens. The keywords, __init__, __repr__ -- all pretty familiar. Use a translator then? Of course the word of "self" might actually be replaced, with the symbol for "used to be known as Prince" maybe (joke): http://worldgame.blogspot.com/2007/11/pythonic-biology.html http://mybizmo.blogspot.com/2007/03/add-multiply-or.html There's this dream of English always being some "lingua franca" (joke) of the Open Source world, but per recent PSF member threads (me a threader), not everyone dreams the same dream. At one of the recent OSCONs, maybe five years ago, we had a panel on Open Source in Africa. The message from that corner was the open source tools were being remastered, with an eye to reinventing many wheels from scratch. http://www.w3.org/International/articles/css3-text/ http://www.jeemlang.com/ http://www.jeemlang.com/index.php?page=examples Finally, I have to note that both of us Vernons are conversant in Latin, > which is the sort of coincidence sportscasters are prone to mis-label > "ironic"... ;) > I'm not bad with Latin cognates, having grown up watching Italian TV and movies (lived in Rome), studied French and Spanish. I'm also aware of the importance of English as a supra-national language, in the Philippine Islands for example (my high school home), where so many small user groups use it to get along at meetups. English itself is always morphing. Some have argued for the existence of a language called American (pronounce amer-IKAN, like puerto-RICAN) which goes even further towards accommodating its non-Anglo users. Gene Fowler (poet) called it Amerish (same idea). Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From mokurai at earthtreasury.org Tue Jul 19 08:25:57 2011 From: mokurai at earthtreasury.org (mokurai at earthtreasury.org) Date: Tue, 19 Jul 2011 02:25:57 -0400 Subject: [Edu-sig] Musings on PEP8 In-Reply-To: References: Message-ID: <1ce143ca273db4447f17d2e52a39ce83.squirrel@emailmg.ipage.com> On Sun, July 17, 2011 1:46 pm, kirby urner wrote: > I find myself thinking about PEP8 a lot, not that I have it memorized. > > Now that Unicode reigns at the top-level, we've got an influx of > Chinese namespaces, Hindi namespaces, Cyrillic namespaces... > a nice long list, and the PEP8 conventions regarding capitalization, > while sensible in Latin-1, might not cover the new cases (I say > "might not" with some sarcasm, or an innocent stare (playing > it straight)). I got involved in the original RFC for Unicode URLs and more general URIs when the discussion was mainly, "We have to! So many people desperately need it!" "We can't, it'll break the Web!" We got it worked out. I am pleased to see Unicode country name TLDs proliferating, too. I was one of those who needed it. I was doing silly things like editing an APL magazine and converting a Chinese-Korean-Japanese-European Go glossary from ASCII to Unicode. > I've seen arguments in diversity-minded circles that straying > from Latin-1 top-level will obliterate the open source nature of > open source, with many a Chinese engineer welcoming the > advantages of a world around simple base cases, the old > ASCII, a mother tongue of computer scientists (more so than > EBCDIC even (sarcasm again)). > > http://en.wikipedia.org/wiki/Extended_Binary_Coded_Decimal_Interchange_Code I remember a long time ago reading about Russian COBOL, combining Latin and Cyrillic in EBCDIC. Fun times. I have had the personal misfortune of attempting to explain to a Japanese programmer why it was the Japanese character set definition that replaced backslash with the Yen sign that was broken, not Unicode. They couldn't just do a search and replace in Windows code where that code in a text string usually meant Yen, but in code meant the Windows directory separator in path expressions. So they blamed Western cultural imperialists and didn't listen when we explained how many Japanese experts were involved in the Japanese character set mappings. > The inter-readability of Latin-1 means lots of headaches removed, > like at least *something* positive came out of that Roman period > (as a child of Rome, I get to sound chiding). > > The flip side argument, which I find more persuasive, is that > one of the biggest barriers to diversity is over-reliance on Latin-1, > and "just ASCII" in particular. The char = 8-bit or even 7-bit byte delusion, with hundreds of incompatible 8-bit character sets and fonts. I have had a few things to say about that. > I heard those cheers in Vilnius, when Guido talked about the brave > new Unicode world. Google's blogger interface switches to > Lithuanian automatically when that's your timezone, or however > it's figured. Lots of alphabetical markings you might not find in > Latin-1. > > http://controlroom.blogspot.com/2007/07/blogger-control-panel-in-lithuanian.html > > The whole point of Unicode was to open up source code writing, > as an occupation, to more than just Euro-English speakers. Much more than source code. Are you becoming the man who pounds nails all day, to whom everything looks like a hammer? ^_^ > The bridge has been built and Python has already crossed > over it. Which means that various parts of Sugar, including Turtle Art, have also crossed over. > http://controlroom.blogspot.com/2007/11/unicode.html I was at the Unicode Conference where Jim Brown of IBM told that part of the world that APL2 was fully Unicode-capable for data and identifiers. There was also a proposal to put Unicode math into programming languages. > None of which is to say that knowledge of Latin-1 is dispensable. One of the points I had to make in that IETF discussion was that every Japanese schoolchild was already learning to keyboard in romaji in addition to kana, with kana-to-kanji conversion. http://lists.w3.org/Archives/Public/uri/1997Apr/0109.html > My first chapters in Naming and Ordering per MathFuture threads > (also Cardinality vs Ordinality) starts with "mappings" (the usual > approach to functions per Dolciani) with familiar glyphs (we're > learning them anyway in learning to read a native language), > pairing with ASCII and Unicode bytecodes. I have just been working on a tutorial, not yet completed, on ancient visual numerals now available in Unicode, including Egyptian Hieroglyphic heqat measure symbols, which I am putting on Turtle Art variable name tiles. (For our Egyptophiles, Egyptian fraction analysis was done with the heqat as the unit.) Next I plan to teach the turtle how to write heqat, cuneiform, and Counting Rod numerals, and then base-20 Mayan, which unfortunately is not in Unicode yet. There are fonts using the Private Use Area, however. I am also considering making a bunch of pie-slice fraction numerals for my planned tutorial on fractions using Turtle Art. http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Numerals I have several of these tutorials in a reasonably finished state, and many more written but not illustrated, with more outlined. Cardinals and mappings are in the Counting tutorial, but I have not tackled ordinals yet. > Yes, it's a long discussion (UTF8 vs UTF32 etc) but we're > talking about time slices and repeated revisits in a spiraling > trajectory (per Saxon treatments). > > So even if the bulk of your coding is in some Thai characterset, > you're quite familiar with the lower 128 in the Unicode codespace. > Python itself has 33 keywords and a large number of builtins, > such that "average Python" might look like Romaji-intensive > Japanese, i.e. "heavy on the Latin-1 pepper, other spices" (yet > lots of room for top-level class, function, variable names, libraries > stuffed with them, all outside Latin-1). > > These concerns have been a long term focus, and continue > to be, as Python students I encounter may be there for work > and that may mean using non-Latin-1 Python namespaces > much of the time. > > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > 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://wiki.sugarlabs.org/go/Replacing_Textbooks From kurner at oreillyschool.com Tue Jul 19 09:55:17 2011 From: kurner at oreillyschool.com (Kirby Urner) Date: Tue, 19 Jul 2011 00:55:17 -0700 Subject: [Edu-sig] Musings on PEP8 In-Reply-To: <1ce143ca273db4447f17d2e52a39ce83.squirrel@emailmg.ipage.com> References: <1ce143ca273db4447f17d2e52a39ce83.squirrel@emailmg.ipage.com> Message-ID: > > > http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Numerals > > I have several of these tutorials in a reasonably finished state, and many > more written but not illustrated, with more outlined. Cardinals and > mappings are in the Counting tutorial, but I have not tackled ordinals > yet. > > Fascinating stuff sir, lots I didn't know. Python has syntactical meaning for the backslash as well ( \ ) -- line continuation character. So even in Python in Japanese, you would need \ to stay the same. One doesn't find a lot of examples, at least not easily, of non-Latin-1 Python programs (source code). I'm on the lookout for exhibits, collecting URIs. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: