From jurgis.pralgauskis at gmail.com Sun Sep 1 11:49:18 2013 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Sun, 1 Sep 2013 12:49:18 +0300 Subject: [Edu-sig] Blocky programming (like Scratch) --> convert to Python Message-ID: for beginners (small children) might be good idea -- prevents syntax errors http://code.google.com/p/blockly/ http://blockly-demo.appspot.com/static/apps/code/index.html -- Jurgis Pralgauskis tel: 8-616 77613; Don't worry, be happy and make things better ;) http://galvosukykla.lt -------------- next part -------------- An HTML attachment was scrubbed... URL: From ntoll at ntoll.org Thu Sep 5 09:02:51 2013 From: ntoll at ntoll.org (Nicholas H.Tollervey) Date: Thu, 05 Sep 2013 08:02:51 +0100 Subject: [Edu-sig] PyconUK 2013 Education Track Message-ID: <52282C9B.7060406@ntoll.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Folks, I realise many of you are not based in the UK (actually, out of interest, who on this list is..?), but I thought you might be interested in the following announcement: Know any teachers..? Have you got kids..? Attending PyconUK at the end of this month..? Yup, after the success of last year's education track we're running a new and improved version this year. With five invited speakers, workshops and a "Raspberry Jam" (for kids) on the Sunday we're making sure PyconUK is top-of-the-class when it comes to engaging with the Pythonistas of tomorrow. Alan O'Donohoe has written up a blog post explaining what we have planned here: https://teachcomputing.wordpress.com/2013/09/05/teachers-welcome-at-pyconuk-2013/ If you know a teacher, tell 'em to sign up and come learn Python and collaborate with developers on producing educational resources. If you have kids, bring them along on the Sunday (where they can, among other things, learn to program the game-du-jour "Minecraft" with Python). Thanks to Bank of America for their sponsorship of the education track. Spread the word, tell your friends and bring your kids! It'll be awesome. Nicholas. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iQEcBAEBAgAGBQJSKCybAAoJEP0qBPaYQbb6kdIH/1MDF/0tT403tSAEfCZMZSFu A1iLim/ijBWqisFSKyf1jpqZJ8NPddVOxaYPbMhQZCIoV7Rg/pYUa9g2uAnOnwot ajfQewyjdB12gKB/c2ibgx9fREfZfvBDfpQyYMg0kksjGhiWbUrZO4rb3yDEH0Es 5XZ+dVojTJOTfemwewYpW6TxV0k7m96egJdFqP1xjVtwaXeK5vqNd1w7kpi/mmoN I7HGsbHAzv8BdPC1VklqGax7yKXhZ+ikTj0bUDQyQZUPfeItSmHdqgFEm7XSYkki OrJvnuEUgDkEkcbavJOUsglyqywDpnk+N10KXNd1slEONMiHH1RrKDr/vb32v8A= =lYAR -----END PGP SIGNATURE----- From baggiepr at gmail.com Thu Sep 5 12:05:56 2013 From: baggiepr at gmail.com (Phil Bagge) Date: Thu, 5 Sep 2013 11:05:56 +0100 Subject: [Edu-sig] Edu-sig Digest, Vol 122, Issue 2 In-Reply-To: References: Message-ID: Hi Nicholas, I am UK based Sounds like a great idea. I will advertise at our CAS Hub as well. Thanks for sharing Phil Bagge On 5 September 2013 11:00, wrote: > Send Edu-sig mailing list submissions to > edu-sig at python.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://mail.python.org/mailman/listinfo/edu-sig > or, via email, send a message with subject or body 'help' to > edu-sig-request at python.org > > You can reach the person managing the list at > edu-sig-owner at python.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Edu-sig digest..." > > > Today's Topics: > > 1. PyconUK 2013 Education Track (Nicholas H.Tollervey) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 05 Sep 2013 08:02:51 +0100 > From: "Nicholas H.Tollervey" > To: edu-sig at python.org > Subject: [Edu-sig] PyconUK 2013 Education Track > Message-ID: <52282C9B.7060406 at ntoll.org> > Content-Type: text/plain; charset=ISO-8859-1 > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi Folks, > > I realise many of you are not based in the UK (actually, out of > interest, who on this list is..?), but I thought you might be > interested in the following announcement: > > Know any teachers..? Have you got kids..? Attending PyconUK at the end > of this month..? > > Yup, after the success of last year's education track we're running a > new and improved version this year. With five invited speakers, > workshops and a "Raspberry Jam" (for kids) on the Sunday we're making > sure PyconUK is top-of-the-class when it comes to engaging with the > Pythonistas of tomorrow. > > Alan O'Donohoe has written up a blog post explaining what we have > planned here: > > > https://teachcomputing.wordpress.com/2013/09/05/teachers-welcome-at-pyconuk-2013/ > > If you know a teacher, tell 'em to sign up and come learn Python and > collaborate with developers on producing educational resources. If you > have kids, bring them along on the Sunday (where they can, among other > things, learn to program the game-du-jour "Minecraft" with Python). > > Thanks to Bank of America for their sponsorship of the education track. > > Spread the word, tell your friends and bring your kids! > > It'll be awesome. > > Nicholas. > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.12 (GNU/Linux) > Comment: Using GnuPG with Icedove - http://www.enigmail.net/ > > iQEcBAEBAgAGBQJSKCybAAoJEP0qBPaYQbb6kdIH/1MDF/0tT403tSAEfCZMZSFu > A1iLim/ijBWqisFSKyf1jpqZJ8NPddVOxaYPbMhQZCIoV7Rg/pYUa9g2uAnOnwot > ajfQewyjdB12gKB/c2ibgx9fREfZfvBDfpQyYMg0kksjGhiWbUrZO4rb3yDEH0Es > 5XZ+dVojTJOTfemwewYpW6TxV0k7m96egJdFqP1xjVtwaXeK5vqNd1w7kpi/mmoN > I7HGsbHAzv8BdPC1VklqGax7yKXhZ+ikTj0bUDQyQZUPfeItSmHdqgFEm7XSYkki > OrJvnuEUgDkEkcbavJOUsglyqywDpnk+N10KXNd1slEONMiHH1RrKDr/vb32v8A= > =lYAR > -----END PGP SIGNATURE----- > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > > ------------------------------ > > End of Edu-sig Digest, Vol 122, Issue 2 > *************************************** > -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniele.gianni at gmail.com Thu Sep 5 22:21:46 2013 From: daniele.gianni at gmail.com (Daniele Gianni) Date: Thu, 5 Sep 2013 22:21:46 +0200 Subject: [Edu-sig] CfP: 4th International Workshop on Model-driven Approaches for Simulation Engineering part of the Symposium on Theory of Modeling and Simulation (SCS SpringSim 2014) Message-ID: (Please accept our apologies if you receive multiple copies of this CFP) ################################################################# CALL FOR PAPERS 4th International Workshop on Model-driven Approaches for Simulation Engineering part of the Symposium on Theory of Modeling and Simulation (SCS SpringSim 2014) ################################################################# April 13-16, 2014, Tampa, FL (USA) http://www.sel.uniroma2.it/Mod4Sim14 ################################################################# # Papers Due: *** November 1, 2013 *** # Accepted papers will be published in the conference proceedings # and archived in the ACM Digital Library. ################################################################# The workshop aims to bring together experts in model-based, model-driven and software engineering with experts in simulation methods and simulation practitioners, with the objective to advance the state of the art in model-driven simulation engineering. Model-driven engineering approaches provide considerable advantages to software systems engineering activities through the provision of consistent and coherent models at different abstraction levels. As these models are in a machine readable form, model-driven engineering approaches can also support the exploitation of computing capabilities for model reuse, programming code generation, and model checking, for example. The definition of a simulation model, its software implementation and its execution platform form what is known as simulation engineering. As simulation systems are mainly based on software, these systems can similarly benefit from model-driven approaches to support automatic software generation, enhance software quality, and reduce costs, development effort and time-to-market. Similarly to systems and software engineering, simulation engineering can exploit the capabilities of model-driven approaches by increasing the abstraction level in simulation model specifications and by automating the derivation of simulator code. Further advantages can be gained by using modeling languages, such as UML and SysML ? but not exclusively those. For example, modeling languages can be used for descriptive modeling (to describe the system to be simulated), for analytical modeling (to specify analytically the simulation of the same system), and for implementation modeling (to define the respective simulator). A partial list of topics of interest includes: * model-driven simulation engineering processes * requirements modeling for simulation * domain specific languages for modeling and simulation * model transformations for simulation model building * model transformations for simulation model implementation * model-driven engineering of distributed simulation systems * relationship between metamodeling standards (e.g., MOF, Ecore) and distributed simulation standards (e.g., HLA, DIS) * metamodels for simulation reuse and interoperability * model-driven technologies for different simulation paradigms (discrete event simulation, multi-agent simulation, sketch-based * simulation, etc.) * model-driven methods and tools for performance engineering of simulation systems * simulation tools for model-driven software performance engineering * model-driven technologies for simulation verification and validation * model-driven technologies for data collection and analysis * model-driven technologies for simulation visualization * Executable UML * Executable Architectures * SysML / Modelica integration * Simulation Model Portability and reuse * model-based systems verification and validation * simulation for model-based systems engineering To stimulate creativity, however, the workshop maintains a wider scope and welcomes contributions offering original perspectives on model-driven engineering of simulation systems. +++++++++++++++++++++++++++++++++++ On-Line Submissions and Publication +++++++++++++++++++++++++++++++++++ We invite paper submissions in three forms: 1. Full paper (max 8 pages), describing innovative research results. These papers are eligible for the best paper award and may be invited for an extended version in a special issue of the SCS SIMULATION journal. 2. Work-in-progress paper (max 6 pages), describing novel research ideas and promising work that have not yet been fully evaluated. 3. Short paper (max 6 pages), describing industrial and hands-on experience on any relevant area (i.e. military, government, space, etc.). All the papers must be submitted through the SCS conference management systems (http://www.softconf.com/scs/DEVS14/) and select the Mod4Sim track. The submissions must be in PDF format and conform to the SCS conference template (Word template is available at http://www.scs.org/upload/documents/templates/ConferenceSubmissionWORDTemplate.doc, guidelines are available at http://www.scs.org/PDFs/formattingkit.pdf). All the submitted papers must be original and not submitted else where. Submitted papers will be peer reviewed with respect to their quality, originality and relevance. The authors of the accepted papers must register in advance for inclusion of their paper in the conference proceedings. Authors of accepted papers will be invited to update their papers basing on the reviews, before providing the camera ready. All accepted papers will be included in the conference proceedings and archived in both the ACM Digital Library and IEEE Digital Library. Authors may contact the organizers for expression of interest and content appropriateness at any time. +++++++++++++++ Important Dates +++++++++++++++ * Submission Deadline: November 1, 2013 * Decision to paper authors: January 5, 2014 * Camera ready due: February 2, 2014 * Conference dates: April 13-16, 2014 (to be confirmed within the SpringSim schedule) ++++++++++++++++++++ Organizing Committee ++++++++++++++++++++ * Daniele Gianni ? University Guglielmo Marconi, Italy * Arnaud Cuccuru ? CEA/LIST, France +++++++++++++++++ Program Committee +++++++++++++++++ * Steffen Becker - University of Paderborn, Germany * Paolo Bocciarelli - University of Rome TorVergata, Italy * David Chen - University of Bordeaux I, France * Andrea D'Ambrogio - University of Rome TorVergata, Italy * Cristian Englert - Serco, The Netherlands * Huascar Espinoza - ESI-Tecnalia, Spain * Paul A. Fishwick - University of Florida, USA * Sebastien Gerard - CEA/LIST, France * Carlos Juiz - University of Balearic Islands, Spain * Cristiano Leorato - RHEA, The Netherlands * Steve McKeever - Uppsala University, Sweden * Halit Oguzt?z?n - Middle East Technical University, Turkey * Chris Paredis - Georgia Institute of Technology, USA * Nicolas Rouquette - NASA/JPL, USA * Volker Schaus - DLR, Germany * Sara Tucci - CEA/LIST, France * Andreas Tolk - SimIS, USA * Anthony Walsh - European Space Agency, Germany * Heming Zhang - Tsinghua University, China *** Contact Information *** Daniele Gianni and Arnaud Cuccuru (workshop co-chairs) Emails: danielegmail-mod4sim at yahoo.it and arnaud.cuccuru at cea.fr -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon Sep 9 18:15:19 2013 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 9 Sep 2013 09:15:19 -0700 Subject: [Edu-sig] Looking back on Chicago (Python workshop) Message-ID: I had a good workshop in Chicago. Two of the attenders worked assiduously on developing a native Linux installer for Visual Python (the latest) that wouldn't depend on Wine. The one guy brought his junky laptop (his "other" computer) and it overheated compiling all of wx (the latest Vpython integrates with wx). My schtick involves a mythical Python5, an add-on to my current courses, wherein we adopt a Model-View-Controller approach, as start with really simple views (i.e. ASCII art), knowing in advance the visualizations will be upgraded, using both render-time and real-time pipelines. The Model is of "tractors in a field", the controller being the user via interactive Python i.e. a very generic idea of MVC). Rather than sound too specialized and unable to talk about art or architecture, I focus on making this stuff friendly to humanities teachers, art and architecture teachers especially. The squares of our tractors' XY field could become hexagons and in 3D I mention the "octet truss" as good scaffolding (tetrahedrons + octahedrons), along with standard XYZ cubes. An ASCII character has "bit depth" (similar to "pixel depth") and with Unicode we go from 128 or 256 "colors" to "millions of colors" (an analogy with how our video displays evolved in a previous generation). The Unicode bridge takes me to both Russian and Chinese, where I mirror "tractor art" in various ways (North Americans were into tractors too). I did the slides in i-Movie and in true "bumbling professor" fashion needed audience participation to get the ball rolling, full screen etc. I invited other forms of audience participation and we did have some good conversations. They didn't want to "draw Django" though (I was inviting depictions of Django using imaginative graphics, versus a staid / stale "stack" -- the standard rectangular type "layered sandwich" of the engineering type magazines). Thanks to doing it in i-Movie, I should have a Youtube version shortly. It won't truly capture the talk, as I was also sampling other presentations when it came to Python5. Much of my content is autobiographical, but then I've been snaking around in Python world for awhile and have a good angle, my own front row seat (we all get one). I talk about various conferences, summits, meetings, meetups plus invite people to join us here on edu-sig. After the Monday workshop, I attended the speakers' dinner, hosted by PostgreSQL experts. The PostgreSQL community is quite fond of Django. The meal was in an Italian sports themed room and featured a full Italian meal, one of the top ten I've ever had (and that's from someone who lived in Italy for six years). The next day I took off on a pilgrimage to visit O'Reilly School's regional headquarters in Champaign-Urbana, hosted by a co-worker, and then to visit my daughter at her college in the neighboring state of Indiana. This was all by Alamo rental car, picked up and returned at O'Hare. Chicago is a fantastic city. Expensive though. I think the Django community will settle for a 2nd tier city next time. A luxury hotel right in downtown Chicago on Michigan Avenue, is one tough venue to pull off an event in, affordably. I was happy to take it in. Talking about art and architecture in Chicago makes so much sense, whereas the surrounding plains are all about rows and columns (of corn and soy), and tractors (and trains -- which are like tractors, but on tracks). Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon Sep 9 19:32:50 2013 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 9 Sep 2013 10:32:50 -0700 Subject: [Edu-sig] Looking back on Chicago (Python workshop) In-Reply-To: References: Message-ID: > My schtick involves a mythical Python5, an add-on to my current courses, > wherein we adopt a Model-View-Controller approach, as start with really > simple views (i.e. ASCII art), knowing in advance the visualizations will > be upgraded, using both render-time and real-time pipelines. The Model is > of "tractors in a field", the controller being the user via interactive > Python i.e. a very generic idea of MVC). > > What's important about the Tractor class is it defines an iterator, i.e. has a __next__ as well as __iter__ method. In one implementation, the entire Tractor is a generator function, not a class, based around a yield that takes new data through tractor.send( ). The yield / send syntax is of growing importance in Python, as iterators come into their own. Here's a simple demo of the yield / send concept: from string import ascii_lowercase as lowercase, digits from random import choice def tumbler(alpha=False): while True: if alpha: yield choice(lowercase) else: yield choice(digits) print("With reinitialization...") roller = tumbler() # numeric roller print(next(roller)) print(next(roller)) roller = tumbler(True) # alpha roller print(next(roller)) print(next(roller)) def tumbler(alpha=False): """ self.send() pipes to yield's recipient """ d = {} while True: if alpha: d = yield choice(lowercase) else: d = yield choice(digits) if d: alpha = d['alpha'] print("With send") roller = tumbler() # numeric roller print(next(roller)) print(next(roller)) roller.send({'alpha':True}) # switch! print(next(roller)) print(next(roller)) In the 2nd version of tumbler, there's a way to switch from numeric to alpha tumbler (and back) by sending in a dict. In the 1st version, you just have to start another tumbler, initialized differently. The default tractor, unlike the default turtle, has some sense of mortality i.e. unless you keep feeding it, it becomes inoperable. Of course it would be easy to subclass a turtle in Pythons exiting turtle library to have such an attribute. In Logo, a turtle is not "literally" a turtle and you can easily imagine changing the icon, to a tractor for instance. In the "tractor art" version, a way of teaching both Python and computer related concepts, there is more emphasis on taking "tractor" seriously, as a way of extending the metaphor outward, to the surrounding field and farm. More of a namespace is being claimed. Generality is lost, but this is not "a language" so much as a "theme" for inter-connecting lesson plans. A "tumbler" is not a tractor, more like a tumble weed, but your basic tractor is like a Turing device in that it may read and/or write a character in its current "cell". This is how a tractor "plows" its field, it changes the letters it goes over, as it goes over them (a kind of "tilling"). As mentioned earlier, things start in ASCII but given the MVC overview, when know the visualizations won't need to stay that primitive. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From sundeepsivan at gmail.com Tue Sep 3 18:21:13 2013 From: sundeepsivan at gmail.com (Sundeep Sivan) Date: Tue, 3 Sep 2013 21:51:13 +0530 Subject: [Edu-sig] PYTHON for audio processing Message-ID: Hi, I am an M.TECH student. I would like to do my main project in python. and my main project is "Speaker recognition"(ie. recognizing persons from their voice). For feature extraction i would like to use MFCC(Mel frequency cepstral coefficients) and For feature matching i may use Hidden markov model or DTW(Dynamic time warping) or ANN. When i googled about it their are many toolkits like HTK etc avilable for MATLAB. But i didnt get any tools for python. So my question is that can i do my project in python? Also is their any toolkits or modules avilable for my project. Kindly help. Regards Sundeep -------------- next part -------------- An HTML attachment was scrubbed... URL: From david at handysoftware.com Mon Sep 16 20:44:09 2013 From: david at handysoftware.com (David Handy) Date: Mon, 16 Sep 2013 14:44:09 -0400 (EDT) Subject: [Edu-sig] PYTHON for audio processing In-Reply-To: References: Message-ID: <1379357049.54557272@apps.rackspace.com> Hi Sundeep - I don't know anything about the MFCC, DTW, or ANN algorithms you mentioned. I would have to guess that they do some kind of transformation to frequency domain as a first stage, and probably use something like the FFT. The numpy (Numeric Python) package provides FFT and other accelerated numeric capabilities. You should take a look at it. As far as HTK goes, if it is a library written in C/C++ with a C interface, supplied as a DLL or shared object library, and you have C programming experience, you could use the Python ctypes module and create your own Python interface to it that way, without having to write any C code. Just a thought. David H -----Original Message----- From: "Sundeep Sivan" Sent: Tuesday, September 3, 2013 12:21pm To: edu-sig at python.org Subject: [Edu-sig] PYTHON for audio processing Hi, I am an M.TECH student. I would like to do my main project in python. and my main project is "Speaker recognition"(ie. recognizing persons from their voice). For feature extraction i would like to use MFCC(Mel frequency cepstral coefficients) and For feature matching i may use Hidden markov model or DTW(Dynamic time warping) or ANN. When i googled about it their are many toolkits like HTK etc avilable for MATLAB. But i didnt get any tools for python. So my question is that can i do my project in python? Also is their any toolkits or modules avilable for my project. Kindly help. Regards Sundeep -------------- next part -------------- An HTML attachment was scrubbed... URL: From amitsaha.in at gmail.com Wed Sep 18 05:47:06 2013 From: amitsaha.in at gmail.com (Amit Saha) Date: Wed, 18 Sep 2013 13:47:06 +1000 Subject: [Edu-sig] PYTHON for audio processing In-Reply-To: References: Message-ID: On Wed, Sep 4, 2013 at 2:21 AM, Sundeep Sivan wrote: > Hi, > I am an M.TECH student. I would like to do my main project in python. and my > main project is "Speaker recognition"(ie. recognizing persons from their > voice). For feature extraction i would like to use MFCC(Mel frequency > cepstral coefficients) and For feature matching i may use Hidden markov > model or DTW(Dynamic time warping) or ANN. When i googled about it their are > many toolkits like HTK etc avilable for MATLAB. But i didnt get any tools > for python. So my question is that can i do my project in python? Also is > their any toolkits or modules avilable for my project. Kindly help. Google led me to this: http://code.google.com/p/voiceid/ Hope you find it useful. Best, Amit. -- http://echorand.me From kurner at oreillyschool.com Thu Sep 19 18:35:09 2013 From: kurner at oreillyschool.com (Kirby Urner) Date: Thu, 19 Sep 2013 09:35:09 -0700 Subject: [Edu-sig] Leveraging Python (recap of Djangocon workshop) Message-ID: Good recap of a lot of my old themes, repackaged for this flagship conference. I was an invited representative of the greater Python community helping Djangonauts (Djangstas <-- my preferred, if we're doing nicks) pick up some vibes from the Great Hall is it were (Vaults of Parnassus or whatever). I had a similar invited roll at a 'GIS in Action' one year, representing Python as "this other place" (near Programming Republic of Perl if you don't have your Atlas of Cyberia yet). Direct to Youtube: http://youtu.be/MH49zLTeQsE Blogged context: http://worldgame.blogspot.com/2013/09/leveraging-python.html I'm happy enough with it as a recap that it's my new Trailer for my Youtube channel. However there's more variety in that channel i.e. it's not the kind of trailer that shows a montage of all the best bits (too many spoilers in some previews). Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From vernondcole at gmail.com Tue Sep 24 12:43:54 2013 From: vernondcole at gmail.com (Vernon D. Cole) Date: Tue, 24 Sep 2013 11:43:54 +0100 Subject: [Edu-sig] Quantities and Units in Python Message-ID: Given that my first useful programs were written to solve physics labs problems, this article jumped out at me, and I thought this group might find it useful. drdobbs.com/quantities-and-units-in-python ( I know how much fun student can have with this sort of thing. One of those early labs had velocity stated in furlongs per fortnight. ) -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurner at oreillyschool.com Wed Sep 25 02:56:28 2013 From: kurner at oreillyschool.com (Kirby Urner) Date: Tue, 24 Sep 2013 17:56:28 -0700 Subject: [Edu-sig] Quantities and Units in Python In-Reply-To: References: Message-ID: Interesting resources thank you. Dr. Dobbs gets to write about Python under the heading of JVM Languages. Interesting. Sure, that's right. Jython is a Python. Kirby On Tue, Sep 24, 2013 at 3:43 AM, Vernon D. Cole wrote: > Given that my first useful programs were written to solve physics labs > problems, this article jumped out at me, and I thought this group might > find it useful. > drdobbs.com/quantities-and-units-in-python > ( I know how much fun student can have with this sort of thing. One of > those early labs had velocity stated in furlongs per fortnight. ) > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ntoll at ntoll.org Sat Sep 28 21:41:16 2013 From: ntoll at ntoll.org (Nicholas H.Tollervey) Date: Sat, 28 Sep 2013 20:41:16 +0100 Subject: [Edu-sig] PyconUK education track Message-ID: <524730DC.1020706@ntoll.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Here's a write-up (one of many, but it's mine) about the PyconUK 2013 education track for teachers, students and developers that happened last weekend: http://ntoll.org/article/pyconuk2013-roundup It was a great success and a lot of fun was had by all..! Here's to more of the same next year. N. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iQEcBAEBAgAGBQJSRzDYAAoJEP0qBPaYQbb6spIIALHmxdi840zCmYUqs1V4RAwx RbSwdxB9AeZpewgKX4KmquvK1I3/szsF0iRMrV5EPDBd4nPLmPlEGif+RpecMTZH iLnS95fWDYZE9h6uD9jus47662oZz0dUAoMrGsxh5WpuyA41uE+ngLvc/up3S9Id 8kmUaOjBamNIlsFooxIoLhSgqIWVS6DOn+Nv+/IpAQLo7UtSzVxnej3zHozqgMzI DpwYqxbFw0WGts3yrzBJkuQQSYLJj9hjEgh415ir+MUSwLRIMbb965GwEOr1MKBj ATInlgj6dt1GuDOMHqeCVIV706vOyze4U8mBhy7d+APzJnYPJ9T1JB3WhW/Zm3o= =J6pU -----END PGP SIGNATURE----- From kirby.urner at gmail.com Sun Sep 29 19:38:02 2013 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 29 Sep 2013 10:38:02 -0700 Subject: [Edu-sig] stickworks.py (Python 3.2 edition) Message-ID: I think the code below is short enough and didactic / general purpose enough to archive / share here on edu-sig, (c) MIT License, versus say Github. It runs with only visual (Visual Python) as a dependency, which makes it a great demo and provides assets out of the box (simple Vector and Edge classes) to use with that excellent package. Then I'm going to post another demo which in turns depends on this module, and on this one: https://mail.python.org/pipermail/edu-sig/2013-August/010872.html This demo will further show how to use stickworks.py (below) as a resource. NOTE: some code may have word-wrapped during transport. Perform standard maintenance before first use. Kirby """ Some infrastructure for working with Vectors and Edges, including an xyplotter generator and axes maker. (c) By Kirby Urner, Sept 13, 2006, 2013, MIT License # no warranty, "as is" (feel free to bring up to your own # standards before using it to build bridges). Originally # for learning purposes. Updated Sept 29, 2006: make Edge color a class-level attribute add funky derivative demo refactor a bit Updated Sept 27, 2013: made Python 3.2 compatible Original Code: http://www.4dsolutions.net/ocn/python/stickworks.py Video: http://youtu.be/4iMSGKXJ_Ds Some relevant discussion: http://mail.python.org/pipermail/edu-sig/2006-September/007145.html http://mail.python.org/pipermail/edu-sig/2006-September/007149.html http://mail.python.org/pipermail/edu-sig/2006-September/007150.html http://mail.python.org/pipermail/edu-sig/2006-September/007312.html """ from visual import vector, cylinder, cross, dot, diff_angle import visual class Vector (object): """ A wrapper for visual.vector that expresses a cylinder via draw(), always pegged to the origin """ radius = 0.03 def __init__(self, xyz, color=(0,0,1)): self.v = vector(*xyz) self.xyz = xyz self.color = color self.cyl = None def draw(self): """define and render the cylinder""" self.cyl = cylinder(pos = (0,0,0), axis = self.v, radius = self.radius, color = self.color) def erase(self): """toss the cylinder""" if self.cyl: self.cyl.visible = 0 self.cyl = None def __repr__(self): return 'Vector @ (%s,%s,%s)' % self.xyz # some vector ops, including scalar multiplication def diff_angle(self, other): return self.v.diff_angle(other.v) def cross(self, other): temp = cross(self.v, other.v) return Vector((temp.x, temp.y, temp.z)) def dot(self, other): return dot(self.v, other.v) def __sub__(self, other): temp = self.v - other.v return Vector((temp.x, temp.y, temp.z)) def __add__(self, other): temp = self.v + other.v return Vector((temp.x, temp.y, temp.z)) def __mul__(self, scalar): temp = self.v * scalar return Vector((temp.x, temp.y, temp.z)) __rmul__ = __mul__ def __neg__(self): return Vector((-self.v.x, -self.v.y, -self.v.z)) def _length(self): return pow(self.v.x ** 2 + self.v.y ** 2 + self.v.z ** 2, 0.5) length = property(_length) class Edge (object): """ Edges are defined by two Vectors (above) and express as cylinder via draw(). """ radius = 0.03 color = (1,0,0) def __init__(self, v0, v1, color=None): if not isinstance(v0, Vector) or not isinstance(v1, Vector): raise TypeError("Wrong input types") if not color==None: self.color = color self.v0 = v0 self.v1 = v1 self.cyl = None def draw(self): """define and render the cylinder""" temp = (self.v1 - self.v0).xyz self.cyl = cylinder(pos = self.v0.xyz, axis = vector(*temp), radius = self.radius, color = self.color) def erase(self): """toss the cylinder""" if self.cyl: self.cyl.visible = 0 self.cyl = None def _length(self): return (self.v1 - self.v0).length length = property(_length) def __repr__(self): return 'Edge from %s to %s' % (self.v0, self.v1) def xyplotter(domain, f): """ domain should be an initialized generator, ready for next() triggering. f is any function of x. Consecutive Vectors trace connected edges. """ x0 = next(domain) y0 = f(x0) while True: x1 = next(domain) y1 = f(x1) e = Edge( Vector((x0, y0, 0)), Vector((x1, y1, 0)) ) e.draw() yield None x0, y0 = x1, y1 def axes(x=0,y=0,z=0): """ Draw some axes on the VPython canvas """ v0 = Vector((x,0,0)) v0.draw() v0 = Vector((-x,0,0)) v0.draw() v0 = Vector((0,y,0)) v0.draw() v0 = Vector((0,-y,0)) v0.draw() v0 = Vector((0,0,z)) v0.draw() v0 = Vector((0,0,-z)) v0.draw() def dgen(start, step): """ generic domain generator """ while True: yield start start += step def testme(): """ >>> from stickworks import testme Visual 2005-01-08 >>> testme() See: http://www.4dsolutions.net/ocn/graphics/cosines.png """ from math import cos def f(x): return cos(x) d = dgen(-5, 0.1) axes(-5,1,0) graph = xyplotter(d, f) for i in xrange(100): graph.next() def testmemore(): """ See: http://www.4dsolutions.net/ocn/graphics/pycalculus.png """ def snakeywakey(x): """ Polynomial with x-axis crossings at 3,2,-3,-7, with scaler to keep y-values under control (from a plotting point of view) """ return 0.01 * (x-3)*(x-2)*(x+3)*(x+7) def deriv(f, h=1e-5): """ Generic df(x)/dx approximator (discrete h) """ def funk(x): return (f(x+h)-f(x))/h return funk d1 = dgen(-8, 0.1) d2 = dgen(-8, 0.1) d3 = dgen(-8, 0.1) axes(-8,5,3) deriv_snakeywakey = deriv(snakeywakey) second_deriv = deriv(deriv_snakeywakey) graph1 = xyplotter(d1, snakeywakey) graph2 = xyplotter(d2, deriv_snakeywakey) graph3 = xyplotter(d3, second_deriv) Edge.color = (1,0,0) # make snakeywakey red for i in range(130): next(graph1) Edge.color = (0,1,0) # make derivative green for i in range(130): next(graph2) Edge.color = (0,1,1) # make 2nd derivative cyan for i in range(130): next(graph3) if __name__ == '__main__': testmemore() -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Sun Sep 29 19:54:52 2013 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 29 Sep 2013 10:54:52 -0700 Subject: [Edu-sig] bookdemo.py (a Visual Python animation -- reprogrammable) Message-ID: """ A Visual Python animation showing a "triangular page" going back and forth between triangular book covers laid flat against the XY plane. The page tip traces a semi-circle (not displayed but certainly computed). As a result of two triangular "flaps" (cover and page) at some dihedral angle, a tetrahedron is defined, actually two, one with each cover as base, tip as opposite vertex. Their volumes will always be the same. The video pauses in two places (time.sleep()). The Tetrahedron class (imported) is designed to natively return volume in "tetravolumes" but you can flip that switch easily to use xyz_volume instead. Dependencies: Python 3.x (python.org) Visual Python (vpython.org) stickworks.py (3.x version) https://mail.python.org/pipermail/edu-sig/2013-September/010896.html tetravolumes.py https://mail.python.org/pipermail/edu-sig/2013-August/010872.html (watch for / repair word-wrapping in this code -- too wide for mailman defaults) Videos and more explanation: http://controlroom.blogspot.com/2013/09/polyhedrons-at-play.html """ from tetravolumes import Tetrahedron from stickworks import Vector, Edge import math import time from visual import * # This module runs as "__main__" so the visual stuff kicks it off scene2 = display(title = "Book Covers", width=500, height=500, background=(0,0,0), center=(0,0,0)) scene2.forward = (0,1,-.3) scene2.autocenter = False scene2.range = (2,2,4) scene2.select() # In this namespace, a rod with its tail at the origin is a Vector while some line # segment floating in space with neither end at the origin is an Edge. # So rods like C0--S1 and even the spine and axis themselves are modeled # as Edges, not Vectors. Edges are *defined* using two Vectors however, # one pointing to each end. # S0 --- S1 is the spine, two XYZ Vectors (defined in a different module named # stickworks. I use the Y axis, with Z considered vertical. S0 = Vector((0,0.5,0)) S1 = -S0 spine = Edge(S0, S1) # spine of a book (equilateral triangular book covers) # C0 -- C1 would be the book cover axis from cover to cover, nailed down and # fixed. Again, these are modeled as Vectors. X axis is used. C0 = Vector((math.sqrt(3)/2,0,0)) C1 = -C0 axis = Edge(C0, C1) # another fixed Edge # spine to C0 S0C0 = Edge(S0,C0) S1C0 = Edge(S1,C0) # spine to C1 S0C1 = Edge(S0,C1) S1C1 = Edge(S1,C1) class Page: """ triangular page modeled by its tip oscillating between pages. """ def __init__(self, angle=0): self.angle = angle # degrees self.tip = self._getVector() def delta_angle(self, degrees): self.angle += degrees self.tip = self._getVector() def _getVector(self): #The page tip's job is to make an arc using sine and cosine of the dihedral # angle the page is making with the flap, starting with tip at C0. z = math.sin(math.radians(self.angle)) * axis.length/2 x = math.cos(math.radians(self.angle)) * axis.length/2 y = 0 return Vector((x,y,z)) def complementary(page): a = Edge(page.tip, S0).length b = Edge(page.tip, C0).length c = Edge(page.tip, S1).length d = S0C0.length e = S1C0.length f = spine.length t0 = Tetrahedron(a,b,c,d,e,f) a = Edge(page.tip, S0).length b = Edge(page.tip, C1).length c = Edge(page.tip, S1).length d = S0C1.length e = S1C1.length f = spine.length t1 = Tetrahedron(a,b,c,d,e,f) return t0, t1 def inadvertent(page): # stub function marking a 3rd tetrahedron of opposite # edges green and blue, other edges red, as a fall-out, # like another consequence of the setting for t. Per # Koski's studies. t2 = Tetrahedron( ) return t2 spine.draw() S0C0.draw() S1C0.draw() S0C1.draw() S1C1.draw() lamp = local_light(pos=(0,-3,0), color=color.yellow) page = Page() def drawit(page): s=Edge(page.tip, S0, color=(1,0,0)) t=Edge(page.tip, C1, color=(0,0,1)) u=Edge(page.tip, S1, color=(1,0,0)) v=Edge(page.tip, C0, color=(0,1,0)) s.draw() t.draw() u.draw() v.draw() rate(30) return s,t,u,v def eraseit(*seq): for obj in seq: obj.erase() # a loop drives the page back and forth by upping and lowering # the degrees, of the dihedral angle. So you'll spot where, when I'm # close to "regular tetrahedron" (71 degree) I swap in a dihedral angle # computed with trig -- you could say it's a still snap shot of the ideal, # whereas the animation skips such "irrational" dihedrals. for i in range(4): for t in range(180): page.delta_angle(1) a,b,c,d = drawit(page) if i == 2 and t == 71: page = Page(math.degrees(math.asin( 1/sqrt(3))) * 2) T1, T2 = complementary(page) # choose T1.ivm_volume OR T1.xyz_volume tx =text(text="Vol = {:>6.3f}".format(T1.ivm_volume()), pos=(-1, 0, -1), height=0.4, depth=-0.1, up=(0,0,1), color = color.orange) time.sleep(10) tx.visible = False eraseit(a,b,c,d) # The two stops to display volumes are programmed in. It's not like # I can stop it arbitrarily and have the volume displayed, although the # 2nd video may give that illusion. for t in range(180): page.delta_angle(-1) a,b,c,d = drawit(page) if i == 0 and t == 90: T1, T2 = complementary(page) # choose T1.ivm_volume OR T1.xyz_volume tx =text(text="Vol = {:>6.3f}".format(T1.ivm_volume()), pos=(-1, 0, -1), height=0.4, depth=-0.1, up=(0,0,1), color = color.orange) time.sleep(10) tx.visible = False eraseit(a,b,c,d) -------------- next part -------------- An HTML attachment was scrubbed... URL: From thomas at koch.ro Sun Sep 29 19:24:00 2013 From: thomas at koch.ro (Thomas Koch) Date: Sun, 29 Sep 2013 19:24:00 +0200 Subject: [Edu-sig] RurPLE-NG is nice In-Reply-To: References: Message-ID: <201309291924.00728.thomas@koch.ro> On Tuesday, November 13, 2012 09:15:03 PM Jurgis Pralgauskis wrote: > Some updates: > - separated Variables Watch and Output panes, to be seen simultaneusly > - implemented Breakpoints :) > - beta style > > Todo: > - let enter arbitrary watch expressions > > http://ftp.akl.lt/users/jurgis/python/rurple-NG053.png > > http://ftp.akl.lt/users/jurgis/python/rurple-ng-dz0-SplitLogVars_and_Breakp > oints_and_funcparams_in_funclist-36c03dee2969.zip Hi Mr Pralgauskis, I'm finally working on an official upload of rurple-ng to the Debian archive. I'd like to include your patch. Are you OK to license the patch like the rest of rurple-ng under the GPL-2+? A simple reply to this email should suffice. Thank you, Thomas Koch From kurner at oreillyschool.com Sun Sep 29 05:31:36 2013 From: kurner at oreillyschool.com (Kirby Urner) Date: Sat, 28 Sep 2013 20:31:36 -0700 Subject: [Edu-sig] PyconUK education track In-Reply-To: <524730DC.1020706@ntoll.org> References: <524730DC.1020706@ntoll.org> Message-ID: On Sat, Sep 28, 2013 at 12:41 PM, Nicholas H.Tollervey wrote: > > Hi, > > Here's a write-up (one of many, but it's mine) about the PyconUK 2013 > education track for teachers, students and developers that happened > last weekend: > > http://ntoll.org/article/pyconuk2013-roundup > > It was a great success and a lot of fun was had by all..! > > Here's to more of the same next year. > > N. > Most interesting blog post. I watched all the videos and passed along the info in my own blog, with a link back to your post: http://mybizmo.blogspot.com/2013/09/pythonuk-2013.html I wonder how this "STEM ambassador" role is being spun. Were the Bank of America people "STEM ambassadors" or would that be more like a parent who wanted to volunteer, and had some background in technology? Is the role catching on in UK parlance? Looks like an engaging event. I hope I get there some year. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: