From gregor.lingl at aon.at Tue Dec 1 01:31:52 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Tue, 01 Dec 2009 01:31:52 +0100 Subject: [Edu-sig] teaching python using turtle module In-Reply-To: References: <4B13F47E.3080706@aon.at> Message-ID: <4B1463F8.2000902@aon.at> kirby urner schrieb: > I'm glad turtle graphics intersected my thinking re extended precision > decimals (Decimal type) on edu-sig just now. > > I've updated my tmods.py to contain a turtle rendering the plane-net of a T-mod: > > http://www.4dsolutions.net/ocn/python/tmod.py (runnable source) > http://www.flickr.com/photos/17157315 at N00/4147429781/ (GUI view) > Nice tiny app! Albeit not an example for using the if statement ;-) Just to show you how turtle.py enables you to implement this using quite different approaches to doing geometry, I'd like to add two more implementations. Besides you may notice that these do not rely on rather complicated calculations of distances and angles, using the Pythagorean theorem and trigonometrics but only on a few more fundamental properties of the figure. ##### Version 2 - using coordinate geometry without coordinates ;-) # a different implementation for Kirby's "Plane Net for T-module" from turtle import * from math import sqrt PHI = (sqrt(5)-1)/2 def planeNet(h=500): setup(560,560) title("Plane Net for T-module") penup() back(h/2); left(90); back(h/2); right(90) pendown() forward(h); left(90) forward(h*PHI); A = pos(); forward(h-h*PHI); left(90) forward(h*PHI); B = pos(); forward(h-h*PHI); left(90) forward(h); C = pos() for P in A, B, C: goto(P) ##### Version 3 - stamping simple transforms of the shape of ##### an isosceles rectangular triangle: from turtle import Screen, Turtle from math import sqrt GOLDEN_RATIO = (sqrt(5)-1)/2 def planeNet(h=500.0, phi=GOLDEN_RATIO): s = Screen(); s.setup(560,560); s.title("Plane Net for T-module") s.register_shape("recttriangle", ((0, 0), (h, 0), (0, h))) designer = Turtle(shape="recttriangle") designer.color("black","") designer.penup() designer.goto(-h/2, h/2) for width, height in ((1, 1-phi), (phi, 1-phi), (phi, 1)): designer.shapesize(width, height) designer.stamp() designer.forward(h) designer.right(90) designer.hideturtle() Hoping, you will find this a bit interesting, best regards Gregor > Here's the graphical output: > > http://www.flickr.com/photos/17157315 at N00/4148139184/in/photostream/ > (Python 3.1) > > If you actually wanna fold the T, you need to snip off the cap and > reverse it, per this diagram: > > http://www.rwgrayprojects.com/synergetics/s09/figs/f86515.html > > 120 of them, 60 folded left, 60 folded right, all of volume 1/24, make > the volume 5 rhombic triacontahedron. > > http://www.rwgrayprojects.com/synergetics/s09/figs/f86419.html > > If you blow up the volume by 3/2, to 7.5, the radius becomes phi / > sqrt(2) -- what we're showing with Decimals. > > The reason this seems unfamiliar is the unit of volume is the > tetrahedron formed by any four equi-radiused balls in inter-tangency. > > I'm spinning this as Martian Math these days, yakking on > math-thinking-l about it, learned it from Bucky Fuller, Dave Koski et > al. > > Kirby > > From kirby.urner at gmail.com Tue Dec 1 01:52:09 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 30 Nov 2009 16:52:09 -0800 Subject: [Edu-sig] teaching python using turtle module In-Reply-To: <4B1463F8.2000902@aon.at> References: <4B13F47E.3080706@aon.at> <4B1463F8.2000902@aon.at> Message-ID: On Mon, Nov 30, 2009 at 4:31 PM, Gregor Lingl wrote: << fascinating code >> > > Hoping, you will find this a bit interesting, > best regards > > Gregor > Really enlightening, both mathematically and from a coding point of view. I hadn't used turtle.py enough yet to know about the built-in "context turtle" if you want to just say "forward" and forgo specifying a target. That's a nice Logo-ish touch. Your take on the T is most excellent. With your permission, I'd be happy to add both versions with attribution to my online version of tmod.py for the benefit of future students, and/or I could simply link to this post in the edu-sig archives (why not both?). Kirby -- >>> from mars import math http://www.wikieducator.org/Digital_Math From da.ajoy at gmail.com Tue Dec 1 15:45:29 2009 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Tue, 01 Dec 2009 09:45:29 -0500 Subject: [Edu-sig] teaching python using turtle module Message-ID: An example of using IF in a game with Logo: http://davidlongman.com/logo/projects/Shoot/docs/pdf/SHOOT.PDF Daniel From da.ajoy at gmail.com Tue Dec 1 16:11:30 2009 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Tue, 01 Dec 2009 10:11:30 -0500 Subject: [Edu-sig] teaching python using turtle module In-Reply-To: References: Message-ID: On Tue, 01 Dec 2009 06:00:01 -0500, wrote: >> After a bit of playing, I realized that I couldn't think of many >> examples which use turtle with conditional structures (if- and while- >> statements), or functions that return values Many of these need the values of trigonometric functions to determine sides or angles. http://neoparaiso.com/logo/ejercicios-de-geometria.html take for example construction 24. (always start at the orange dot) I imagine you could draw 39, using a single loop and the "mod" function, or is it the "mod" operator in Python... Of course, construction 22 requires the use of the output of the SQRT function. About IF: When drawing star polygons, like 65,66,67,68 it is not intuitive how many sides a polygon is going to have based on the angle of rotation at the tips. You can use IF at the end of every side to check to see IF you are at (0,0) again. * Solving trig problems with "colorunder": http://mia.openworldlearning.org/ideas/sby.htm * Simulation of Train problems: http://mia.openworldlearning.org/ideas/asw.htm Daniel From jjposner at optimum.net Tue Dec 1 21:02:57 2009 From: jjposner at optimum.net (John Posner) Date: Tue, 01 Dec 2009 15:02:57 -0500 Subject: [Edu-sig] teaching python using turtle module In-Reply-To: References: Message-ID: <4B157671.104@optimum.net> Hi Brian, If you want to start a little bit more simply, how about a program that draws alternating black and white squares. For the students who "get it" right away, challenge them to expand the program into one that draws an entire 8x8 checkerboard. HTH, John #------------------------- python 2.6.4 from turtle import * SIDELEN = 30 COUNT = 8 def DrawBox(count): """ make turtle draw a box at current position, using "count" arg to determine fillcolor """ # determine color if count % 2 == 1: fillcolor('black') else: fillcolor('white') # draw box begin_fill() for i in range(4): forward(SIDELEN) left(90) end_fill() ######## main program # draw row of boxes for i in range(COUNT): DrawBox(i) forward(SIDELEN) junk = raw_input("Press Enter ...") #------------------------- From kirby.urner at gmail.com Wed Dec 2 01:16:20 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 1 Dec 2009 16:16:20 -0800 Subject: [Edu-sig] teaching python using turtle module In-Reply-To: References: <4B13F47E.3080706@aon.at> <4B1463F8.2000902@aon.at> Message-ID: Gregor FYI: You'll find me linking to one Gregor in Vienna in this blog post, just beneath an archival photo of work by Alexander Graham Bell.[1] http://worldgame.blogspot.com/2009/12/meeting-with-sam.html ... providing more context and spin for this rhombic triancontahedron thread, all that much strong thanks to you. Kirby [1] Eber, Dorothy Harley. Genius At Work. about AGB is one of my fave syllabus entries, obscure and fun. On Mon, Nov 30, 2009 at 4:52 PM, kirby urner wrote: > On Mon, Nov 30, 2009 at 4:31 PM, Gregor Lingl wrote: > > << fascinating code >> > >> >> Hoping, you will find this a bit interesting, >> best regards >> >> Gregor >> > > Really enlightening, both mathematically and from a coding point of > view. ?I hadn't used turtle.py enough yet to know about the built-in > "context turtle" if you want to just say "forward" and forgo > specifying a target. ?That's a nice Logo-ish touch. > > Your take on the T is most excellent. > > With your permission, I'd be happy to add both versions with > attribution to my online version of tmod.py for the benefit of future > students, and/or I could simply link to this post in the edu-sig > archives (why not both?). > > Kirby > > > -- >>>> from mars import math > http://www.wikieducator.org/Digital_Math > -- >>> from mars import math http://www.wikieducator.org/Digital_Math From da.ajoy at gmail.com Wed Dec 2 17:10:20 2009 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Wed, 02 Dec 2009 11:10:20 -0500 Subject: [Edu-sig] teaching python using turtle module Message-ID: Re: teaching python using turtle module Posted by: "Pavel Boytchev" elicateam To: LogoForum at yahoogroups.com Tue Dec 1, 2009 9:39 am (PST) Daniel Ajoy wrote: > On Tue, 01 Dec 2009 06:00:01 -0500, wrote: > >>> examples which use turtle with conditional structures (if- and while- >>> statements) Here is one with IF and WHILE: 1. draw a box 2. put a turtle inside, set random heading 3. move the turtle forward until it reaches a box's side 4. then the turtle bounces like a ball and continues to move 5. stop after 5 bounces ------------------------ Another one with WHILE: 1. two turtles are on a circle and move along it with different speeds 2. animate the chase until one of the turtle reaches the other ------------------------ Another one with IF: 1. draw the snowflake fractal 2. but when you draw recursively, draw either to the left of the current segment, or to the right ------------------------ Another one with WHILE and IF: 1. Use a turtle and the Monte-Carlo method to calculate pi with given precision ------------------------ With IF: 1. draw a Pythagorean tree until branches become smaller than 1 pixel ------------------------ Pavel From echerlin at gmail.com Sun Dec 6 19:49:47 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Sun, 6 Dec 2009 10:49:47 -0800 Subject: [Edu-sig] New APL Message-ID: An old friend, ex-IBM, ex-Wall Street, is working on a new Open Source APL which he and I intend to get into the Sugar education software for OLPC. I can't tell you any more than that until he puts code out for the public to test. -- Edward Mokurai (??/???????????????/????????????? ?) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://www.earthtreasury.org/ From g.akmayeva at ciceducation.org Sun Dec 6 21:41:01 2009 From: g.akmayeva at ciceducation.org (Galyna Akmayeva) Date: Sun, 6 Dec 2009 21:41:01 +0100 (CET) Subject: [Edu-sig] CICE-2010: Call for Papers Message-ID: <602777927.268687.1260132061333.JavaMail.open-xchange@oxltgw00.schlund.de> CALL FOR PAPERS Canada International Conference on Education (CICE-2010), April 26-28, 2010, Toronto, Canada (www.ciceducation.org) The CICE is an international refereed conference dedicated to the advancement of the theory and practices in education. The CICE promotes collaborative excellence between academicians and professionals from Education. The aim of CICE is to provide an opportunity for academicians and professionals from various educational fields with cross-disciplinary interests to bridge the knowledge gap, promote research esteem and the evolution of pedagogy. The CICE 2010 invites research papers that encompass conceptual analysis, design implementation and performance evaluation. All the accepted papers will appear in the proceedings and modified version of selected papers willbe published in special issues peer reviewed journals. The topics in CICE-2010 include but are not confined to the following areas: *Academic Advising and Counselling *Art Education *Adult Education *APD/Listening and Acoustics in Education Environment *Business Education *Counsellor Education *Curriculum, Research and Development *Competitive Skills *Continuing Education *Distance Education *Early Childhood Education *Educational Administration *Educational Foundations *Educational Psychology *Educational Technology *Education Policy and Leadership *Elementary Education *E-Learning *E-Manufacturing *ESL/TESL *E-Society *Geographical Education *Geographic information systems *Health Education *Higher Education *History *Home Education *Human Computer Interaction *Human Resource Development *Indigenous Education *ICT Education *Internet technologies *Imaginative Education *Kinesiology & Leisure Science *K12 *Language Education *Mathematics Education *Mobile Applications *Multi-Virtual Environment *Music Education *Pedagogy *Physical Education (PE) *Reading Education *Writing Education *Religion and Education Studies *Research Assessment Exercise (RAE) *Rural Education *Science Education *Secondary Education *Second life Educators *Social Studies Education *Special Education *Student Affairs *Teacher Education *Cross-disciplinary areas of Education *Ubiquitous Computing *Virtual Reality *Wireless applications *Other Areas of Education? Important Dates: *Research Paper, Case Study, Work in Progress and Report Submission Deadline: December 15, 2009? *Notification of Paper, Case Study, Work in Progress and Report Acceptance Date: December 28, 2009 *Final Paper Submission Deadline for Conference Proceedings Publication: March 1, 2010 *Participant(s) Registration (Open): November 20, 2009 *Author(s) Early Bird Registration Deadline: January 31, 2010? *Author(s) Late Bird Registration Deadline: April 26, 2010 *Conference Dates: April 26-28, 2010? -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon Dec 7 01:04:58 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 6 Dec 2009 16:04:58 -0800 Subject: [Edu-sig] New APL In-Reply-To: References: Message-ID: On Sun, Dec 6, 2009 at 10:49 AM, Edward Cherlin wrote: > An old friend, ex-IBM, ex-Wall Street, is working on a new Open Source > APL which he and I intend to get into the Sugar education software for > OLPC. I can't tell you any more than that until he puts code out for > the public to test. > That's good news Ed. APL was the first computer language I fell in love with. FORTRAN was "grin and bear it" in contrast. Mike D. at Duke's Landing (a site for experimental events on my circuit) does much of his production work with an XO. I met up with him yesterday at our Laughing Horse Books & Videos collective.[1][2] Next I will post you something on the Global Warming thread on the Wikieducator list. Kirby [1] From my journal: http://mybizmo.blogspot.com/2009/12/portland-notes.html [2] http://mybizmo.blogspot.com/2009/11/think-tank-techniques.html > > -- > Edward Mokurai (??/???????????????/????????????? ?) Cherlin > Silent Thunder is my name, and Children are my nation. > The Cosmos is my dwelling place, the Truth my destination. > http://www.earthtreasury.org/ > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- >>> from mars import math http://www.wikieducator.org/Digital_Math -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon Dec 7 01:27:16 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 6 Dec 2009 16:27:16 -0800 Subject: [Edu-sig] New APL In-Reply-To: References: Message-ID: On Sun, Dec 6, 2009 at 4:04 PM, kirby urner wrote: << SNIP >> > > Next I will post you something on the Global Warming thread on the Wikieducator list. > > Kirby > > [1] From my journal:? http://mybizmo.blogspot.com/2009/12/portland-notes.html > [2] http://mybizmo.blogspot.com/2009/11/think-tank-techniques.html > On?second thought, I think I'll not stir the Wikieducator pot today. My next post had to do with Freeman Dyson's visit to Portland. http://mybizmo.blogspot.com/2009/12/freeman-dyson-in-portland.html He's quite conservative, like NASA, about saying we know precious little how sunspot cycles impact global climate, wasn't jumping into that "Maunder Minimum" debate except to say we still aren't that sure how the sun works (relationship to Earth another set of issues). He also wondered if global warming means the Sahara might return to lushness, as per 6K years ago, but he wasn't pretending to know the answer. http://www.livescience.com/history/060720_sahara_rains.html edu-sig has been blissfully *not* about this topic. I only bring it up because of our crossing paths earlier (here in cyberia on that WE list) and because of the "Dutch engineer" meme, which relates to the Python work I'm doing, at least tangentially. Note how even the math-teachers are likewise obsessed (losing focus): http://mathforum.org/kb/thread.jspa?threadID=2017705&tstart=0 whereas they *should* be talking about what *I* want to talk about (grin): http://controlroom.blogspot.com/2009/12/how-radical.html Kirby > > >> >> -- >> Edward Mokurai (??/???????????????/????????????? ?) Cherlin >> Silent Thunder is my name, and Children are my nation. >> The Cosmos is my dwelling place, the Truth my destination. >> http://www.earthtreasury.org/ >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig > > > > -- > >>> from mars import math > http://www.wikieducator.org/Digital_Math > -- >>> from mars import math http://www.wikieducator.org/Digital_Math From echerlin at gmail.com Mon Dec 7 01:52:29 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Sun, 6 Dec 2009 16:52:29 -0800 Subject: [Edu-sig] [Diversity] Unicode and Ed Initiatives In-Reply-To: <426ada670908192108s5111cd16kd565460038b4bc6b@mail.gmail.com> References: <426ada670908192108s5111cd16kd565460038b4bc6b@mail.gmail.com> Message-ID: Kirby is right. I have been talking about the need to be aware of the multiplicity of writing systems and prepared to adapt to their use since I wrote a market research study on Unicode use worldwide in 1994. 2009/8/19 Carl Trachte : > 2009/8/19 kirby urner : >> ????? Urner 's CP4E ??????? ??????? ????? ??? ?????? ?? ?????????. > >> """ >> More and more, Python is making inroads at all levels in education. >> Python offers an interactive environment in which to explore >> procedural, functional and object oriented approaches to problem >> solving. > > ???? ????? ? ????? ???? ????? ??? ???? ????????? ?? ???? >> ???????. ????? ???? ??????? ?????? ???? ???????? ????????? ??????? ???? ????? ??????? ??? ?? ???????. > >Its high level data structures and >> clear syntax make it an ideal first language, while the large number >> of existing libraries make it suitable to tackle almost any >> programming tasks. > > ?????? ???????? ??? ????? ??????? ?????? ???? ???? >> ?????? ????? ?????? ? ?? ??? ?? ???? ????? ?? ???????? ???????? ????? >> ?????? ??????? ?? ?? ????? ?????? ??????. >> >> Edu-sig, through its mailing list , provides an informal venue for >> comparing notes and discussing future possibilities for Python in >> education. > > ???? - ??? ? ?? ???? ????? ?????? ?????????? ? ????? ????? >> ??? ???? ??????? ????????? ??????? ???????? ????? ?? ???????? ?? ???? ???????. > > Its origins trace to Guido van Rossum's pioneering Computer >> Programming for Everybody (CP4E) , a grant proposal accepted by DARPA, >> and which provided a modicum of funding in 1999. > > ???? ?????? ??? ???? >> ??? Rossum ?????? ???? ?????? ??????? (CP4E) ? ????? ????? DARPA ????? >> ? ????? ???? ??? ???? ?? ??????? ?? ??? 1999. >> >> Membership includes, but is not limited to, educators using Python in >> their courses, independent developers, and authors of educational >> materials. Discussion focuses on Python use at all levels, from >> beginning to advanced applications. > > ??? ?? ??????? ? ??? ???? ?????? >> ?? ????? ? ???????? ???????? ????? ?? ??????? ? ????????? ????????? ? >> ????????? ?? ?????? ?????????. ????? ?????? ???? ??? ??????? ??? ???? >> ????????? ? ?? ???? ??? ????????? ????????. >> >> ????? Urner 'sCP4E ??????? ??????? ????? ??? ?????? ?? ?????????. >> """ >> >> My apologies to those not getting the right unicode translation. ?I'm >> thinking on a diversity list, we should expect more stuff like this, >> not less, over time. >> >> Kirby >> _______________________________________________ >> Diversity mailing list >> Diversity at python.org >> http://mail.python.org/mailman/listinfo/diversity >> > > With the caveat that I don't understand Arabic script, it looks legit > on my gmail on FreeBSD 7.2/KDE/Opera. > > May I make a suggestion? ?Can we change the topic to something like > what I changed it to above and start a new thread? ?I got a bit > confused as the previous thread has a long history. > > Apologies if I've misinterpreted the thread and the topic. ?Please > feel free to change it to its true meaning. > > Thanks a ton. > > Carl T. > _______________________________________________ > 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://www.earthtreasury.org/ From da.ajoy at gmail.com Mon Dec 7 02:26:50 2009 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Sun, 06 Dec 2009 20:26:50 -0500 Subject: [Edu-sig] New APL In-Reply-To: References: Message-ID: On Sun, 06 Dec 2009 19:52:37 -0500, wrote: > From: Edward Cherlin echerlin at gmail dot com > To: edu-sig at python.org > Subject: [Edu-sig] New APL > > An old friend, ex-IBM, ex-Wall Street, is working on a new Open Source > APL which he and I intend to get into the Sugar education software for > OLPC. I can't tell you any more than that until he puts code out for > the public to test. Exciting, I hope it ends up with good integration with the sugar environment: * ability to use the journal * ability to share through the mesh * ability to copy and paste code and results easily * if the APL is able to generate graphics, ability to manipulate those graphics with other XO tools, Paint... Daniel PS. I wish someone did the same for UCBLogo... From kirby.urner at gmail.com Tue Dec 8 20:32:48 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 8 Dec 2009 11:32:48 -0800 Subject: [Edu-sig] Re FOSS and fonts Message-ID: I should perhaps direct this to a marketing list, but then it's more about Drupal than Python if you read the whole thing. PHP is our friend, is one of those "P languages" from LAMP days, before CMS and web frameworks and Ruby on Rails (with which relations are also friendly, thanks to Django's wise leadership). The joke about Nova (below) was in Spanish speaking subcultures it means "no va" (doesn't go). Being the butt of unfortunate jokes is a marketing nightmare sometimes. This excerpt below was from a longer essay re the international school circuit, including TECC in Alaska, IS, OSR etc. (schools to which I have close connections, per autobio @ WE). The Python angle is my focus on generators as the bee's knees when it comes to sequences, a standard theme of my slideshow, hence the focus of PYTHON TUTORIALS so far on Wikieducator. http://www.wikieducator.org/PYTHON_TUTORIALS A word about fonts: Patrick Barton, one of my peers, was suggesting my font is "cute" but not as useful as plaintext (image files for source code? how perverse!). The deal on that is Akbar font is based on Matt Groening's handwriting ('Life in Hell', 'Simpsons', 'Futurama') and has this kid-friendly look. I would appeal to several respected sources, including Knuth Semi-Numerical Algorithms (my copy escapes me at the moment), suggesting that deviations from "machine uniformity" excite the human eye and adds to readability. These code snippets are so short, it doesn't hurt to hand enter them, and in the early stages, that's a very necessary activity (all cut and paste does not a programmer make). Kirby """ Here's another problem: FOSS means "fart" in Arabic. So whereas FLOSS reminds of something one does to one's mouth, FOSS focuses on another orifice. http://www.urbandictionary.com/define.php?term=foss (see meaning 7) That being said, I don't think it's possible to be sensitive to all possible connotations and unfortunate multilingual homonyms. You'll inevitably have those, so except for a few signature words, such as Exxon, or Nova, you won't want your marketing people to waste billable hours looking for name collisions of this kind. That's why we have different namespaces (i.e. languages) in the first place. Python modules embody the namespace idea pretty successfully, which is partly why we use this as leverage in other fields (e.g. linguistics). My practice is to stick with FOSS as covering the bases, where the F points back to the "four freedoms" and the original GNU model (our source for the GPL). If I'm writing to an Arabic speaking person, I might go with FLOSS, but I could just as well go with LOSS by similar reasoning and have done so, even though the anti-LOSS hoards might capitalize on the "LOSS is for losers" slogan (how infantile). Documenting the FOSS heritage of design science and Bucky's legacy involved making sure plenty of Synergetics made it into a FOSS format. Having the Fuller Projection a standard artifact in Cyberia was only the tip of the iceberg. The concentric hierarchy, including the quanta modules, the octet-truss, and a lot of the lore connecting these was also pumped into the mix, giving us an excellent new "concrete" (as in "Concrete Mathematics" -- an influential work by Knuth et al -- rhymes with "discrete" and "digital" and therefore "quantum mechanical"). """ [ Synergeo 57004 ] -- >>> from mars import math http://www.wikieducator.org/Digital_Math From g.akmayeva at ciceducation.org Tue Dec 8 23:48:15 2009 From: g.akmayeva at ciceducation.org (Galyna Akmayeva) Date: Tue, 8 Dec 2009 23:48:15 +0100 (CET) Subject: [Edu-sig] CICE-2010: Paper Submission Deadline is Approaching! Message-ID: <1699117764.207885.1260312495393.JavaMail.open-xchange@oxltgw04.schlund.de> Kindly email this call for papers to your colleagues, faculty members and postgraduate students. Apologies for cross-postings. CALL FOR PAPERS Canada International Conference on Education (CICE-2010), April 26-28, 2010, Toronto, Canada (www.ciceducation.org) The CICE is an international refereed conference dedicated to the advancement of the theory and practices in education. The CICE promotes collaborative excellence between academicians and professionals from Education. The aim of CICE is to provide an opportunity for academicians and professionals from various educational fields with cross-disciplinary interests to bridge the knowledge gap, promote research esteem and the evolution of pedagogy. The CICE 2010 invites research papers that encompass conceptual analysis, design implementation and performance evaluation. All the accepted papers will appear in the proceedings and modified version of selected papers willbe published in special issues peer reviewed journals. The topics in CICE-2010 include but are not confined to the following areas: *Academic Advising and Counselling *Art Education *Adult Education *APD/Listening and Acoustics in Education Environment *Business Education *Counsellor Education *Curriculum, Research and Development *Competitive Skills *Continuing Education *Distance Education *Early Childhood Education *Educational Administration *Educational Foundations *Educational Psychology *Educational Technology *Education Policy and Leadership *Elementary Education *E-Learning *E-Manufacturing *ESL/TESL *E-Society *Geographical Education *Geographic information systems *Health Education *Higher Education *History *Home Education *Human Computer Interaction *Human Resource Development *Indigenous Education *ICT Education *Internet technologies *Imaginative Education *Kinesiology & Leisure Science *K12 *Language Education *Mathematics Education *Mobile Applications *Multi-Virtual Environment *Music Education *Pedagogy *Physical Education (PE) *Reading Education *Writing Education *Religion and Education Studies *Research Assessment Exercise (RAE) *Rural Education *Science Education *Secondary Education *Second life Educators *Social Studies Education *Special Education *Student Affairs *Teacher Education *Cross-disciplinary areas of Education *Ubiquitous Computing *Virtual Reality *Wireless applications *Other Areas of Education? Important Dates: *Research Paper, Case Study, Work in Progress and Report Submission Deadline: December 15, 2009? *Notification of Paper, Case Study, Work in Progress and Report Acceptance Date: December 28, 2009 *Final Paper Submission Deadline for Conference Proceedings Publication: March 1, 2010 *Participant(s) Registration (Open): November 20, 2009 *Author(s) Early Bird Registration Deadline: January 31, 2010? *Author(s) Late Bird Registration Deadline: April 26, 2010 *Conference Dates: April 26-28, 2010? For further information please visit CICE-2010 at www.ciceducation.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Thu Dec 10 00:57:42 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 9 Dec 2009 15:57:42 -0800 Subject: [Edu-sig] Another cross-reference (edu-sig, math-teach) Message-ID: FYI mentions Python in connection with constructivism a few times, also OLPC and MIT: http://mathforum.org/kb/thread.jspa?threadID=2019948&tstart=0 Comments welcome of course. Kirby -- >>> from mars import math http://www.wikieducator.org/Digital_Math -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Fri Dec 11 03:49:24 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 10 Dec 2009 18:49:24 -0800 Subject: [Edu-sig] Another cross-reference (edu-sig, math-teach) In-Reply-To: References: Message-ID: Newly augmented with followup post pointing into records from Pycon / Chicago 2009. http://mathforum.org/kb/message.jspa?messageID=6925749&tstart=0 (mentions Holden, Benson) Got some kudos from Bill Marsh on the original essay, one of the forum contributors. Kirby On Wed, Dec 9, 2009 at 3:57 PM, kirby urner wrote: > > FYI mentions Python in connection with constructivism a few times, also > OLPC and MIT: > > http://mathforum.org/kb/thread.jspa?threadID=2019948&tstart=0 > > Comments welcome of course. > > Kirby > > -- > >>> from mars import math > http://www.wikieducator.org/Digital_Math > > -- >>> from mars import math http://www.wikieducator.org/Digital_Math -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto03 at gmail.com Sat Dec 19 12:43:33 2009 From: roberto03 at gmail.com (roberto) Date: Sat, 19 Dec 2009 12:43:33 +0100 Subject: [Edu-sig] CS teaching approaches Message-ID: <4bcde3e10912190343w629f1a0x9bf3d493b0e5c157@mail.gmail.com> hello, i will start introductory CS courses for middle school students (age 10 -13); i will mainly make use of logo-like languages and approaches, Turtle Art among a couple of others; i'd like to ask if you know which the most widespread approaches to CS teaching are today for young students, or if someone has collected on the web a simple classification among different approaches, showing similarities and differences; i'd like to let students taste something new and then report back to you the result of the courses thank you very much in advance -- roberto From goldwamh at slu.edu Sat Dec 19 15:20:26 2009 From: goldwamh at slu.edu (Michael H. Goldwasser) Date: Sat, 19 Dec 2009 08:20:26 -0600 Subject: [Edu-sig] CS teaching approaches In-Reply-To: <4bcde3e10912190343w629f1a0x9bf3d493b0e5c157@mail.gmail.com> References: <4bcde3e10912190343w629f1a0x9bf3d493b0e5c157@mail.gmail.com> Message-ID: Hi Roberto, Although I know you've sent this question to a Python mailing list, and I am a fan of Python in general, I'd strongly recommend using Scratch as a first language for that age group. It includes Turtle Art functionality, but so much more as well. See http://scratch.mit.edu for details, and they even have an educators forum at http://scratched.media.mit.edu. With regard, Michael On Sat, Dec 19, 2009 at 5:43 AM, roberto wrote: > hello, > i will start introductory CS courses for middle school students (age 10 -13); > i will mainly make use of logo-like languages and approaches, Turtle > Art among a couple of others; > i'd like to ask if you know which the most widespread approaches to CS > teaching are today for young students, or if someone has collected on > the web a simple classification among different approaches, showing > similarities and differences; > i'd like to let students taste something new and then report back to > you the result of the courses > > thank you very much in advance > -- > roberto > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From da.ajoy at gmail.com Sun Dec 20 16:23:08 2009 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Sun, 20 Dec 2009 10:23:08 -0500 Subject: [Edu-sig] CS teaching approaches In-Reply-To: References: Message-ID: On Sun, 20 Dec 2009 06:00:01 -0500, wrote: > hello, > i will start introductory CS courses for middle school students (age 10 -13); > i will mainly make use of logo-like languages and approaches, Turtle > Art among a couple of others; > i'd like to ask if you know which the most widespread approaches to CS > teaching are today for young students, or if someone has collected on > the web a simple classification among different approaches, showing > similarities and differences; > i'd like to let students taste something new and then report back to > you the result of the courses In my country some teachers still go through Flowcharts pseudocode then actual programming: using visualfox, pascal, or visual basic another conducting thread is the "input - processing - output" model which leads to DFD diagrams http://en.wikipedia.org/wiki/Data_Flow_Diagram and then to coding I've seen many introductory courses focus on: variables types type conversions input and output commands conditional commands loops In a Logo course we don't talk about types or type conversions. And loops and conditionals are approched together using tail-end recursion instead. Usually in the context of drawing stars or polygons. Another approach is to start with Object Oriented concepts form the beginning. Thinking about which objects you want to model and which attributes and behaviours they should exhibit. Teaching Smalltalk is a lot about learning how to navigate the jungle (ecosystem they call it) that is the smalltalk image. Teaching J or APL is again very different. They you just teach what the commands do, and how they go about changing the input until you obtain the desired output. Daniel From kirby.urner at gmail.com Sun Dec 20 17:19:17 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 20 Dec 2009 08:19:17 -0800 Subject: [Edu-sig] CS teaching approaches In-Reply-To: References: Message-ID: On Sun, Dec 20, 2009 at 7:23 AM, Daniel Ajoy wrote: > On Sun, 20 Dec 2009 06:00:01 -0500, wrote: > > > hello, > > i will start introductory CS courses for middle school students (age 10 > -13); > > i will mainly make use of logo-like languages and approaches, Turtle > > Art among a couple of others; > > i'd like to ask if you know which the most widespread approaches to CS > > teaching are today for young students, or if someone has collected on > > the web a simple classification among different approaches, showing > > similarities and differences; > > i'd like to let students taste something new and then report back to > > you the result of the courses > > > In my country some teachers still go through > > Flowcharts > pseudocode > then actual programming: using visualfox, pascal, or visual basic > Wow, visualfox. That's another language I've used plenty. Wish I could find another gig for that here in Portland -- maybe I will. Is visualfox still used commercially a lot? I hear it's big in Prague -- but that was some years ago. Back to Python, I've been helping this polytech student in Indonesia with his Monte Carlo integration. There's a simple Mathematica implementation I'm following, but I think my error term calc is screwed up. If anyone here has the time to give me some pointers... help me spread Python user base in Indonesia! CS teachers probably do this in their sleep, or for breakfast [some other idiom]. This could be another area where our DM track (digital math track) segues to calculus (always looking for those segues). http://math.fullerton.edu/mathews/n2003/MonteCarloMod.html from random import randint import math def getpoints(n, a, b): interval = b-a # assume a <= b points = [] # empty list for i in range(n): r = randint(0,100) # some percent point = a + (interval * .01 * r) # a plus some percent of interval points.append(point) return points def g(x): """ the function to evaluate for its definite integral over an interval """ # return x * x # or x ** 2 return math.sqrt(x) def average(f, somepoints): n = len(somepoints) # how many points thesum = sum( [f(x) for x in somepoints]) return thesum/n def geterror(f, guess, somepoints, a, b, n): """ I have some questions about this """ thesum = (1.0/n) * sum( [f(x) * f(x) for x in somepoints]) # right? return (b-a) * math.sqrt(abs(thesum - guess*guess) / n) def montecarlo(f, n, a, b): thepoints = getpoints(n, a, b) theaverage = average(f, thepoints) approx = (b - a) * theaverage error = geterror(f, approx, thepoints, a,b, n) return (approx, error) def tests(): print getpoints(10, 1, 4) print getpoints(10, 0, 10) print average(g, getpoints(10, 0, 4)) print montecarlo(g, 100, 0, 4) if __name__ == "__main__": tests() Kirby -- >>> from mars import math http://www.wikieducator.org/Digital_Math -------------- next part -------------- An HTML attachment was scrubbed... URL: From ajudkis at verizon.net Sun Dec 20 19:07:14 2009 From: ajudkis at verizon.net (Andy Judkis) Date: Sun, 20 Dec 2009 13:07:14 -0500 Subject: [Edu-sig] CS teaching approaches In-Reply-To: References: Message-ID: <4B2E67D2.6080508@verizon.net> Two feet of snow on the ground, a good time to respond . . . I teach high school kids, but I really think that most of what I teach should have been covered in middle school. I'd recommend: 1) Having the kids open up computers and taking a good long look at the stuff inside. Talk about what's in a chip, what a printed circuit board looks like,what a bus is. Take it out of the realm of magic, make sure that kids know it's just a machine -- albeit a really really fast one. 2) Talk about the history. Show them some really old computers. Talk about the Analytical Engine. Make sure they know what Moore's Law is. 3) Show them some things about operating systems (the task manager, a DOS command window) and talk about viruses, worms, zombies, botnets, cyberwar. . . stuff like that 4) Make sure they know how binary numbers work, and how sound and images can be encoded. 5) Teach them about the internet -- packets, IP addresses, TCP and IP, routers, DNS -- not in detail, just enough to demystify it a little. (In the very first class I taught, I vividly remember one student sputtering in frustration, "But what IS the internet?") 6) Have them do some simple web pages by writing HTML tags with a text editor. 7) Introduce them to programming. I use Python (starting with RUR-PLE) but for middle school, I'd do Scratch or Alice. 8) Have them research some cool/scary things that are happening with robotics and AI, and have them give presentations to the class. To me, the important thing is to get them to not think of a computer as a magic black box, but instead to get under the hood and think about how things work. (see http://extremities.com/pct/index.php?nxt=intro&sub=guyundercar) The very first thing I have kids do is make up a list of things that they wonder about -- I'm actually rather proud of that particular assignment: http://extremities.com/pct/index.php?nxt=intro&sub=goodquestions Best of luck -- I'm eager to hear what you come up with. Andy Judkis Academy of Allied Health and Science Neptune, NJ From kirby.urner at gmail.com Sun Dec 20 19:50:09 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 20 Dec 2009 10:50:09 -0800 Subject: [Edu-sig] CS teaching approaches In-Reply-To: <4B2E67D2.6080508@verizon.net> References: <4B2E67D2.6080508@verizon.net> Message-ID: On Sun, Dec 20, 2009 at 10:07 AM, Andy Judkis wrote: > Two feet of snow on the ground, a good time to respond . . . ?I teach high > school kids, but I really think that most of what I teach should have been > covered in middle school. > > I'd recommend: > 1) Having the kids open up computers and taking a good long look at the > stuff inside. ?Talk about what's in a chip, what a printed circuit board > looks like,what a bus is. ?Take it out of the realm of magic, make sure that > kids know it's just a machine -- albeit a really really fast one. This is good. In Portland, we have this thing called the Build Program run by a nonprofit called Free Geek. The primary purpose of Free Geek is to recover and recycle reusable hardware, to rescue it on the way to the landfill. People, companies or government agencies discarding computers take them to this place. What's good for middle and high school aged students is the Build Progam depends on volunteers. They get trained in taking old computers apart, testing components for quality, wiping disk drives completely, and reassembling these components into working machines, many of which go to worthy charities, schools, coffee shops, nonprofits, or to the Free Geek community store. Best part: not only do student volunteers get all this valuable hands on experience for free, in the company of peers under adult tutelage, but they get to take home a computer in exchange for building six, i.e. build five for worthy charities and now think of that sixth one as yours (though you may not get that actual computer). freegeek.org > 2) Talk about the history. ?Show them some really old computers. ?Talk about > the Analytical Engine. Make sure they know what Moore's Law is. Yes, and make sure you include Ada and Grace Hopper. Computer science is about women, and men. If these are high school kids, I might point them to Cryptonomicon (fiction Stephenson) and/or In Code (non-fiction Flannery). I think the history of computers needs to come through Ada/Babbage, then Turing and Bletchley Park. You need to explain about Enigma and all that, why there was suddenly such an impetus to make digital computers real, not just talk about them. Cryptography is an inherently fascinating topic anyway and lots of teachers use it. The story continues to the present day through PGP and RSA. > 3) Show them some things about operating systems (the task manager, a DOS > command window) and talk about viruses, worms, zombies, botnets, cyberwar. . > . stuff like that Yes, offer practical advice about how to stay safe and play safe. Encourage high ethics. In my classes for Saturday Academy (high school), I've put a *lot* of emphasis on the free and open source story, sometimes screening portions of 'Revolution OS'. Linus Torvalds is in Portland and my contacts in Brussels say Europe is seeing us this way (as a capital of open source). OSCON is returning in 2010. So I make sure to explain how copying and sharing is NOT always "piracy" and that hackers are not "software pirates" by definition, unless by "pirate" you mean someone who's resourceful and free spirited. Portland is really into pirates of that kind. > 4) Make sure they know how binary numbers work, and how sound and images can > be encoded. > 5) Teach them about the internet -- packets, IP addresses, TCP and IP, > routers, DNS -- not in detail, just enough to demystify it a little. ?(In > the very first class I taught, I vividly remember one student sputtering in > frustration, "But what IS the internet?") The movie 'Warriors of the Net', available on-line, is one of my very favorites for classroom use. I showed that at West Precinct (HIllsboro Police, nearby home of Intel etc.) to high schoolers during a special class in open source culture. The police cybercrime division was always getting invited to schools to scare kids about piracy, but knew themselves about the culture of free software (GNU, Stallman, Ubuntu, Fedora etc.) and didn't like always playing the heavy. It's a sad comment on schools of that day that the police felt so pushed into doing what teachers should have been doing, but the teachers were all scared of "hackers" and though Python sounded too scary to ever touch, even with a 10 foot pole. I don't know how much the attitude has shifted. I think there's still way to much fear and paranoia around computers in schools, in part because everyone gets their information from fictional TV shows and movies and that leaves them victims of their own imaginations. Hard information about how things work (really work) is the best antidote, so I applaud and encourage your focus here (and feel for that student, who just wanted to what what the Internet is, really). > 6) Have them do some simple web pages by writing HTML tags with a text > editor. Yes, excellent, and talk about CSS too. I love that web site we all know about probably, where you just reload the same HTML with skin after skin (defined separately in the CSS). Do you have a projector in the room. I think showing short clips, movies, projecting web sites, source code, operating stuff interactively, having students come up to take turns, lighting talks, makes all the difference. Sometimes a projector, laptop and Internet connection is far more practical and affordable, on a first pass, than having every desk equipped with a computer (either desk top or lap top), a ratio of 1:1. Much as we like this latter configuration (it's what I get at Saturday Academy), it's not always within range. Also, projector + laptop + Internet is the combo you'd want for art history, music, geography (Google Earth), just about any topic under the sun, not just CS. Don't forget speakers. Laptop speakers won't be sufficient. Tomorrow's classrooms will be more like recording studios, judging from some of the state of the art high schools in our area. Portland is very wealthy in some areas and pours money into education like there's no tomorrow (which there wouldn't be, if we didn't pour money into education). > 7) Introduce them to programming. ?I use Python (starting with RUR-PLE) but > for middle school, I'd do Scratch or Alice. Yes, I start with Python as well, in IDLE. We don't necessarily need any add-ons right away. There's turtle.py for sketching those plane nets (recent example). When I do go with add ons, it tends to be all about spatial geometry (not flatlander stuff) as students come to Saturday Academy with high expectations, want to see good eye candy, make some themselves. VPython and POV-Ray have both proved very valuable for this. I've managed to have the math modules relatively innocent of the visualization back end (MVC design) so that you can treat VPython and POV-Ray somewhat as alternative back ends (like using MySQL or Postgres). A third very interesting output format is VRML aka x3D. Python can write everything, just render with a free browser plug-in, show those polyhedra or whatever. All the source code is free on the web, with lots of pretty pictures and clues in the free slide shows. Using string substitution is key to making these back end programs readable and understandable. Playing with Madlibs is a great intro to this feature. I've noticed this strategy has caught on with some other CS teachers. In my EuroPython slides (Vilnius) I make the link from Madlibs to Grossology. > 8) Have them research some cool/scary things that are happening with > robotics and AI, and have them give presentations to the class. > Yes, Lightning Talks in front of the class, showing off whatever media they've pulled together, be that slides, animations, collected images and Youtubes.... It's important to discuss academic ethics as well i.e. giving credit where credit is due. When work is not original, it's no crime to share it, but be prepared to tell us where it came from. Document your work, your sources. Be generous with your citations to others. > To me, the important thing is to get them to not think of a computer as a > magic black box, but instead to get under the hood and think about how > things work. (see > http://extremities.com/pct/index.php?nxt=intro&sub=guyundercar) ?The very > first thing I have kids do is make up a list of things that they wonder > about -- I'm actually rather proud of that particular assignment: > http://extremities.com/pct/index.php?nxt=intro&sub=goodquestions > This is a really good exercise and I congratulate you for couching it in those terms. As a teacher, it's extremely helpful to get stuff ahead of time about what students themselves are wondering about or hoping to get more help with. The How Things Work component is what's really important a lot of the time, and it's not just the personal computer on your desk that's important to comprehend. We need to explain about larger systems, institutions, in which computers play a role. This includes explaining about social networking software, not making kids simply guess or imagine what's going on behind the scenes. Like if Facebook hasn't come up with a Guide for Teachers yet, containing quite a bit of technical information, as well as lore, then I'd say this is overdue. Ditto for Twitter, Myspace and so forth. Sharing internals shouldn't always be treated like some national security deep secret. Short projectables on Youtube might do the trick -- the teacher's job then, is simply to find them and interleave them into classroom discussion. What I call Supermarket Math is a template for the How Things Work component in that we go into the operations of a supermarket, talking about inventory, shipping, ordering, point of sale, accounting. At the center of all this is ye old Relational Database. We have SQLlite, we have at least once computer in the room, lets get into SQL some, dredge up those Venn Diagrams from math class and explain their relevance here. I'm not talking about a full-blown course for DBAs, just talking about How Things Work. Then talk a little about MVC and web frameworks. Seriously. High school kids will grok it (understand it) and start appreciating how school is actually beginning to mirror their everyday reality for a change. Here's my overview page on said Supermarket Math: http://www.wikieducator.org/Supermarket_Math Note that I've got my MVC (model view controller) stuff under Martian Math because that's where we do the polyhedra. I actually have an SQLlite database pre-stuffed with coordinates, for retrieving and spitting out these polyhedra (either for OpenGL rendering ala VPython, or for ray-tracing ala POV-Ray, or for a VRML browser -- LiveGraphics3D another good format, used by Mathematica web sites). > Best of luck -- I'm eager to hear what you come up with. > > Andy Judkis > Academy of Allied Health and Science > Neptune, NJ > Thank you for sharing. I think we have much the same priorities. Kirby > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- >>> from mars import math http://www.wikieducator.org/Digital_Math From gregor.lingl at aon.at Sun Dec 20 22:09:41 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Sun, 20 Dec 2009 22:09:41 +0100 Subject: [Edu-sig] turtle in education In-Reply-To: <4bcde3e10908260318o10f81381y56d516f3c6cd40f3@mail.gmail.com> References: <4bcde3e10907220828hb31e3c9n12440f92b3456c8f@mail.gmail.com> <4A72CBF8.90108@aon.at> <4bcde3e10908260318o10f81381y56d516f3c6cd40f3@mail.gmail.com> Message-ID: <4B2E9295.2070902@aon.at> roberto schrieb: > On Fri, Jul 31, 2009 at 12:48 PM, Gregor Lingl wrote: > >> Hi Roberto, hi all, >> >> I've just created a repository of turtle graphics demos/applications >> at google code: >> >> http://code.google.com/p/python-turtle-demo/ >> > > thank you Gregor ! > I am back to office now and read your news > > i'll take carefully into account your material; > > also i'll try to differentiate the ways for my students using Sugar > TurtleArt as a start-up (and ongoing) tool and your Turtle module as > an ongoing one for more experienced guys; > > it will take me some time but i'll contribute everything may help > others in the field > Hi Roberto, did you already arrive at some results/conclusions concerning the use of turtle.py? Best regards, Gregor From ajudkis at verizon.net Mon Dec 21 00:45:36 2009 From: ajudkis at verizon.net (Andy Judkis) Date: Sun, 20 Dec 2009 18:45:36 -0500 Subject: [Edu-sig] CS teaching approaches In-Reply-To: References: <4B2E67D2.6080508@verizon.net> Message-ID: <4B2EB720.3000309@verizon.net> > >> 2) Talk about the history. Show them some really old computers. Talk about >> the Analytical Engine. Make sure they know what Moore's Law is. >> > > Yes, and make sure you include Ada and Grace Hopper. Computer science > is about women, and men. > I definitely stress Ada's contributions -- I talk about her when we go over the analytical engine, and then come back to her when we do programming. Hopper, not so much -- obviously she was a very important contributor but I think a lot of girls would find her off-putting -- she kind of confirms some of the stereotypes that we're trying to get past. I'm not confident about this, it's just my gut feel, and I'd love to hear some other opinions. I have a unit where I give each kid some computer-oriented person to learn about and report on to the class, and I try hard to find hip and/or unique personalities, or fascinating life stories. I've got about 20 that seem to fit the bill pretty well (Lynn Conway is probably the ultimate in fascinating biographies -- but I also give them John Perry Barlow, Jared Lanier, Alan Kay, Jack Tramiel, Nolan Bushnell, John Von Neumann. . . ), but would love suggestions for others, especially more women. > I think the history of computers needs to come through AdaBabbage, > then Turing and Bletchley Park. You need to explain about Enigma and > all that, why there was suddenly such an impetus to make digital > computers real, not just talk about them. The best friendly treatment of all this that I've found is The Cartoon Guide to the Computer by Larry Gonick. Boy, would I like to see that updated and re-released. >> 3) Show them some things about operating systems (the task manager, a DOS >> command window) and talk about viruses, worms, zombies, botnets, cyberwar. . >> . stuff like that >> > > Yes, offer practical advice about how to stay safe and play safe. > Encourage high ethics. > Not just that, but it helps them understand stuff that's in the news. They start to notice more of what's going on. >> 6) Have them do some simple web pages by writing HTML tags with a text >> editor. >> > Yes, excellent, and talk about CSS too. I love that web site we all > know about probably, where you just reload the same HTML with skin > after skin (defined separately in the CSS). > I guess you mean www.csszengarden.com? I show that after introducing style sheets, and it blows their minds. > The How Things Work component is what's really important a lot of the > time, and it's not just the personal computer on your desk that's > important to comprehend. We need to explain about larger systems, > institutions, in which computers play a role. This includes > explaining about social networking software, not making kids simply > guess or imagine what's going on behind the scenes. > Agreed. I think that familiarity with this stuff at some basic level is important for all citizens, not just future tech geeks. Which kind of brings it back to Roberto's original post -- what should you teach in a middle school CS class? I wouldn't focus on formal programming at all -- at that age, I suspect that very few kids will find it compelling. I'd point to http://csta.acm.org/Curriculum/sub/ACMK12CSModel.html and also http://csunplugged.org/ for more ideas. Thanks, Andy From kirby.urner at gmail.com Tue Dec 22 05:55:35 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 21 Dec 2009 20:55:35 -0800 Subject: [Edu-sig] CS teaching approaches In-Reply-To: <4B2EB720.3000309@verizon.net> References: <4B2E67D2.6080508@verizon.net> <4B2EB720.3000309@verizon.net> Message-ID: On Sun, Dec 20, 2009 at 3:45 PM, Andy Judkis wrote: > >> 2) Talk about the history. Show them some really old computers. Talk >>> about >>> the Analytical Engine. Make sure they know what Moore's Law is. >>> >>> >> >> Yes, and make sure you include Ada and Grace Hopper. Computer science >> is about women, and men. >> >> > I definitely stress Ada's contributions -- I talk about her when we go over > the analytical engine, and then come back to her when we do programming. > Hopper, not so much -- obviously she was a very important contributor but I > think a lot of girls would find her off-putting -- she kind of confirms some > of the stereotypes that we're trying to get past. I'm not confident about > this, it's just my gut feel, and I'd love to hear some other opinions. > > Sure, different teachers, different lore, different stories. What I encourage though, is telling stories. Sounds like you do as well. A diet of just technical information is too devoid of context and is what the neighboring math tracks most suffer from i.e. there's often almost no historical dimension, little sense of a time line. When I gave a workshop at Pycon this year, with Steve Holden, I had this slide showing the two axes: technical, and lore. You have this curve, representing whatever finite bandwidth, and a kind of trade off. As teachers (and as communicators more generally) we slide around on this curve. Sometimes just being straight ahead technical is not the best approach. Regarding Ada, I once wrote a spirited defense of her keeping the title of "first computer programmer". A cover story in the New Yorker magazine, with a spoofy caricature of her, proposed to take that away. Regarding Hopper, I saw a video clip of her once, explaning a nanosecond as how long it took light to travel the length of her forearm. She had a very reassuring and commanding presence I thought, probably goes with being a Rear Admiral or some such. >From what I've learned so far, I have nothing but admiration for her contributions and acheivements, but don't consider myself an expert. I'd like to learn more. More lore! > I have a unit where I give each kid some computer-oriented person to learn > about and report on to the class, and I try hard to find hip and/or unique > personalities, or fascinating life stories. I've got about 20 that seem to > fit the bill pretty well (Lynn Conway is probably the ultimate in > fascinating biographies -- but I also give them John Perry Barlow, Jared > Lanier, Alan Kay, Jack Tramiel, Nolan Bushnell, John Von Neumann. . . ), but > would love suggestions for others, especially more women. > You know a lot of cool stuff, probably explains why you get to teach these cool classes. Twas my privilege to meet and hang out with Alan Kay over the course of a 2-3 day marathon meeting. People from many walks of life were huddled to think of a good way forward for South African educators -- we had some government representatives and full time teachers from that country among us as well (this was a meeting in London). Alan is an impressive character, not someone I'd easily forget. The late Arthur Siegel and I used to trade views about him in this archive (Arthur being someone else who makes a lasting impression). Alan seemed clearly admiring of Python, also of Javascript. Alan had something of an 'Idiocracy' perspective (know the movie I mean?) in that he saw too much backsliding and devolution. This made him uncomfortable. I can't say I'm not empathetic, but then maybe I'm one of the devolved. I got to speak at London Knowledge Lab on my way to this meeting: http://bfi.org/bfi_community/pythonic_mathematics_talk_by_kirby_urner Of course Alan connects to his Dynabook idea and more recently to One Laptop Per Child (the XO is like a Dynabook on some ways). Python and OLPC continue to have this close connection thanks to Sugar. I'm sure you know all this, just wanting to graph the scene. Say, I'm amazed how OLPC didn't spread across the USA's back-of-the-cereal-box culture, or maybe it did and I missed it? Did anyone here ever see an XO on the back of a Cheerios box? Industry talks to children through TV and cereal boxes (among other ways). Some cereal company needs to develop a geekier brand of breakfast cereal and sponsor a matching TV show. Marketing avatars could use this opportunity to show off how they're able to keep technical content girl-friendly, not make it all Johnny Neutron and boy-centric. Hey, cereal companies! Want some help? > I think the history of computers needs to come through AdaBabbage, >> >> then Turing and Bletchley Park. You need to explain about Enigma and >> all that, why there was suddenly such an impetus to make digital >> computers real, not just talk about them. >> > The best friendly treatment of all this that I've found is The Cartoon > Guide to the Computer by Larry Gonick. Boy, would I like to see that > updated and re-released. > > Encouraging students to draw their own cartoon guides would be another option, with examples to draw from. The lore we choose might be themed to motivate specific technical studies. For example, I tell the story of Hollerith machines, tabulators, keeping tabs, as a build-up to SQL in what I call Supermarket Math (you need SQL to run a contemporary supermarket). However, this topic of collecting data about people, anonymous or not, gets us into that realm of worrying about what information is collected, fears and trepedations (which we don't dismiss or pooh pooh). When explaining "how things work", one needs to be prepared to delve into these issues of privacy, monitoring, Big Brother. True story from the Python.org diversity list, which is all peace and quiet these days: we were talking about those check boxes Americans use to enquire about ethnicity and/or race. Should these be added to Pycon registration web forms, as a way to help measure diversity? At least one of our European subscribers was very clear that such boxes would come across as offensive, even illegal in a European context. Asking about ethnicity, keeping tabs in that way, was a precursor to the holocaust, and that's never far below the surface in these kinds of discussions. Yes, I'm getting into mature topics (sobering) and maybe we're not talking about middle school any more. My talk was actually more about "andragogy" than "pedagogy" i.e. teaching adults. As adults, we should consider the lore we teach to ourselves and one another. Another story I tell is about the rise of Unicode based on the model of ASCII. The 7-bit map with a parity check, the extra 128 slots once you use all 8 bits. IBM code pages. And then Unicode. Lots of stuff to show and tell about including showing examples of non-Latin-1 Python source code. The story both gives perspective, and it motivates a technical discussion about powers of two, about how each additional bit doubles the number of code points. This is a happy story about people around the world agreeing to support all these human languages and bringing them forward in a digital age. After the workshop though, some attenders were keen to give me a more nuanced version. Each one of these stories goes to many levels and the classroom versions will necessarily be abbreviated. A final example of a good story is what we already talked about: following the cryptography thread through that interesting chapter when public key first came out. Zimmermann's PGP, government efforts to squelch its export etc. http://www.philzimmermann.com/EN/background/index.html Students enjoy visiting that page showing giant RSA composites still needing to be cracked, with big money prizes for those that crack them (this contest has been discontinued I notice). Examples of already cracked numbers provide more grist for the mill. http://www.rsa.com/rsalabs/node.asp?id=2092 (RSA numbers) http://www.rsa.com/press_release.aspx?id=462 (cracking DES) WIth this story as background, it's easier to motivate technical sessions working the giant (long) integers. What story might motivate using the Decimal type to a large number of significant digits? I can think of one or two, but I'm curious what you or others might offer. > > 3) Show them some things about operating systems (the task manager, a DOS >>> command window) and talk about viruses, worms, zombies, botnets, >>> cyberwar. . >>> . stuff like that >>> >>> >> >> Yes, offer practical advice about how to stay safe and play safe. >> Encourage high ethics. >> >> > Not just that, but it helps them understand stuff that's in the news. They > start to notice more of what's going on. > > Exactly right! Where's the TV show that does this on Saturday Morning? > > 6) Have them do some simple web pages by writing HTML tags with a text >>> editor. >>> >>> >> Yes, excellent, and talk about CSS too. I love that web site we all >> know about probably, where you just reload the same HTML with skin >> after skin (defined separately in the CSS). >> >> > I guess you mean www.csszengarden.com? I show that after introducing > style sheets, and it blows their minds. > > Thank you! That's the one! > The How Things Work component is what's really important a lot of the >> time, and it's not just the personal computer on your desk that's >> important to comprehend. We need to explain about larger systems, >> institutions, in which computers play a role. This includes >> explaining about social networking software, not making kids simply >> guess or imagine what's going on behind the scenes. >> >> > Agreed. I think that familiarity with this stuff at some basic level is > important for all citizens, not just future tech geeks. > > More Geek TV! > Which kind of brings it back to Roberto's original post -- what should you > teach in a middle school CS class? I wouldn't focus on formal programming > at all -- at that age, I suspect that very few kids will find it compelling. > I'd point to http://csta.acm.org/Curriculum/sub/ACMK12CSModel.html and > also http://csunplugged.org/ for more ideas. > > Thanks, > Andy > Right. Not so much formal programming. More creative play, dabbling, using Python as a calculator, interactively in the shell (as way smarter calculator in so many ways, especially when you add 3D plotting, turtle graphics, the ability to read and write files...). Having students scan already tested source code (scaffolding) with a kindly tour guide teacher, is a very different exercise from sitting in front of a blank canvas and feeling under pressure to produce. It's the difference between recognition (recog) and recollection (recall). The former is much easier and will usually precede writing code by oneself. Likewise an infant spends a lot of time absorbing language in an immersive environment, listening to fluent speakers, before having to say a whole lot on her own. CS Unplugged got favorable mention at our planning meeting on Aug 7 (which I'm sure I posted about, perhaps to excess on this list). Here in Oregon, there're moves afoot to get some computery stuff to count towards fulfilling the minimum three year math requirement, meaning the course would not have that "elective" flavor. You'd take it to satisfy a 3rd year requirement for a hight school diploma, and heres a "digital math" class that will do that for ya. Some schools are already doing pilots along these lines (we met at one that was doing it). There doesn't seem to be much push back. Seems more like a done deal (that's must my personal perspective -- don't know what I don't know). Computer science teachers like the idea because now some of them get to teach a required course. Math teachers like it because now they get to use cooler more motivating tools without losing "required track" status. The students like it because working with computers is more fun than not. The parents like it because the skills look very career relevant. Industry likes it because the skills are indeed career relevant. There's lots of agreement Python will play a starring role in all this (the Litvins text got waved around as exemplary -- not by me as my only copy was PDF), though at the level of standards, I don't know that a specific language actually needs to be specified.** We're *not* talking about an AP (Advanced Placement) course here, where the course designers have a national test in mind, and so have to be specific as to language (traditionally Java these days, used to be C++ I'm pretty sure). Anyway, a lot of us on edu-sig, such as Gregor in Vienna, are blissfully exempt from needing to care about AP, ETS and all that. Kirby -- >>> from mars import math http://www.wikieducator.org/Digital_Math ** http://mathforum.org/kb/message.jspa?messageID=6933198&tstart=0 (re standards and how "meaty" we might want them to be -- a somewhat contentious list, a front lines for "math wars" on some days). -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto03 at gmail.com Wed Dec 23 20:34:11 2009 From: roberto03 at gmail.com (roberto) Date: Wed, 23 Dec 2009 20:34:11 +0100 Subject: [Edu-sig] turtle in education In-Reply-To: <4B2E9295.2070902@aon.at> References: <4bcde3e10907220828hb31e3c9n12440f92b3456c8f@mail.gmail.com> <4A72CBF8.90108@aon.at> <4bcde3e10908260318o10f81381y56d516f3c6cd40f3@mail.gmail.com> <4B2E9295.2070902@aon.at> Message-ID: <4bcde3e10912231134w77a24436mf6ebb28850a7dc1e@mail.gmail.com> On Sun, Dec 20, 2009 at 10:09 PM, Gregor Lingl wrote: >> >> also i'll try to differentiate the ways for my students using Sugar >> TurtleArt as a start-up (and ongoing) tool and your Turtle module as >> an ongoing one for more experienced guys; >> >> it will take me some time but i'll contribute everything may help >> others in the field >> > > Hi Roberto, > > did you already arrive at some results/conclusions concerning the use of > turtle.py? Hi Gregor, thank you for your mail; actually, as stated above, i'd start with TurtleArt as a first and ongoing tool for programming; the second step will involve turtle.py for more proficient guys; my schedule is delayed because of technical problem with turte art, as you can already see in sugar list and because of other minor issues in my computer room at school; anyway i'll collect everything down in a wiki, jointly started with students and (hopefully) other colleagues; i don't know how much time it will take to make everything ready, but i'll post it here as soon as it is done keep posted -- roberto From kirby.urner at gmail.com Thu Dec 31 02:50:20 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 30 Dec 2009 17:50:20 -0800 Subject: [Edu-sig] Fwd: student project (market reseach) In-Reply-To: References: Message-ID: Greetings to edu-sig friends, HNY! Kirby ---------- Forwarded message ---------- From: kirby urner Date: Wed, Dec 30, 2009 at 5:49 PM Subject: student project (market reseach) """ Slinging code from this resource: http://uswaretech.com/blog/2009/06/bing-python-api/ More background in blog: http://mybizmo.blogspot.com/2009/12/back-stage.html Also edu-sig: open source buzzbot project proposal http://mail.python.org/pipermail/edu-sig/2009-September/009520.html """ import urllib2 import urllib import simplejson import logging APP_ID = "your_app_id_here" class BingException(Exception): pass class Bing(object): def __init__(self, app_id, loglevel=logging.INFO): self.app_id = app_id self.log_filename = 'log.log' self.end_point = ' http://api.search.live.net/json.aspx?Appid=%s&'%app_id logging.basicConfig(level=loglevel, format='%(asctime)s %(name)-6s %(levelname)-8s %(message)s', filename=self.log_filename) def talk_to_bing(self, query, sources, extra_args={}): logging.info('Query:%s'%query) logging.info('Sources:%s'%sources) logging.info('Other Args:%s'%extra_args) payload={} payload['Appid'] = self.app_id payload['query'] = query payload['sources'] = sources payload.update(extra_args) query_string = urllib.urlencode(payload) final_url = self.end_point + query_string logging.info('final_url:%s'%final_url) response = urllib.urlopen(final_url) data = simplejson.load(response) if 'Errors' in data['SearchResponse']: logging.info('Error') logging.info('data:%s'%data) data = data['SearchResponse'] errors_list = [el['Message'] for el in data['Errors']] error_text = ','.join(errors_list) raise BingException(error_text) logging.info('data:%s'%data) return data def do_web_search(self, query, extra_args={}): return self.talk_to_bing(query, sources='web', extra_args=extra_args) def do_image_search(self, query, extra_args={}): return self.talk_to_bing(query, sources='image', extra_args=extra_args) def do_news_search(self, query, extra_args={}): return self.talk_to_bing(query, sources='news', extra_args=extra_args) def do_spell_search(self, query, extra_args={}): return self.talk_to_bing(query, sources='spell', extra_args=extra_args) def do_related_search(self, query, extra_args={}): return self.talk_to_bing(query, sources='relatedsearch', extra_args=extra_args) def do_phonebook_search(self, query, extra_args={}): return self.talk_to_bing(query, sources='Phonebook', extra_args=extra_args) def do_answers_search(self, query, extra_args={}): return self.talk_to_bing(query, sources='InstantAnswer', extra_args=extra_args) def testmulti( n = 100 ): theurls = [] hits = -1 bing = Bing(APP_ID) # your APP_ID while hits < n: try: results = bing.talk_to_bing("Flextegrity", sources = "web", extra_args={'web.offset':hits+1}) except BingException: print BingException break hits += len(results['SearchResponse']['Web']['Results']) for result in results['SearchResponse']['Web']['Results']: theurl = result['Url'] theurls.append(theurl) return theurls def onepass(): return testmulti(n = 1) def simplecheck(): bing = Bing(APP_ID) # your APP_ID try: results = bing.talk_to_bing("Flextegrity", sources = "web") except BingException: print BingException return results def tests(): #print simplecheck() # print onepass() print testmulti(50) if __name__ == "__main__": tests() -- >>> from mars import math http://www.wikieducator.org/Digital_Math -- >>> from mars import math http://www.wikieducator.org/Digital_Math -------------- next part -------------- An HTML attachment was scrubbed... URL: