From jurgis.pralgauskis at gmail.com Thu Aug 1 23:20:53 2013 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Fri, 2 Aug 2013 00:20:53 +0300 Subject: [Edu-sig] IdleX -- better IDLE Message-ID: Hi, stumbled upon interesting project http://idlex.sourceforge.net/ It has line numbers! which is very nice for beginners looking for errors... and more... ps.: could IDLE editor be easily implemented in python-turtle-demo code frame? As I have simple step/by step and breakpoints/watches implemented in python-turtle-demo, but editor is not functional there... -- 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 francois.dion at gmail.com Sat Aug 3 04:46:41 2013 From: francois.dion at gmail.com (Francois Dion) Date: Fri, 2 Aug 2013 22:46:41 -0400 Subject: [Edu-sig] If you need a web based interactive python... Message-ID: http://raspberry-python.blogspot.com/2013/08/a-python-interactive-console-in-my-blog.html I've posted how to embed brython in any web page, hosted on brython.info, in interactive mode. Kind of like python at the command line... >>> Try it out and let us know what kind of issues you encounter. Brython is already used in the classroom in the US and Brasil. Fran?ois -- www.pyptug.org - raspberry-python.blogspot.com - @f_dion -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Wed Aug 7 21:03:44 2013 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 7 Aug 2013 12:03:44 -0700 Subject: [Edu-sig] Leveraging Python (tutorial) in Chicago (Sept 2) Message-ID: I just posted these two things to Chipy, the Chicago Users Group, in hopes of maybe attracting some Pythonistas to my tutorial, Sept 2. http://mail.python.org/pipermail/chicago/2013-August/011323.html http://mail.python.org/pipermail/chicago/2013-August/011324.html One of the goals of the DSF (Django Software Foundation) is to keep a lot of channels open with a larger community / ecosystem, and that's what this session is about. We won't be focused on Django per se. So if any of you are in the Chicago area and can get free on a Monday, please consider joining us. You don't have to sign up for the whole conference and you don't have to be a Djangonaut to get value from the experience. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurner at oreillyschool.com Tue Aug 13 20:24:31 2013 From: kurner at oreillyschool.com (Kirby Urner) Date: Tue, 13 Aug 2013 11:24:31 -0700 Subject: [Edu-sig] part time Python teacher: job opening Message-ID: Here's a job opening at O'Reilly like the one I started in, and which eventually became full time. http://hire.jobvite.com/CompanyJobs/Careers.aspx?c=q319VfwS&jvi=oGQLXfwY,job I'm spreading news of it on lists where I already know we have talented people who might be looking for something part time that uses their Python skills. You don't have to relocate. I work in coffee shops, not just in my home office. Kirby PS: my tutorial at Djangocon next Sept 2 is just starting to get people. Here's a link to that again as well: http://www.djangocon.us/tutorials/ (you don't have to sign for the whole conference if you just want to do a tutorial) -------------- next part -------------- An HTML attachment was scrubbed... URL: From ntoll at ntoll.org Tue Aug 13 20:34:27 2013 From: ntoll at ntoll.org (Nicholas H.Tollervey) Date: Tue, 13 Aug 2013 19:34:27 +0100 Subject: [Edu-sig] part time Python teacher: job opening In-Reply-To: References: Message-ID: <520A7C33.5020008@ntoll.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I guess this only applies to US citizens given the strap line of "School of Technology | Online, United States". I can think of plenty of people Europe-side who'd be pretty damn good at this role. There's also the rest of the world too... ;-) N. On 13/08/13 19:24, Kirby Urner wrote: > > > Here's a job opening at O'Reilly like the one I started in, and > which eventually became full time. > > http://hire.jobvite.com/CompanyJobs/Careers.aspx?c=q319VfwS&jvi=oGQLXfwY,job > > I'm spreading news of it on lists where I already know we have > talented people who might be looking for something part time that > uses their Python skills. > > You don't have to relocate. I work in coffee shops, not just in my > home office. > > Kirby > > PS: my tutorial at Djangocon next Sept 2 is just starting to get > people. Here's a link to that again as well: > > http://www.djangocon.us/tutorials/ (you don't have to sign for the > whole conference if you just want to do a tutorial) > > > > _______________________________________________ Edu-sig mailing > list Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iQEcBAEBAgAGBQJSCnwvAAoJEP0qBPaYQbb60gMH/03ZoI86SbS/pZQ7fRcdOjRB 8r6sY9LRj+fYOtHpQ7qdXCex/O8ZQaFZOXpCo9/dhnhOHSltJ0YnIj+oCHpa5ryX EiDVDwtSbSYF1TAlZ4xg1spVrCP1NYyK2wclOawe4EyiFEq8ibZJ+lZHaOYy9Cf2 +qCc91hcguFtalbDUndt3m38ryFyR5BeiNdHV3NHeiyQIT0DueHY8hXYoeZPvmH+ i6k8qWULFOf25ISlpvsT32HRnDuz89JGcbZ3HY8I/vldg1myyf/1Hto67kHBEuFk NCn6z4VCyHLVgDSJO5xJI2A9U7CAT6ez/hlARcB3WDxXsRYBG/ZNLBmYeMqlTuY= =tkCC -----END PGP SIGNATURE----- From kirby.urner at gmail.com Fri Aug 16 22:08:20 2013 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 16 Aug 2013 13:08:20 -0700 Subject: [Edu-sig] illustrating send (used with yield) very simply Message-ID: """ Plain vanilla Fibonacci Numbers but with the ability to reset the initial pair mid-course Kirby Urner (c) MIT License """ import unittest def fibs(a, b): while True: d = yield a # send to a, b if d: a, b = d[0], d[1] continue b, a = a + b, b class Test_Fib(unittest.TestCase): def test_basics(self): thegen = fibs(0, 1) self.assertEqual(next(thegen), 0) self.assertEqual(next(thegen), 1) self.assertEqual(next(thegen), 1) self.assertEqual(next(thegen), 2) self.assertEqual(next(thegen), 3) self.assertEqual(next(thegen), 5) self.assertEqual(next(thegen), 8) self.assertEqual(next(thegen), 13) self.assertEqual(next(thegen), 21) def test_updating(self): thegen = fibs(0, 1) self.assertEqual(next(thegen), 0) self.assertEqual(next(thegen), 1) self.assertEqual(thegen.send((20, 21)), 20) # update pairing self.assertEqual(next(thegen), 21) self.assertEqual(next(thegen), 41) self.assertEqual(next(thegen), 62) self.assertEqual(next(thegen), 103) if __name__ == "__main__": unittest.main() """ /Library/Frameworks/Python.framework/Versions/3.2/bin/python3 /Users/kurner/Documents/anyproject.py .. ---------------------------------------------------------------------- Ran 2 tests in 0.000s OK Process finished with exit code 0 """ -------------- next part -------------- An HTML attachment was scrubbed... URL: From da.ajoy at gmail.com Sat Aug 17 22:45:21 2013 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Sat, 17 Aug 2013 15:45:21 -0500 Subject: [Edu-sig] lessons in computational thinking Message-ID: http://www.google.com/edu/computational-thinking/lessons.html These lessons were developed by The Integrating Computational and Creative Thinking (IC2Think) Project at the University of Nebraska in Lincoln, NE. The IC2Think project is supported by the National Science Foundation under project ID NSF 1122956. It is also supported in part by the University of Nebraska?s Center for Computational Creativity and the Office of Research and Economic Development. Core Subject: English-Language Arts Subject: Language Grade: 5-8 Type: Lesson Writing a Story Collaborate with others to build a story. Afterwards, find the "bugs" in the story and fix them to give the overall story a more logical flow. Core Subject: English-Language Arts Subject: Language Grade: 3-6 Type: Lesson Ciphering a Sentence Develop a cipher and encode a sentence and develop an algorithm for encoding and decoding. Core Subject: All Subject: All Grade: 1-6 Type: Lesson Exploring Your Environment Gather data about a place or environment, organize the data in a table and look for patterns. Core Subject: All Subject: All Grade: 3-6 Type: Lesson Machine Testing Develop a strategy for testing a mysterious new machine. Core Subject: All Subject: All Grade: 1-6 Type: Lesson Guessing Game Play a guessing game with your friends and develop a process for efficient guessing. From kirby.urner at gmail.com Sun Aug 18 00:24:53 2013 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 17 Aug 2013 15:24:53 -0700 Subject: [Edu-sig] Tetrahedron class with volume computer based on edges only Message-ID: """ Euler volume, modified by Gerald de Jong http://www.grunch.net/synergetics/quadvols.html Kirby Urner (c) MIT License """ from math import sqrt, hypot class Tetrahedron: """ Takes six edges of tetrahedron with faces (a,b,d)(b,c,e)(c,a,f)(d,e,f) -- returns volume if ivm and xyz """ def __init__(self, a,b,c,d,e,f): self.a, self.a2 = a, a**2 self.b, self.b2 = b, b**2 self.c, self.c2 = c, c**2 self.d, self.d2 = d, d**2 self.e, self.e2 = e, e**2 self.f, self.f2 = f, f**2 def ivm_volume(self): ivmvol = ((self._addopen()- self._addclosed() - self._addopposite())/2) ** 0.5 return round(ivmvol,5) def xyz_volume(self): ivmvol = sqrt(8/9) * self.ivm_volume() return round(ivmvol,5) def _addopen(self): a2,b2,c2,d2,e2,f2 = self.a2, self.b2, self.c2, self.d2, self.e2, self.f2 sumval = f2*a2*b2 sumval += d2 * a2 * c2 sumval += a2 * b2 * e2 sumval += c2 * b2 * d2 sumval += e2 * c2 * a2 sumval += f2 * c2 * b2 sumval += e2 * d2 * a2 sumval += b2 * d2 * f2 sumval += b2 * e2 * f2 sumval += d2 * e2 * c2 sumval += a2 * f2 * e2 sumval += d2 * f2 * c2 return sumval def _addclosed(self): a2,b2,c2,d2,e2,f2 = self.a2, self.b2, self.c2, self.d2, self.e2, self.f2 sumval = a2 * b2 * d2 sumval += d2 * e2 * f2 sumval += b2 * c2 * e2 sumval += a2 * c2 * f2 return sumval def _addopposite(self): a2,b2,c2,d2,e2,f2 = self.a2, self.b2, self.c2, self.d2, self.e2, self.f2 sumval = a2 * e2 * (a2 + e2) sumval += b2 * f2 * (b2 + f2) sumval += c2 * d2 * (c2 + d2) return sumval PHI = sqrt(5)/2 + 0.5 R =0.5 D =1.0 import unittest class Test_Tetrahedron(unittest.TestCase): def test_unit_volume(self): tet = Tetrahedron(D, D, D, D, D, D) self.assertAlmostEqual(tet.ivm_volume(), 1.0, "Volume not 1") def test_unit_volume(self): tet = Tetrahedron(R, R, R, R, R, R) self.assertAlmostEqual(tet.xyz_volume(), 0.11785, "Volume not 1") def test_phi_edge_tetra(self): tet = Tetrahedron(D, D, D, D, D, PHI) self.assertAlmostEqual(tet.ivm_volume(), 0.70711) def test_right_tetra(self): e = hypot(sqrt(3)/2, sqrt(3)/2) # right tetrahedron tet = Tetrahedron(D, D, D, D, D, e) self.assertAlmostEqual(tet.xyz_volume(), 1.0, "Volume not 1") if __name__ == "__main__": unittest.main() -------------- next part -------------- An HTML attachment was scrubbed... URL: From jurgis.pralgauskis at gmail.com Thu Aug 22 10:49:14 2013 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Thu, 22 Aug 2013 11:49:14 +0300 Subject: [Edu-sig] LON-CAPA style problems In-Reply-To: References: Message-ID: Hi, I have a collection of Moodle questions... with hints-feedback for most-possible wrong answers... http://galvosukykla.lt/rodyk/?p=/mokymas/programavimas/python/testai (html - preview, xml - for import to Moodle, also GIFT is ok for import but missing several (calculated) questions) its in Lituanian, but you can easily grasp the meaning and translate... ps.: I'm thinking of making a tool (python script) to help generate question variations (targeted for Moodle)... On Mon, Jul 22, 2013 at 11:24 AM, Paul-Olivier Dehaye < paul-olivier.dehaye at math.uzh.ch> wrote: > Hello, > I m looking for LON CAPA style quizz problems to help learn python. > Ideally each of these would be focused on individual parts of the python > grammar or a subtlety of python. These quizz problems would be used in > addition to more classical homework. > Does anybody know if any of those LON CAPA problems are publicly available? > Thank you > Paul-Olivier Dehaye > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -- 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 kirby.urner at gmail.com Tue Aug 27 02:33:49 2013 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 26 Aug 2013 17:33:49 -0700 Subject: [Edu-sig] setting the stage (short essay) Message-ID: At my upcoming workshop in Chicago I'm planning to stress the relevance of theater as *the* extended metaphor where scripting and browsing is concerned. JavaScript pulls the the strings of our DOM, the scenery or structure of the web page stage, while Servers are even further behind the scenes than backstage. They're remote, in the cloud, and help with keeping the AJAX goin', with JSON. The fact that theater is ancient Greek and that we use words like "ajax" and "jason" is no accident. And this is where the mythical roots around Python come in, the familiar serpent and/or dragon atop a treasure trove, the database (say Oracle) in modern verbiage. Hobbits know this archtype, but then so did the ancient Greeks. Apollo actually attacks the Python in one chapter, chasing it away from Delphi, presumably to impose his dreary patriarchy in opposition to Athena's and her priestesses'. One would expect some Athena fan club to claim said Python as a mascot and even say it never died (such things are eternal dontcha know). I have evidence of such a cult. I should explain that the Python is believed to have lived in a cave under the temple at Delphi, the place you go for advice from the priestesses. Here's a scholarly passage: http://bit.ly/17i3akK (goes to Google books, probably *too* scholarly but what I could find at the moment, confirms the gist of the tale above). Anyway, that's to sort of set the stage. A more foreground story would be my reintroduction to lobbying in Oregon, when what was then called the Software Association of Oregon put some muscle behind testing the legislature regarding adding more of this "computer stuff" to the high school curriculum in a way that would help satisfy the math requirement.** A lot of kids were dreading Algebra II, having hated Algebra I and Geometry. You wouldn't need to be a genius to switch gears and start playing with the bash shell, accessing Python, a back door into LAMP. Something like I was already doing with Saturday Academy, with Hillsboro Police Dept. (West Precinct) a client. But I don't think it was the legislature per se that set up any roadblocks. It's just there's not much leverage in that world of mass textbook publishing. Vast funds have already been committed. Tilting at windmills. Live and learn. Make do with what you've got. Speaking of Algebra II, there's that article in this issue of Harper's about where we might be going with that. I had my own review in the Math Forum per usual (an old haunt of mine): http://mathforum.org/kb/thread.jspa?threadID=2591789 (as usual, I'm opinionated in this opinion column) The theme of the workshop is Leveraging Python and I think that dovetails nicely with Guido's CP4E and where are we now lo these many years later? To some extent the answers hinge on several ongoing debates about the shape of education. Some people maintain that programming traces back to humanities topics, such as scripting and play writing. If programming is to become more pervasive is this because of changes in math class or in language arts? A combination? Do we too easily give in to the idea of computing as "number crunching" whereas so often it's "pattern finding" -- more lexical and/or graphical than strictly numeric? Rhetorical question. Here's a recent sketch of the "theater" model for use in the classroom. Of course more gifted drawers than I will freely improve upon my humble rendering. http://www.flickr.com/photos/kirbyurner/9583829639/ Kirby ** An earlier exposure to Oregon lobbying was through my job as a client-server programmer working in FoxPro. Associated Oregon Industries (AOI) was my client and for awhile I was accustomed to seeing Salem more from that point of view. FoxPro's days were numbered though, and my career took me onward. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Wed Aug 28 02:42:46 2013 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 27 Aug 2013 17:42:46 -0700 Subject: [Edu-sig] setting the stage (short essay) In-Reply-To: References: Message-ID: Here's some literary criticism regarding my little essay above: Today's reading is finding relatively less of a direct Athena-Apollo tension as that's not her Python he killed. She had a twisted "son" (he'd have to be, given her virginity -- at least the story is twisted) who looked like serpent when Pandora opened the box, but that was a different monster. Or was it? As you read version after version you realize they're all just making it up (duh) so the temptation is to just join in. The thing is: Monty Python is a serious bridge in British comedy becoming more edgy. We think about the BBC TV as innocuous but forget about 'Life of Brian', which George Harrison (of The Beatles fame) had to risk his personal fortune on (he mortgaged his favorite property, his castle), to see produced, after the original big name distributor got scared. But then it's not just "nasty snake stuff" after that, meaning the Python connotations are also rich and interesting, and I will be taking a peek at those my upcoming workshop, with lots of people signed up already (Chicago DjangoCon). So for Python the language, the PR prospects continue to look promising, even as a smaller minority keeps the Monty alive (and well I might add). Peter Seller's was part of the same network of British comics. I hold them in high regard (The Beatles too, though I cannot be regarded as a "serious fan"-- my scores on 'Beatle mania' quizzes 'd be too low). What we need is for humanities teachers to be less shy about this stuff, all this AJAX and JSON. Greek mythology is an orphaned topic right now, begging for relevance, whereas the anthropologists tell us we need shared stories to cohere our cultures. Do want to disconnect with the ancestors completely? Disney remade Hercules and otherwise flirted with parts of Classical Western Culture in Fantasia and so on. Now in the movies we're doing DC and Marvel Comic superheros on the big screen. But with all our new-found computer power ("special effects") why not do the Greek stuff again? But lets give it more mnemonic value by marrying it with the world of Tron, i.e. the landscape of "cyperspace" (or Cyberia). This invisible landscape has a need to be more concrete in peoples' thinking, as it comprises our global infrastructure, and is in constant need of upgrading and maintenance. There's already software called Python, and Athena. Lets reignite the Greek stage and teach our new Logic, still awesomely geometric. The stage is the screen, the browser, and the cartoons explain virtual machines, what they are and where they fit. Didactic cartoons needn't be boring. Interestingly, our mnemonics go even deeper than that. Asynchronous programming, ala Twisted, traces to older modules: asyncore and Medusa. The idea of a hydra-headed beast, a multi-processor or multi-tasker, need not be made to frighten. "Think of Medusa as gorgeous" say the cultural therapist mythographers. They're not so shy anymore. They've found a way to leverage their training in the humanities. They know Athena helped Perseus cope with Medusa, as a kind of interpreter of females to males and vice versa (she's good at that), and they now know Python is cutting new edges in the form of Tulip, a next take on generative / asynchronous programming (asynch i/o rebooted) http://docs.python.org/2/library/asyncore.html http://www.nightmare.com/medusa/ http://www.python.org/dev/peps/pep-3156/ So were Apollo and Athena best of friends? Those who took liberal arts courses about Nietzsche or listened to a lot of Joseph Campbell probably remember the Apollo-Dionysus feud. The whole soap goes back to Delphi by Mt. Parnassus, where the Python once lived. There's a STEM (geology / chemistry) angle, in that they now think a kind of "laughing gas" maybe *did* steam up from beneath those tripods, where the women oracles sat. For a long period scholars said "no way" but at the moment the mountainous vapors school holds sway (says Google today). A lot of scholars say those hallucinogenic gases were the rotting Python smell and that "python" means "rot" in Greek. Others say there's a confusion of identities here and the Python actually lives on. So much depends on who is doing the telling. In any case, this was the institution Apollo took over, and in recent tellings I could swear it was Athena's own staff he was displacing. But today those links were not found. The Google god (or portal to a great engine) has other things on its mind today. Python's mommy was Gaia. You should learn a new vocabulary word while you're at it: "Chthonic" as in "the Python of the Pythians was chthonic" (not that easy to say). http://en.wikipedia.org/wiki/Chthonic The practice of oracles making pronouncements at Delphi was officially squelched by a Byzantine dictator sometime in the first 500 years after Jesus. He was a Christian himself and the whole Greek spiel was just not getting the same traction. You could say he closed it, but in today's language it probably more just "ran out of money". Like Coney Island someday. The carnival was over. No cults last forever. Plus they say the laughing gas dried up. The whole infrastructure had become untenable and was allowed to crumble. Today, it's all tourist sites and museums, with skiing on Mt. Parnassus. Today we have PyLadies. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurner at oreillyschool.com Fri Aug 30 02:53:49 2013 From: kurner at oreillyschool.com (Kirby Urner) Date: Thu, 29 Aug 2013 17:53:49 -0700 Subject: [Edu-sig] the zip( ) function in Algebra 2? Message-ID: I make a big deal out of this Python fragment in a Math Forum essay I recently posted: >>> result = zip({"planet", "comet", "sun"}, {"paramecium", "duck", "aardvark"}, {"banana", "apple", "orange"}) >>> list(result) [('planet', 'aardvark', 'orange'), ('sun', 'paramecium', 'apple'), ('comet', 'duck', 'banana')] The indentation is artificial and in gmail the >>> lines are blue, because that's how the Math Forum archives treats it, but other than that, it's unadulterated cut 'n paste Python. What might drive a reader crazy is it looks like it should maybe pick "the next" element from each set to form its groupings, and it does, but then sets have no order, no ranking, no index. So even though "aardvark" is right-most in the set, it's the first picked. Python veterans get it right away and aren't phased, and we don't have Python to blame, are not assigning blame at all. This is pure math in an elementary form: sets have no "first or last" so don't expect sets to behave like lists or tuples. Python got it right, so no apologies. So how isn't this like "algebra" again? I went through it twice, as a student and as a teacher, and I can assure you, if "high school algebra" is important then "computer language in a console" is important. We knew that as long ago as the 1980s. I have other recent essays reminiscing, sharing analysis. There's lots to discuss, about why we didn't get there. Entry point to more writings: http://mathforum.org/kb/thread.jspa?threadID=2592483 Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurner at oreillyschool.com Fri Aug 30 10:24:15 2013 From: kurner at oreillyschool.com (Kirby Urner) Date: Fri, 30 Aug 2013 01:24:15 -0700 Subject: [Edu-sig] the zip( ) function in Algebra 2? In-Reply-To: References: Message-ID: "Actually Dr. DiNucci is right in a subtle way: zip( ) is not a function, it's a type, and primitive types are callables in Python. I should follow-up on that point on edu-sig (too technical for math-teach). Thanks Dave. zip objects, like ranges, enumerations, other sequential things, are objects in their own right. I think it's behaving like a function but its arguments appear non-deterministic and that clouds the picture." -- from FaceBook I wonder how long it will be, on math-teach, before somebody points that out: zip( ) is not a function in Python. It looks like a function but it's a type. All the type names serve as callables that make instances of themselves. That doesn't make them functions though, not technically, not in Python. Dr. DiNucci's point was that zip( ) is acting more like a relation than a function in that the resulting groupings seem non-deterministic and therefore f(a) --> c and f(a) --> d are both True. Functions aren't like that (per Dolciani). However if we express it this way: list(zip(set0, set1, set2... setn)) ---> gives [(set0.pop(), set1.pop(), set2.pop().... setn.pop()), (set0.pop(), set1.pop(), set2.pop().... setn.pop()), (set0.pop(), set1.pop(), set2.pop().... setn.pop()), ... number of tuples = length of shortest set ] then that could be seen as a deterministic rule that's not one-to-many. setx.pop() is somehow non-deterministic, but zip( ) is not. You could say (set0.pop(), set1.pop(), set2.pop().... setn.pop()) is an "equivalence class" wherein ('planet', 'aardvark', 'orange') and ('comet', 'aardvark', 'apple') are both considered "the same" i.e. three delegates from the three sets, details don't matter. You get some permutations. All zips of the same input sets give what we *might call* the same output -- and so it's a function in the mathematical sense. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From jurgis.pralgauskis at gmail.com Fri Aug 30 10:48:47 2013 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Fri, 30 Aug 2013 11:48:47 +0300 Subject: [Edu-sig] Fwd: CS Circles is open-source! In-Reply-To: <5240d46dbeb2ca0c942da3060e01d3f3@cemc.math.uwaterloo.ca> References: <5240d46dbeb2ca0c942da3060e01d3f3@cemc.math.uwaterloo.ca> Message-ID: Worth attention!! very nice interactive Python course (software + content) opensourced! ---------- Forwarded message ---------- From: Computer Science Circles Date: Wed, Aug 28, 2013 at 8:26 PM Subject: CS Circles is open-source! To: jurgis.pralgauskis at gmail.com Dear CS Circles user: Thanks to a SIGCSE special projects grant, the CS Circles project is now open-source! This means that you can write and remix lessons and exercises to suit your own needs, run your own copy on a local network, or edit the backend. For obtaining and using sources, visit: http://cscircles.cemc.uwaterloo.ca/source/ In other recent news, this summer we added student management, error hints (thanks to A. Okeowo), integrated visualization, and a German translation of the site (thanks to BWINF). If you have any questions, please contact us at cscircles at uwaterloo.ca. To unsubscribe from further announcements (about once per year), visit http://cscircles.cemc.uwaterloo.ca/wp-admin/profile.php -- 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 kurner at oreillyschool.com Fri Aug 30 15:46:09 2013 From: kurner at oreillyschool.com (Kirby Urner) Date: Fri, 30 Aug 2013 06:46:09 -0700 Subject: [Edu-sig] the zip( ) function in Algebra 2? In-Reply-To: References: Message-ID: For those of you still scratching your heads, there's a version issue here as well. Since I teach 3.x for a living, these little difference are in my face all the time. More from FaceBook: Steve Holden: Zip() not a function? Where on Earth did you get that strange story from? It may return an iterator, but that doesn't mean it's not a function ... Me: I just mean it's neither of nor . zip is now a type, like int, str, list, tuple etc. -- none of which are functions either. Talking Python 3. You're likely thinking of 2.7: >>> type(zip) # 3.2 >>> type(zip) # 2.7 Also, I've clued our peers on the math board (listserv) for those wishing to understand our "namespaces" better. Same thread as before. > http://mathforum.org/kb/thread.jspa?threadID=2592483 > > Kirby > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jurgis.pralgauskis at gmail.com Sat Aug 31 16:04:24 2013 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Sat, 31 Aug 2013 17:04:24 +0300 Subject: [Edu-sig] idea to use inspect for python quiz question generation Message-ID: Hi, I want to make big question-base of basic algirthms' for CS101 and I thought how to describe them in Python https://code.google.com/p/algorithm-quiz/source/browse/IDEAS.draft.txt def's would be question templates and params would make the variations So the code would be pure Python (so easy to find/get examples ;) Now the headache is how to convert the py code to Moodle format? On each call of the question-def I want, to replace parameters in source with their values, and then to catch the output (as it is (usually) the answer) seems inspect + sys.settrace (on calls) could do? http://docs.python.org/3/library/inspect.html#inspect.getsource http://docs.python.org/3/library/inspect.html#inspect.getargvalues http://pymotw.com/2/sys/tracing.html and output could be catched probably http://coreygoldberg.blogspot.com/2009/05/python-redirect-or-turn-off-stdout-and.html or via print redirect to file I am not much experienced with this area... Maybe Roberge or others could help - put on the right/best way? :) -- 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 pg at cs.stanford.edu Sat Aug 31 19:18:36 2013 From: pg at cs.stanford.edu (Philip Guo) Date: Sat, 31 Aug 2013 13:18:36 -0400 Subject: [Edu-sig] IPython shell + interactive program visualizations Message-ID: Here's a one-minute video showing the latest extension to my Online Python Tutor project (http://pythontutor.com/). This feature is especially handy for teaching beginners on the interactive shell: http://www.youtube.com/watch?v=Q3oarDuZPL0 -------------- next part -------------- An HTML attachment was scrubbed... URL: From amitsaha.in at gmail.com Sat Aug 31 23:49:44 2013 From: amitsaha.in at gmail.com (Amit Saha) Date: Sun, 1 Sep 2013 07:49:44 +1000 Subject: [Edu-sig] IPython shell + interactive program visualizations In-Reply-To: References: Message-ID: On Sun, Sep 1, 2013 at 3:18 AM, Philip Guo wrote: > > Here's a one-minute video showing the latest extension to my Online Python Tutor project (http://pythontutor.com/). > > This feature is especially handy for teaching beginners on the interactive shell: > > http://www.youtube.com/watch?v=Q3oarDuZPL0 Thanks for sharing Philip. Best, Amit. -- http://echorand.me