From kirby.urner at gmail.com Tue Sep 1 07:23:55 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 31 Aug 2009 22:23:55 -0700 Subject: [Edu-sig] casino math (unit three) Message-ID: This might be from a 3rd hour in our "casino math" segment. There's no "deep math" here, just getting familiar with dot notation, methods disguised as attributes (properties): import random class Deck: def __init__(self): self.deck = [ (suit + str(rank)) for suit in ['H','D','C','S'] for rank in range(1,14) ] + ['joker']*2 def deal_off_top(self): if len(self.deck) > 0: return self.deck.pop(0) def deal_off_bottom(self): if len(self.deck) > 0: return self.deck.pop(-1) def shuffle(self): random.shuffle(self.deck) @property def howmany(self): return len(self.deck) Interactively... (inserting some blank lines for readability): >>> from casino_math import * >>> thedeck = Deck() >>> thedeck.shuffle() >>> thedeck.deck ['S10', 'joker', 'S1', 'C11', 'C1', 'C8', 'C3', 'D1', 'S6', 'S3', 'D12', 'D5', 'D10', 'S12', 'C2', 'D6', 'S2', 'D2', 'C9', 'H3', 'C13', 'D8', 'C7', 'D4', 'H6', 'H11', 'H2', 'D13', 'S11', 'H1', 'H8', 'H7', 'S8', 'H12', 'S4', 'D9', 'S9', 'C12', 'H9', 'D7', 'S5', 'S7', 'C5', 'C10', 'H5', 'D11', 'C4', 'joker', 'C6', 'S13', 'H4', 'H13', 'H10', 'D3'] >>> thedeck.deal_off_top() 'S10' >>> thedeck.deal_off_top() 'joker' >>> thedeck.deal_off_bottom() 'D3' >>> thedeck.deal_off_bottom() 'H10' >>> thedeck.howmany 50 >>> http://www.flickr.com/photos/17157315 at N00/3876500673/sizes/o/ (akbar font) Of course this is a rather primitive deck without explicit aces or royalty, just 1-13 in each suit plus two jokers. The next step would be for students to write a Hand class i.e. that which receives from the deck. Before ya know it, we're playin' poker or twenty-one or whatever well-known game of skill 'n chance. On break, we encourage playing with Pysol maybe... http://www.pysol.org/ http://pysolfc.sourceforge.net/ http://tktable.sourceforge.net/tile/ http://pygames.sourceforge.net/ Kirby 4D From lac at openend.se Tue Sep 1 10:26:33 2009 From: lac at openend.se (Laura Creighton) Date: Tue, 01 Sep 2009 10:26:33 +0200 Subject: [Edu-sig] casino math (unit three) In-Reply-To: Message from kirby urner of "Mon, 31 Aug 2009 22:23:55 PDT." References: Message-ID: <200909010826.n818QXJ8007044@theraft.openend.se> In a message of Mon, 31 Aug 2009 22:23:55 PDT, kirby urner writes: >On break, we encourage playing with Pysol maybe... > >http://www.pysol.org/ >http://pysolfc.sourceforge.net/ >http://tktable.sourceforge.net/tile/ >http://pygames.sourceforge.net/ > >Kirby >4D I think that the pysol game 'Pile On' is always solvable. Anybody know for sure? Writing a program that exhaustively creates all the possible layouts and then solves them seems possible, but I keep thinking there has to be a more elegant proof in there. rules here for those unfamiliar with the game (googling for 'Pile On' seems to generate a myriad of false positives). Pile On One-Deck game type. 1 deck. No redeal. Begin: The game begins with 13 piles of 4 cards, ina random order, plus 2 empty piles. Goal: Rearrange the cards so that each pile contains four cards with the same rank. Rules: Cards can be moved on top of any other card or cards of the same rank, or to empty piles. Groups of cards can be moved if they are of the same rank. A pile cannot have more than four cards, and an empty slot can be filled with any card or group of cards with the same rank. ___________ So, simple. But always solvable? I am not sure about that. Laura From gregor.lingl at aon.at Wed Sep 2 03:29:36 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Wed, 02 Sep 2009 03:29:36 +0200 Subject: [Edu-sig] casino math (unit three) In-Reply-To: <200909010826.n818QXJ8007044@theraft.openend.se> References: <200909010826.n818QXJ8007044@theraft.openend.se> Message-ID: <4A9DCA80.4030904@aon.at> Laura Creighton schrieb: > In a message of Mon, 31 Aug 2009 22:23:55 PDT, kirby urner writes: > > > > >> On break, we encourage playing with Pysol maybe... >> >> http://www.pysol.org/ >> http://pysolfc.sourceforge.net/ >> http://tktable.sourceforge.net/tile/ >> http://pygames.sourceforge.net/ >> >> Kirby >> 4D >> > > I think that the pysol game 'Pile On' is always solvable. > Anybody know for sure? Writing a program that exhaustively creates > all the possible layouts and then solves them seems possible, Hi Laura, I fear that this is not practicable. There are 52! = 80658175170943878571660636856403766975289505440883277824000000000000 permutations of 52 cards. If one considers the permutations of the 13 piles as equivalent and also the permutations of the four suits one still arrives at a number of possible Pile On games that exceeds by far the number of nanoseconds that passed since the beginning of the universe. > but > I keep thinking there has to be a more elegant proof in there. > Yes, I would also be interested in such a proof. I for my part learned to know Pile On only today and I find it rather difficult to play. So from my own very irrelevant experience would expect that there are start configurations which might not be solvable - --- at least for me :-( Thanks for the deverting hint Gregor P.S.: According to your suggestion I wrote an ugly little program, that up to now was able to solve all the sample start configurations I fed it with. ;-) > rules here for those unfamiliar with the game (googling for 'Pile > On' seems to generate a myriad of false positives). > > Pile On > One-Deck game type. 1 deck. No redeal. > > Begin: > The game begins with 13 piles of 4 cards, ina random order, plus 2 empty piles. > > Goal: > Rearrange the cards so that each pile contains four cards with the same rank. > > Rules: > > Cards can be moved on top of any other card or cards of the same rank, > or to empty piles. Groups of cards can be moved if they are of the > same rank. > > A pile cannot have more than four cards, and an empty slot can be > filled with any card or group of cards with the same rank. > > ___________ > > So, simple. But always solvable? I am not sure about that. > > Laura > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From lac at openend.se Wed Sep 2 04:48:59 2009 From: lac at openend.se (Laura Creighton) Date: Wed, 02 Sep 2009 04:48:59 +0200 Subject: [Edu-sig] casino math (unit three) In-Reply-To: Message from Gregor Lingl of "Wed, 02 Sep 2009 03:29:36 +0200." <4A9DCA80.4030904@aon.at> References: <200909010826.n818QXJ8007044@theraft.openend.se> <4A9DCA80.4030904@aon.at> Message-ID: <200909020248.n822mxmV014583@theraft.openend.se> In a message of Wed, 02 Sep 2009 03:29:36 +0200, Gregor Lingl writes: >Laura Creighton schrieb: >> In a message of Mon, 31 Aug 2009 22:23:55 PDT, kirby urner writes: >> >> >> >> >>> On break, we encourage playing with Pysol maybe... >>> >>> http://www.pysol.org/ >>> http://pysolfc.sourceforge.net/ >>> http://tktable.sourceforge.net/tile/ >>> http://pygames.sourceforge.net/ >>> >>> Kirby >>> 4D >>> >> >> I think that the pysol game 'Pile On' is always solvable. >> Anybody know for sure? Writing a program that exhaustively creates >> all the possible layouts and then solves them seems possible, >Hi Laura, >I fear that this is not practicable. There are 52! = >80658175170943878571660636856403766975289505440883277824000000000000 >permutations of 52 cards. If one considers the permutations of the 13 pil >es >as equivalent and also the permutations of the four suits one still >arrives at a number >of possible Pile On games that exceeds by far the number of nanoseconds >that passed >since the beginning of the universe. I don't think that it is quite as bad as all that, given that all we really have is a set of 52 cards which are 4 sets of 13 cards with different marks on them. Thus there is a significant reduction you can make at the start because an initial set where all the 8s are swapped for all the 4s are equivalent. But then, I wasn't really looking for the brute-force proof, but the elegant one. I was hoping for an induction proof for 4 sets of 4 cards, n cards, and n + 1 cards, but so far I haven't managed it. >Yes, I would also be interested in such a proof. I for my part learned >to know Pile On >only today and I find it rather difficult to play. So from my own very >irrelevant >experience would expect that there are start configurations which might >not be solvable - >--- at least for me :-( Don't believe the strategy that pysol gives about not stacking 3 cards of a same rank on a single. As far as I can tell that is nonsense. But do keep track of what cards are on the bottom. >Thanks for the deverting hint >Gregor You are most welcome. :-) Laura From gregor.lingl at aon.at Wed Sep 2 10:39:25 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Wed, 02 Sep 2009 10:39:25 +0200 Subject: [Edu-sig] casino math (unit three) In-Reply-To: <200909020248.n822mxmV014583@theraft.openend.se> References: <200909010826.n818QXJ8007044@theraft.openend.se> <4A9DCA80.4030904@aon.at> <200909020248.n822mxmV014583@theraft.openend.se> Message-ID: <4A9E2F3D.2010707@aon.at> Laura Creighton schrieb: > In a message of Wed, 02 Sep 2009 03:29:36 +0200, Gregor Lingl writes: > >> Laura Creighton schrieb: >> >>> In a message of Mon, 31 Aug 2009 22:23:55 PDT, kirby urner writes: >>> >>> >>> >>> >>> >>>> On break, we encourage playing with Pysol maybe... >>>> >>>> http://www.pysol.org/ >>>> http://pysolfc.sourceforge.net/ >>>> http://tktable.sourceforge.net/tile/ >>>> http://pygames.sourceforge.net/ >>>> >>>> Kirby >>>> 4D >>>> >>>> >>> I think that the pysol game 'Pile On' is always solvable. >>> Anybody know for sure? Writing a program that exhaustively creates >>> all the possible layouts and then solves them seems possible, >>> > > >> Hi Laura, >> I fear that this is not practicable. There are 52! = >> 80658175170943878571660636856403766975289505440883277824000000000000 >> permutations of 52 cards. If one considers the permutations of the 13 pil >> es >> as equivalent and also the permutations of the four suits one still >> arrives at a number >> of possible Pile On games that exceeds by far the number of nanoseconds >> that passed >> since the beginning of the universe. >> > > I don't think that it is quite as bad as all that, given that all we > really have is a set of 52 cards which are 4 sets of 13 cards with > different marks on them. Thus there is a significant reduction you > can make at the start because an initial set where all the 8s are > swapped for all the 4s are equivalent. > Yes, you are certainly right. Nevertheless, if I take 52!, - divide it by (4!)**13 accounting for the not-distinguishability of the four sorts of a suit - divide this by 13! accounting for the interchangability of the ranks (your suggestion) - divide this by 13! accounting for the permutations of the 13 piles I arrive at 2373239768247142364082899540328 which is still approx. 3.7 e+12 times the age of the universe in seconds. May be there are still more symmetries to be considered. For me combinatorics is an unstable ground :-( > But then, I wasn't really looking for the brute-force proof, but the > elegant one. I was hoping for an induction proof for 4 sets of 4 > cards, n cards, and n + 1 cards, but so far I haven't managed it. > > Yes, I understood. An elegant mathematical proof for this would be interesting. I'd like to see one. But what if the conjecture is wrong? My ugly little backtracking program could not solve the following configuration: ( (8, 4, 10, 4), (9, 3, 2, 10), (11, 6, 3, 9), (8, 7, 1, 13), (6, 8, 7, 12), (5, 9, 12, 1), (13, 3, 2, 1), (13, 4, 6, 3), (12, 6, 7, 7), (11, 4, 10, 9), (12, 5, 11, 11), (2, 1, 5, 13), (5, 8, 2, 10), (), () ) Although out of of a series of 100 randomly generated start situations this is the only one it could not solve, I fear chances are much higher, that my program has a bug than that this is indeed not solvable. However I'd be very glad to see a solution for this configuration. (Do you have a deck of cardes at hand?) I for my part cannot check this, because there are many configurations I cannot solve by hand that *are* solvable by my script. So, if I cannot mange it, that means nothing. (Indeed originally I started to write this script because I tought it might find a counterexample). Best wishes (for finding the proof, and more) Gregor >> Yes, I would also be interested in such a proof. I for my part learned >> to know Pile On >> only today and I find it rather difficult to play. So from my own very >> irrelevant >> experience would expect that there are start configurations which might >> not be solvable - >> --- at least for me :-( >> > > Don't believe the strategy that pysol gives about not stacking 3 cards > of a same rank on a single. As far as I can tell that is nonsense. But > do keep track of what cards are on the bottom. > > >> Thanks for the deverting hint >> Gregor >> > > You are most welcome. :-) > > Laura > > > From kirby.urner at gmail.com Fri Sep 4 21:02:49 2009 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 4 Sep 2009 12:02:49 -0700 Subject: [Edu-sig] generic open source projects... Message-ID: As poet Gene Fowler used to remind me occasionally, sometimes you *do* want to reinvent the wheel, because that's a learning experience. As we "climb the ladder of learning" (old metaphor), we sometimes cut our teeth on time-tested exercises. Textbooks have set the standard in the pre-millenium, and we're still calling them textbooks, even as we're phasing out wood pulp a lot more, in favor of Kindles or what have you. What I'm thinking would be a fun FOSS project is a "buzzbot". Companies are making bucks of these things in-house. My associate Patrick Barton has written one for a company in Chicago. I've encourage him to approach WebTrends here in Portland to see if there's overlap between silos, but he already has potential clients on the hook in Hollywood, wonders if I want to manage his code. I came back with: as a team effort, it sounds great. Do something in Mercurial? The idea would be something like: >>> import buzzbot >>> search = buzzbot.Search("Britney Spears", engines = ['Google','Yahoo','Technorati'], filter = ['blogs'], target = 'SQL_base') >>> search.run() 5000 blog posts downloaded to SQL_base (3.12 mins) >>> What you'd get are screen-scraped texts, we hope purged of a lot of Javascript or extraneous XHTML. The final step is scoring and reporting, which is where we might only supply some skeletal algorithms. Patrick has a list of cuss words in English and it's easy to write a scoring algorithm that scans for these with the bias that some expletives have a negative connotation, others positive. It's like SpamAssassin in terms of having all these rules. What I need to find out before going too far with this is: (a) do we already have exactly what I'm seeking as a public project? (b) will I be able to find schools that want to turn students loose on this scaffolding? (c) are we looking at a real project like on Sourceforge, or just a set of interconnected examples that feature aspects of Python? This proposal is in part a response to Laura's CP4E work on the Diversity list. She's been suggesting that a primary barrier to increasing diversity is simply the daunting time demands, the somewhat austere culture of half-moribund bug trackers and dev lists (some of these are more like sunken shipwrecks) -- scares people away, especially people who "have a life" outside of being uber-nerds. I think many worthy NGOs would benefit from having a buzzbot inhouse or from contracting with an inexpensive PR company specializing in buzzbot robotics. The secret sauce is in scoring, whereas the search engines already have public APIs. The fancier buzzbots fork into multiple Python worker bee processes that each harvest and file to SQL independently, with a Dispatcher (queen bee) keeping track of open searches, handing them off to available processes. I published some manga code to the Chicago user list awhile back, haven't tried to dig for it yet... Kirby From kirby.urner at gmail.com Fri Sep 4 22:56:15 2009 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 4 Sep 2009 13:56:15 -0700 Subject: [Edu-sig] more casino math Message-ID: """ By Kirby Urner, 4Dsolutions.net for Oregon Curriculum Network (copyleft) 2009 casino_math was originally developed as part of a pilot project for gnu math teachers in the Greater Portland area Bug reports: kirby.urner at gmail.com Code repository: 4dsolutions.net/ocn/python """ import random class Deck: """ Primitive 54 card deck, including the two jokers S13 means King of Spades, H12 means Queen of Hearts You could enhance this, have less austere labeling. """ def __init__(self): self.deck = [ # our list of 54 cards (suit + str(rank)) for suit in ['H','D','C','S'] for rank in range(1,14) ] + ['joker']*2 def deal_off_top(self): if len(self.deck) > 0: return self.deck.pop(0) def deal_off_bottom(self): if len(self.deck) > 0: return self.deck.pop(-1) def shuffle(self): # typically done immediately after __init__ random.shuffle(self.deck) @property #read only def howmany(self): return len(self.deck) class Hand: """ Subclass at will! To see A's cards, go A() i.e. A is "running its mouth" """ def __init__(self, playername): self.playername = playername self.cards = [] def sort_cards(self): # alpha sort, so H10 before H7, feel free to enhance self.cards.sort() def get_card(self, thecard): self.cards.append(thecard) def random_card(self): if len(self.cards)>0: return self.cards.pop(random.choice( range(len(self.cards)))) def __repr__(self): return "Hand(%s)" % self.playername def __call__(self): # blab about cards return self.cards def unit_test(): """ Script: Deal five cards round robin to four players from shuffled deck. Each player shows sorta sorted cards. Each player discards random card. Each player shows cards a 2nd time. Action: >>> import casino_math >>> casino_math.unit_test() Hand(Tagrid) ['H10', 'H6', 'S2', 'S4', 'S5'] Hand(Jeena) ['D12', 'D8', 'H13', 'S13', 'joker'] Hand(Abaz) ['C10', 'C12', 'D11', 'H7', 'S6'] Hand(Foobot) ['C11', 'C2', 'C4', 'D9', 'H11'] Hand(Tagrid) S4 Hand(Jeena) joker Hand(Abaz) D11 Hand(Foobot) H11 Hand(Tagrid) ['H10', 'H6', 'S2', 'S5'] Hand(Jeena) ['D12', 'D8', 'H13', 'S13'] Hand(Abaz) ['C10', 'C12', 'H7', 'S6'] Hand(Foobot) ['C11', 'C2', 'C4', 'D9'] """ thedeck = Deck() thedeck.shuffle() theplayers = [] for player in ['Tagrid','Jeena','Abaz','Foobot']: theplayers.append(Hand(player)) for deal in range(5): # 0-4 for player in theplayers: player.get_card(thedeck.deal_off_top()) for player in theplayers: #blabber cycle player.sort_cards() print(player, player()) for player in theplayers: print(player, player.random_card()) for player in theplayers: #blabber cycle print(player, player()) # explain this to your students if __name__ == "__main__": unit_test() From lac at openend.se Sat Sep 5 12:25:19 2009 From: lac at openend.se (Laura Creighton) Date: Sat, 05 Sep 2009 12:25:19 +0200 Subject: [Edu-sig] generic open source projects... In-Reply-To: Message from kirby urner of "Fri, 04 Sep 2009 12:02:49 PDT." References: Message-ID: <200909051025.n85APJ3K015337@theraft.openend.se> >What I need to find out before going too far with this is: > >(a) do we already have exactly what I'm seeking as a public project? Not that I know of. And given that after 'I want to make a game' this is the number 1 thing that children I meet want to learn programming to do -- find out when their favourite websites change so they won't miss anything but don't have to go there every day, I would predict that this project would have a lot of mass appeal. But I think that Ian Bicking has written and released code that would be useful. >(b) will I be able to find schools that want to turn students loose on >this scaffolding? No clue. But I would have a hard time finding non-university schools interested around here. >(c) are we looking at a real project like on Sourceforge, or just a >set of interconnected examples that feature aspects of Python? Well, I would like to make the buzz bot understand something like 'other language plugins' from the start. Maybe we need some linguistic-trained people? or would just a good sampling of people who speak other languages from the onset work? >This proposal is in part a response to Laura's CP4E work on the >Diversity list. She's been suggesting that a primary barrier to >increasing diversity is simply the daunting time demands, the somewhat >austere culture of half-moribund bug trackers and dev lists (some of >these are more like sunken shipwrecks) -- scares people away, >especially people who "have a life" outside of being uber-nerds. Ah, in context, I think this scares them away from Python Core Development; I am sure that there are other projects which have other reasons that are the primary reason for lack of diversity. >The fancier buzzbots fork into multiple Python worker bee processes >that each harvest and file to SQL independently, with a Dispatcher >(queen bee) keeping track of open searches, handing them off to >available processes. I published some manga code to the Chicago user >list awhile back, haven't tried to dig for it yet... Speaking of manga - an image-scraper-and-recogniser would be awesome. But I don't know how to write one of those, at all. Wonder who does? Laura > >Kirby >_______________________________________________ >Edu-sig mailing list >Edu-sig at python.org >http://mail.python.org/mailman/listinfo/edu-sig From kirby.urner at gmail.com Sat Sep 5 16:26:54 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 5 Sep 2009 07:26:54 -0700 Subject: [Edu-sig] generic open source projects... In-Reply-To: <200909051025.n85APJ3K015337@theraft.openend.se> References: <200909051025.n85APJ3K015337@theraft.openend.se> Message-ID: On Sat, Sep 5, 2009 at 3:25 AM, Laura Creighton wrote: > >>What I need to find out before going too far with this is: >> >>(a) do we already have exactly what I'm seeking as a public project? > > Not that I know of. ?And given that after 'I want to make a game' this > is the number 1 thing that children I meet want to learn programming > to do -- find out when their favourite websites change so they won't > miss anything but don't have to go there every day, I would predict > that this project would have a lot of mass appeal. ?But I think > that Ian Bicking has written and released code that would be > useful. > I would like to develop buzz about a buzzbot as a way to glue some conversations together among these contemporaries who meet now and then, at Pycons etc., at user groups, but then what's holding us together otherwise? Python and the culture of geekdom, including open source aspects, is pretty powerful, as are the many project worlds using it (Zope, Plone, Scipy, Numpy, VPython and so on and so forth -- a rich and diverse set of partially overlapping worlds). >>(b) will I be able to find schools that want to turn students loose on >>this scaffolding? > > No clue. ?But I would have a hard time finding non-university schools > interested around here. > Students would be interested. It's fun to boot a Python interactive shell, import a few things, and be talking to distant servers, downloading XHTML, hearing lore about WWW and TBL, the birth of Linux, of Windows, of OSX... lots of twisted tales. Given the math teaching culture has turned its back on technology, is perversely fiddling with calculators while Rome smolders (it finished burning awhile ago), we might have more luck in sociology or English class. Alphanumeracy skills and communications skills are what we're talking about. Nerds don't get to monopolize on that score as other types need those too. P4E probably means *not* waiting for either math or computer science teachers to do their jobs (which would involve better integration of programming and math teaching -- so far, both subcultures are too retarded to make much headway (English teachers any fasters? Maybe so.)). Actually, at the university level I'm thinking philosophy departments may eventually prove useful. They're stuck using dark ages "logic" at the moment (cryptic gizmos from Frege's and Russell's day), but this isn't a stable picture. >>(c) are we looking at a real project like on Sourceforge, or just a >>set of interconnected examples that feature aspects of Python? > > Well, I would like to make the buzz bot understand something like > 'other language plugins' from the start. ?Maybe we need some > linguistic-trained people? or would just a good sampling of people > who speak other languages from the onset work? > Absolutely. This is where Patrick was heading, going for Japanese. I am likewise wanting these Python user groups within schools to appear around Asia, as I consider this the technology center (Singapore a hub). English will remain important, but non Latin-1 coding is going to take off here shortly. The fact that English is the official language for the development of Python itself is no barrier to doing 3rd party module work with only the key words, even with "self" swapped out for some ideogram (might as well take advantage of the feature of it's not being a key word). >>This proposal is in part a response to Laura's CP4E work on the >>Diversity list. ?She's been suggesting that a primary barrier to >>increasing diversity is simply the daunting time demands, the somewhat >>austere culture of half-moribund bug trackers and dev lists (some of >>these are more like sunken shipwrecks) -- scares people away, >>especially people who "have a life" outside of being uber-nerds. > > Ah, in context, I think this scares them away from Python Core Development; > I am sure that there are other projects which have other reasons > that are the primary reason for lack of diversity. > I would discourage Python Core Development as a first target for anyone. Learn Python first, not C. Diversity is increasing at a far greater rate 3rd party module world than in either core development world or standard library world. >>The fancier buzzbots fork into multiple Python worker bee processes >>that each harvest and file to SQL independently, with a Dispatcher >>(queen bee) keeping track of open searches, handing them off to >>available processes. ?I published some manga code to the Chicago user >>list awhile back, haven't tried to dig for it yet... > > Speaking of manga - an image-scraper-and-recogniser would be awesome. > But I don't know how to write one of those, at all. ?Wonder who does? > > Laura > Scraper in the sense of capturing as a blob ain't so bad but "recognizer" in a generic sense is well beyond the capabilities of today's computer science, although it's really easy to impose constraints (e.g. bar code reader) that make recognition super easy. I watched a company go down in the dot com crash because the CEO was saying his "nanny ware" (used to keep kids from seeking naked people among other things) would "recognize" the bad stuff in advance of loading the page, vs. hitting against a database of verboten sites or domains (the usual filtering technique). I knew this was probably not in the cards but was only watching from a distance. The thing about this buzz bot is Patrick already has working code, as do many web trendy type marketing and PR firms, so we're not talking any pie in the sky technology. It's not a question of "do we have it?" but rather "do we want to open source it and share it with schools?" Of course the latter is up to the schools more than us, and they have a track record of being slave ships, especially more recently, with the spike in censorship, other illegal (criminal) activities (if publicly run). Kirby From andre.roberge at gmail.com Sat Sep 5 21:04:39 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Sat, 5 Sep 2009 16:04:39 -0300 Subject: [Edu-sig] A request for Kirby Message-ID: <7528bcdd0909051204u1cfd0112k368452e76bdf4b2c@mail.gmail.com> Dear Kirby, Many times on this list and elsewhere ( http://mybizmo.blogspot.com/2006/08/python-pedagogy.html and http://controlroom.blogspot.com/2006/09/lunch-on-hawthorne.html) you have written about Python's special methods as "__ribs__". While you have given many examples ... it is difficult to find a single definitive link that others could be directed to, to learn about this approach (with links to other examples...). I think it would be very useful to all of us if you could come up with a "reasonably complete" single post (either on this list or on some other website) about __ribs__, starting from the beginning simple image, meandering in your own unique way to perhaps conclude with an example showing operator overloading (with fractions?) using Python's special methods. Andr? -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Sat Sep 5 21:54:24 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 5 Sep 2009 12:54:24 -0700 Subject: [Edu-sig] A request for Kirby In-Reply-To: <7528bcdd0909051204u1cfd0112k368452e76bdf4b2c@mail.gmail.com> References: <7528bcdd0909051204u1cfd0112k368452e76bdf4b2c@mail.gmail.com> Message-ID: On Sat, Sep 5, 2009 at 12:04 PM, Andre Roberge wrote: > Dear Kirby, > > Many times on this list and elsewhere ( > http://mybizmo.blogspot.com/2006/08/python-pedagogy.html and > http://controlroom.blogspot.com/2006/09/lunch-on-hawthorne.html) you have > written about Python's special methods as "__ribs__". While you have > given many examples ... it is difficult to find a single definitive link > that others could be directed to, to learn about this approach (with links > to other examples...). > > I think it would be very useful to all of us if you could come up with a > "reasonably complete" single post (either on this list or on some other > website) about __ribs__, starting from the beginning simple image, > meandering in your own unique way to perhaps conclude with an example > showing operator overloading (with fractions?) using Python's special > methods. > > Andr? > > OK Andr?, that's a reasonable request, let me attempt it in the short window I have available before retrieving Lindsey for another try at passing DEQ (should pass this time, thanks to recent visits to Nissan Nation)... The idea of saying __ribs__ or __rib__ (singular) for Python's special names is a way to turn Python's signature appearance into easy mnemonics i.e. this will help kids (adults) learn. class Python: __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ __rib__ is not street legal Python, but damn close. A real Python class has __ribs__ like __init__, __add__, __repr__, __str__ and so forth. The mnemonics here: Pythons are snakes, have long backbones (the characteristic feature of snakes), lots (lots!) of ribs. So the language Python, in addition to alluding to Monty Python, is very cleverly self referential in terms of classes (types) having a kind of snake-like structure, i.e. the methods stack up to for a "rib cage". Of course not all method names are special names. Another use of ribs is in the ribs of a ship or whale. There's the whole idea of "container with guts" i.e. the containership metaphor of dot notation is well supported by this view of a class as a kind of ship, also with __ribs__. The class definition is actually just the blueprint of a ship (or snake, or other creature) and then we have *instances* of that, i.e. the actual objects are the incarnated (built, constructed) thingies in memory. Just talking basic OO here, nothing new, old hat. Here's a picture from my notebooks that encourages these heuristics: http://www.flickr.com/photos/17157315 at N00/sets/72157617152555758/ (upper left) Of course in actual practice we're like building Biotum, Dog, Cat, Monkey, Human, then inheriting from Mammal (polymorphism) in preparation for more stark and austere "math objects" like Vector, Edge, Rational, Polynomial, Polyhedron. These latter may know to write themselves in scene description language (POV-ray) or x3d, other formats, per examples at Oregon Curriculum Network website (4dsolutions.net a private company sponsor). http://www.4dsolutions.net/ocn/stickworks.html (instructional video) Kirby PS: some of the best graphics introducing the rib concept are in my Vilnius slides at http://www.4dsolutions.net/presentations/connectingthedots.pdf (slides 9 - 12 in particular) _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From missive at hotmail.com Tue Sep 8 23:49:27 2009 From: missive at hotmail.com (Lee Harr) Date: Wed, 9 Sep 2009 02:19:27 +0430 Subject: [Edu-sig] [ANNC] pybotwar-0.6 Message-ID: pybotwar is a fun and educational game where players create computer programs to control simulated robots to compete in a battle arena. http://pybotwar.googlecode.com/ pybotwar uses pybox2d for the physical simulation, and uses either pygame and pygsear or PyQt4 for the visualization. pybotwar is released under GPLv3. Changes in pybotwar-0.6: - expanded README file - add robot program template - new (optional) PyQt4 interface - track amount of damage caused by each robot - warn if database version is out of date - add position sensor and example robot to test it out - new robot and turret images - fix possibility of 2 robots spawning at same position - add a maximum time for match - fix crash from too many files open during long tournament - catch and log robot errors during module compilation - add cannon overheat sensor - add cannon loaded sensor - reload penalty for firing while cannon overheated (defaults to 0) - reload penalty for firing before cannon is loaded (defaults to 0) - use both tangent and normal impulse to determine collision damage - fix crash saving stats when using multiple copies of the same robot _________________________________________________________________ More than messages?check out the rest of the Windows Live?. http://www.microsoft.com/windows/windowslive/ From EJStrassberger at cps.edu Wed Sep 9 05:07:23 2009 From: EJStrassberger at cps.edu (Earl Strassberger) Date: Tue, 08 Sep 2009 22:07:23 -0500 Subject: [Edu-sig] Forgot password Message-ID: An HTML attachment was scrubbed... URL: From lac at openend.se Wed Sep 9 08:19:37 2009 From: lac at openend.se (Laura Creighton) Date: Wed, 09 Sep 2009 08:19:37 +0200 Subject: [Edu-sig] Forgot password In-Reply-To: Message from "Earl Strassberger" of "Tue, 08 Sep 2009 22:07:23 CDT." References: Message-ID: <200909090619.n896JbEh005370@theraft.openend.se> Go here: http://mail.python.org/mailman/listinfo/edu-sig Down at the bottom of the page there is a button that says: 'unsubscribe or edit options'. Stick ejstrassberger at cps.edu in the blank field in front of that, and click the button. You will get a page that starts by asking for your password, which you don't have. But on the bottom of the page it says 'Password Reminder' and a button to click that says 'Remind'. Click on that. You will get your password sent to you. Then you repeat the whole thing again, except this time on the second page, fill in the password that you were mailed, and then click on the unsubscribe button. Then wait for more mail. It will tell you to go to some automatically generated web page and click on that to really unsubscribe. Then you are done. Laura From kirby.urner at gmail.com Thu Sep 10 07:26:36 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 9 Sep 2009 22:26:36 -0700 Subject: [Edu-sig] notes from django con Message-ID: Some of you may have been peeking at my blogs, where I'm packing in details re DjangoCon, ongoing in Portland. I'm getting a lot of validation for this idea of bringing GIS / GPS closer to the core curriculum (talking high school servers) with all these local data sources about real world concerns. On the math side, it's all great circles and polyhedra i.e. the bridge from geometry to geography is gonna be central (anticipated in Vilnius slides, linked in my last post). GeoDjango is part of what's exciting me here, and the Postgres back end. Those of you on diversity at python.org will have seen a lot of traffic twixt python-dev management e.g. Aahz and one of the top Postgres community organizers, Selena. We're also on great terms with Admirers of JavaScript here in Portland (lots of overlapping attendance -- the we did better with Cubespace as a grand central though, a step back to have these separate office towers with locked doors and guards). The reason I bring up JavaScript is we're seeing a lot of robustness in that language, as the guts of the browsers. V8 in Chrome. HTML5.... So picture more control panel or cockpit type GUIs with low level JSON chatter over the wire, with Django type stacks on the server (Rails type...). Anyway, it's all way cool and math related. GIS is all about polygons. If you're a math teacher looking for applications, here they are. But then a school needs strong IT to move into these areas. Who on faculty wants to take this on? This is knowledge to pass directly to students, not hide behind curtains. If you use computers, you need to learn how to control them. That's part of what the new literacy entails, per R0ml, so if the math teachers refuse, maybe the language teachers will take it on. Django culture is very Kansas-meets-UK flavored, which feels a little like Clint Eastwood meets Dumbledore. I was snake bearer for PSF, helping bring the two totems together **, more like a Vulcan mind meld than a Klingon mating ritual, although they're both at the hotel now... (I'm local, so at home). Kirby ** http://mybizmo.blogspot.com/2009/09/ppug-200998.html ( @psf_snake at PPUG last night ) http://worldgame.blogspot.com/2009/09/djangocon-day-2.html ( @psf_snake and @djangopony with totem bearers) From jurgis.pralgauskis at gmail.com Thu Sep 10 13:31:42 2009 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Thu, 10 Sep 2009 14:31:42 +0300 Subject: [Edu-sig] using python/jython for educational game robocode Message-ID: <34f4097d0909100431r33ae8e02ie06d14fd9bfa2768@mail.gmail.com> hello, finally I managed use python for http://robocode.sf.net with the help of I can run it on ubuntu 8.04 and 9.04. * install jython2.2 (not 2.5) * install robocode (1.7 was better for me than 1.6 in one aspect ) copy files to your robocode directory ftp://ftp.akl.lt/users/jurgis/robocode/jython-OK/ you can straightforward try jy.Jymbo and jy.JymboWall or update paths to your needs in .sh files ==== and go on === * write yourbot.py and put it in robots directory there are several types of robots, for example http://robocode.sourceforge.net/docs/robocode/robocode/Robot.html when writing jython version, don't forget "self" keywords defining your own methods or calling Robot methods ;) * edit compyle-jy221.sh to your needs (on win some path syntax canges are needed and name compile-jy221.bat) - it adds robocode.jar to shell classpath before compilation to java - and compiles using jythonc (indicating robot filename and package name) * find the new .java and .class files * make the appropriate .property file for your bot (not compulsory) * call robocode-jython.sh (adds: 1) NoSecurity option and 2) jython.jar in classpath ) ps.: with robocode 1.6 I had to restart the robocode before each battle, or otherwise jython bot's didn't work.. 1.7 didn't have this problem ps.: still haven't tried to implement more complex robot actions... just cloned MyFirstRobot and Wall by the way, JymboWall acts a bit strangely -- when figuring its direction, it usually is not perpendicular to walls :/ ok, waiting for your comments -- Jurgis Pralgauskis Don't worry, be happy and make things better ;) http://kompiuterija.pasimokom.lt From kirby.urner at gmail.com Fri Sep 11 01:14:16 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 10 Sep 2009 16:14:16 -0700 Subject: [Edu-sig] notes from django con In-Reply-To: References: Message-ID: On Wed, Sep 9, 2009 at 10:26 PM, kirby urner wrote: << snip >> > Anyway, it's all way cool and math related. GIS is all about > polygons. If you're a math teacher looking for applications, here > they are. But then a school needs strong IT to move into these areas. > Who on faculty wants to take this on? This is knowledge to pass > directly to students, not hide behind curtains. If you use computers, > you need to learn how to control them. That's part of what the new > literacy entails, per R0ml, so if the math teachers refuse, maybe the > language teachers will take it on. In our Beaverton school district, admin is working to give all middle schoolers a public school email address. These tend to be needed to sign up for web services, such as Google's. By high school, it's easier to assume that students have their own email addresses, although a school default might also be provided? Just had the one conversation at Pauling House the other week... So here's a way to do geolocating *without* needing a Google ID number (linked to your Google account or domain): >>> import geopy >>> g = geopy.geocoders.Google(resource='maps') >>> g.geocode("3745 SE Harrison St., Portland, OR 97214") Fetching http://maps.google.com/maps?q=3745+SE+Harrison+St.%2C+Portland%2C+OR++97214&output=kml... (u'3745 SE Harrison St, Portland, OR 97214', (45.509005999999999, -122.62473900000001)) >>> from geopy import distance >>> _, pdx = g.geocode("Portland, Oregon") Fetching http://maps.google.com/maps?q=Portland%2C+Oregon&output=kml... >>> _, la = g.geocode("Los Angeles, CA") Fetching http://maps.google.com/maps?q=Los+Angeles%2C+CA&output=kml... >>> geopy.distance.distance(pdx, la).miles 825.42617068777872 Kirby From gregor.lingl at aon.at Sun Sep 13 01:33:29 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Sun, 13 Sep 2009 01:33:29 +0200 Subject: [Edu-sig] casino math (unit three) (Saturday night fever) In-Reply-To: <200909020248.n822mxmV014583@theraft.openend.se> References: <200909010826.n818QXJ8007044@theraft.openend.se> <4A9DCA80.4030904@aon.at> <200909020248.n822mxmV014583@theraft.openend.se> Message-ID: <4AAC2FC9.108@aon.at> Laura Creighton schrieb: > In a message of Wed, 02 Sep 2009 03:29:36 +0200, Gregor Lingl writes: > >> Laura Creighton schrieb: >> >>> >>> I think that the pysol game 'Pile On' is always solvable. >>> Anybody know for sure? Writing a program that exhaustively creates >>> all the possible layouts and then solves them seems possible, >>> ... > But then, I wasn't really looking for the brute-force proof, but the > elegant one. I was hoping for an induction proof for 4 sets of 4 > cards, n cards, and n + 1 cards, but so far I haven't managed it. > Hi all, 1) this approach reminds me of Paul Halmos' saying: Computers are important, but not to mathematics. 2) If this is considered to be true - or at least to be reflecting some essential features of mathematics, I'd understand why the problem is not dicussed more deeply on this list. On the other hand this is a real life *casino math* problem, at least for solitaire lovers. What would your answer or advice be if some of your students asked you how to treat this problem? 3) I, for my part, felt uneasy with the fact, that the problem was set, but not treated at all. In a previous posting I had supposed, that Laura's proposition might be false. I consider it very unsatisfying to have a proposition, which to treat seems not to be far beyond my abilities and not to know the *truth* My approach was like this: I wrote a little backtracking script that solves Pile On configurations and I found some unsolvable ones. But I did (and do) not know if the script is correct - which means, that I do not have a proof of its correctness. But I used it to create a small collection of unsolvable Pile On layouts, wrote some tiny utilities and tried to find some patterns in the unsolvable configurations. Finally I created a configuration by hand - wou will immediately see below that this is not a random configuration - and I think I have a proof of its unsolvability. Configuration: ( (11, 6, 2, 1), (11, 10, 4, 1), ( 9, 2, 6, 3), ( 9, 4, 8, 3), ( 7, 12, 10, 5), ( 7, 12, 2, 5), ( 5, 8, 4, 7), ( 5, 6, 12, 7), ( 3, 10, 8, 9), ( 3, 2, 6, 9), ( 1, 4, 10, 11), ( 1, 8, 12, 11), (13, 13, 13, 13), (), () ) Proof (sketchy): The investigation of the game-tree takes advantage of the symmetries of the configuration. Odd ranks occur only in the first and the last place of a pile. You can start to fill the two empty piles essentially in two ways: (1) - Put two cards with equal odd ranks on pile 14 (e. g.: 1, 1) - put one of the freed cards with even ranks on pile 15 (e. g.: 2) Now pile 14 is locked and the also the piles you have taken the odd cards from. (in my example piles 1 + 2) These now have even topmost cards ( 6 and 4) but those also do not match, because the four even ranked cards belonging to those piles have different ranks. (2) - Put two cards with equal odd ranks on pile 14 (e. g.: 3, 3) - Put two more cards with equal odd ranks on pile 15 (e. g.: 11, 11) - Now you have freed four even ranked cards. If these are pairwise different, you are done: everything is blocked, that means no solution on this path. Remark: there are only 15 pairs of pile-pairs like ((3,3), (11,11)) (3) Now you have to investigate those situations, that arise from doing the (2)-procedure but do not result in four different even cards on top of the piles. These belong to the following pairs of piles (named after their topmost odd rank): (1,5), (1,7), (3,9), (5,11), (7, 11) Most of them can be completed very quickly similar to (1,5) as example: 11, 6, 2 11,10, 4 .. 7,12,10 7,12, 2 by putting one of the twos on top of the other and everything is blocked again. Only one sitiatuaton leads to a branch which has a few more branching steps: (5, 11) 7, 12, 10 7, 12, 2 ... 1, 4, 10 1, 8, 12 Putting first 10 on second one and first 12 upon last 12 frees 7. Now for the first and only time you can use two more piles with 7 as topmost cards but that also blocks immediately. This is the only case, which uses one of the odd ranked cards in the first column. Should I now consider the problem as solved? I tend to: Proposition: ... pysol game 'Pile On' is *not* always solvable. Of course I might have overlooked something and my proof is incomplete. I'd be very glad to have someone checked it. Moreover there might be configurations, that have an even smaller game tree. ... Are you convinced now, that the proposition ist true? Or do you know that it is false? Perhaps you don't care if its true or false? Can you do something with this as a teacher of mathematics? Or as a teacher of computer science? And what if you were an employee of a casino company? Regards, Gregor P.S.: Analysis of solitaire games seems to be not an easy task in general, despite of the fact that Laura might be right that Pile On is a particularly simple variant. See, for instance: http://www.stanford.edu/~xyan/papers/solitaire.pdf >> Thanks for the deverting hint >> Gregor >> > > You are most welcome. :-) > > Laura > > > From kirby.urner at gmail.com Sun Sep 13 06:34:16 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 12 Sep 2009 21:34:16 -0700 Subject: [Edu-sig] VPython with Ubuntu 9.04 Message-ID: Re: Vpython.org -- installing on Ubuntu Linux 9.04 Jackalope I just received a Starling-1, a kind of OLPA clone of the XO, except black and without the tilt and swivel, mesh networking. OLPA = one laptop per adult (relates to NALB). Photos that relate to this post: http://www.flickr.com/photos/17157315 at N00/sets/72157622351057626/ It's more the classic Ubuntu desktop, a Debian downstream with some value added, customization in particular as with a 10.1" screen, you're wanting something other than a Compiz spinning cube, I'm pretty sure. Comes with Jackalope reinstalled. This unit replaces my Ubuntu Dell laptop, which fried its own motherboard, still has salvageable .py files, some pix. Queued for in-house attention (could mean a long time then). So the VPython install text seems to assume that if you've got enough Linux chops to operate Linux, then it's best to treat you as a developer and walk you through getting the whole source code tree, meaning C++ files, stuff about GTK+, about Boost. Fortunately, the docs tell the 9.04 user specifically which -dev trees to grab off Synaptic, in addition to Boost. Don't forget numpy (that's in Synaptic as well). If you compare these instructions to what people with other versions have to slog through, you might thank your lucky stars (I know I did). I recommend following the provided advice to mkdir in parallel to the folder you get from extracting the bz2 file: Then follow instructions to reach up a level from the newly created empty build directory and down into the neighboring tree i.e. mkdir visual_build cd visual_build ../visual_tree/configure --prefix /usr/local don't use /usr/local/lib as your prefix or you'll get everything in /usr/local/lib/lib/python2.6/site-packages You want to anchor at /usr/local on the standard 9.04 configuration, where site-packages is in /local/lib/python2.6/site-packages. There's an obscure point to copy a .pth file into /usr/local/lib/python2.6/dist-packages as well (which I did). Clearly I'm not writing enough to replace the INSTALL.txt here, not my intention. This is more some encouragement to developers wanting to work on a VPython curriculum, still probably Python's best answer to Ruby's quasi-native access to OpenGL. Once I had visual installed and had run some examples, a turned to 4dsolutions.net/ocn/python/hypertoons for my implementation of a randomized network of interconnecting cartoon tunnels (the key frames for the network of switch points, with "tunnels" being animated in-betweening twixt whatever two stations). I found a bug in my rbf.py, which I've mangled over the years, including to put bread on the table at one point. I'll be uploading a fix this evening. Kirby Urner @thekirbster @ It's a Beautiful Pizza Lindsey Walker Show myspace.com/4dstudios http://worldgame.blogspot.com/2009/09/4d-studios.html From gregor.lingl at aon.at Sun Sep 13 14:08:07 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Sun, 13 Sep 2009 14:08:07 +0200 Subject: [Edu-sig] Another idea of Conway In-Reply-To: <4A9C3811.4010807@aon.at> References: <4A9C3811.4010807@aon.at> Message-ID: <4AACE0A7.5080908@aon.at> Although my posting to this list seems to tend to become a somewhat autistic activity I'd like to reveal the 'mystery' behind the script below: http://esolangs.org/wiki/Fractran http://en.wikipedia.org/wiki/FRACTRAN Would writing a fractran interpreter in python be an interesting project for teaching CS? (My first try below allows for a lot of optimizations, e.g. not to use Fraction but resort to (long) ints.) Best wishes, Gregor Gregor Lingl schrieb: > Hi all, > > on vacation in the Tyrolean Alps one evening > I've found the time to implement another (I assume > less well known) idea of John Conway. > > Just for fun. > > from fractions import Fraction > > fracs = [Fraction(f) for f in > "17/91 78/85 19/51 23/38 29/33 77/29 95/23 77/19 1/17 11/13 13/11 > 15/14 15/2 55/1".split()] > > def fracgame(): > z = Fraction(2,1) > while True: > for f in fracs: > n = z * f > if n.denominator == 1: > break > yield int(n) > z = n > > def pow2(z): > n = 0 > while z % 2 == 0: > n += 1 > z //= 2 > return (z == 1) * n > def what(): > fg = fracgame() > while True: > z = next(fg) > n = pow2(z) > if n != 0: > yield n > > what = what() > print(next(what)) > print(next(what)) > > # the following will take 1 or 2 minutes > > ##w = 0 ##while w < 100: > ## w = next(what) > ## print(w) > > Comments or discussion may follow when > I'm back to Vienna. > > All the best, > Gregor > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From lac at openend.se Sun Sep 13 14:10:30 2009 From: lac at openend.se (Laura Creighton) Date: Sun, 13 Sep 2009 14:10:30 +0200 Subject: [Edu-sig] casino math (unit three) (Saturday night fever) In-Reply-To: Message from Gregor Lingl of "Sun, 13 Sep 2009 01:33:29 +0200." <4AAC2FC9.108@aon.at> References: <200909010826.n818QXJ8007044@theraft.openend.se> <4A9DCA80.4030904@aon.at> <200909020248.n822mxmV014583@theraft.openend.se> <4AAC2FC9.108@aon.at> Message-ID: <200909131210.n8DCAUs4004556@theraft.openend.se> I have to think about this more, but on a very quick first reading it seems that you have missed a strategy that I have needed in order to solve some tough PileOn games. And that is breaking up groups of 2 or 3 that you already have built, or dealt. Given these 3 piles to start with A B X X C D X E F G X B (and then some more) the correct way to solve things may be to put E and B in the empty slots, take one X from the first pile and put it on the second and take the other and put it on the third. Then move the B from the empty slot back to pile one. The same thing has also been needed when piles are A X X B as well. Does your algorithm handle that, or does it assume that things that are stuck together belong together? Laura From andre.roberge at gmail.com Sun Sep 13 15:02:10 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Sun, 13 Sep 2009 10:02:10 -0300 Subject: [Edu-sig] VPython with Ubuntu 9.04 In-Reply-To: References: Message-ID: <7528bcdd0909130602r5bfac7c5r88092bee38ee122a@mail.gmail.com> On Sun, Sep 13, 2009 at 1:34 AM, kirby urner wrote: > > Clearly I'm not writing enough to replace the INSTALL.txt here, not my > intention. ?This is more some encouragement to developers wanting to > work on a VPython curriculum, still probably Python's best answer to > Ruby's quasi-native access to OpenGL. > How does "Ruby's quasi-native access to OpenGL" compare with what one gets using pyglet? (http://www.pyglet.org/) Andr? From gregor.lingl at aon.at Sun Sep 13 15:22:45 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Sun, 13 Sep 2009 15:22:45 +0200 Subject: [Edu-sig] casino math (unit three) (Saturday night fever) Message-ID: <4AACF225.5010307@aon.at> Laura Creighton schrieb: > I have to think about this more, but on a very quick first reading it > seems that you have missed a strategy that I have needed in order to > solve some tough PileOn games. > > And that is breaking up groups of 2 or 3 that you already have built, or > dealt. Given these 3 piles to start with > > A B X X > C D X E > F G X B > (and then some more) > This pattern does not occur in my sample configuration: ( (11, 6, 2, 1), (11, 10, 4, 1), ( 9, 2, 6, 3), ( 9, 4, 8, 3), ( 7, 12, 10, 5), ( 7, 12, 2, 5), ( 5, 8, 4, 7), ( 5, 6, 12, 7), ( 3, 10, 8, 9), ( 3, 2, 6, 9), ( 1, 4, 10, 11), ( 1, 8, 12, 11), (13, 13, 13, 13), (), () ) it has only even ranks in the second and third column, occurring pairwise in these columns, and odd ranks in the fourth one. (The thirteenth row is out of the game) So initially there are no three equal ranks in the third column and no X occurring in the second or third column can appear in the fourth. > the correct way to solve things may be to put E and B in the empty > slots, take one X from the first pile and put it on the second > and take the other and put it on the third. Then move the B > from the empty slot back to pile one. This also does not occur in my initial configuration, as some B in the fourth column can only reappear in the first one and not in the second one. One (ond only one) move combining a seven from the first column with two sevens from the fourth one appears in my proof of non-solvability of this layout. > The same thing has also > been needed when piles are > > A X X B Also this pattern does not occur: each row has only two different even ranks. Of course only an a bit closer investigation (as discribed in my pevious posting) shows that these patterns also do not occur during the game. > > as well. > > Does your algorithm handle that, or does it assume that things that > are stuck together belong together? No this is not assumed. I do not have a special algorithm to solve Pile On, but only search the game tree using backtracking. Normally that gets out of hand. The point is that I believe to have found one *special* layout that can be investigated completely by hand, because due to its symmetries there occurs only a very limited set of possible moves. I think, that still some labour is needed to retrace my arguments. But if you are convinced (or only strongly believe) that I am wrong, you have an easier way to proof it: simply solve the configuration given above (and possibly show me, that resolving those patterns you displayed above is needed to do so.) Very thrilling! Regards, Gregor > > Laura > > From lac at openend.se Sun Sep 13 15:45:46 2009 From: lac at openend.se (Laura Creighton) Date: Sun, 13 Sep 2009 15:45:46 +0200 Subject: [Edu-sig] casino math, ooops sent this only to Gregor not the list Message-ID: <200909131345.n8DDjkHu010348@theraft.openend.se> In a message of Sun, 13 Sep 2009 15:21:12 +0200, Gregor Lingl writes: > >Laura Creighton schrieb: >This pattern does not occur in my sample configuration: > > ( (11, 6, 2, 1), > (11, 10, 4, 1), > ( 9, 2, 6, 3), > ( 9, 4, 8, 3), > ( 7, 12, 10, 5), > ( 7, 12, 2, 5), > ( 5, 8, 4, 7), > ( 5, 6, 12, 7), > ( 3, 10, 8, 9), > ( 3, 2, 6, 9), > ( 1, 4, 10, 11), > ( 1, 8, 12, 11), > (13, 13, 13, 13), > (), > () ) > >it has only even ranks in the second and third column, occurring >pairwise in these columns, and odd ranks in the fourth one. I don't think that it is a matter of being dealt them, sorry to be unclear. I think you may have to make them and then break them. So now it is not clear to me if your algorithm handles that. >I do not have a special algorithm to solve Pile On, but only search >the game tree using backtracking. Normally that gets out of hand. >The point is that I believe to have found one *special* layout that >can be investigated completely by hand, because due to its >symmetries there occurs only a very limited set of possible moves. Indeed, and thank you very much for it! :-) >I think, that still some labour is needed to retrace my arguments. >But if you are convinced (or only strongly believe) that I am wrong, >you have an easier way to proof it: simply solve the configuration >given above (and possibly show me, that resolving those patterns >you displayed above is needed to do so.) Yes indeed, and while I am quite busy this week, I will try to do so. Right now I am trying to hack PySOL-FC so that you can input a starting configuration of cards, and also save each state change so that you can replay a game that you have won. But today is not a day for hacking for me, so this will take me a while to do. >Very thrilling! Glad to know the problem is keeping somebody else up thinking about it too! :) Best, Laura > >Regards, >Gregor ------- End of Forwarded Message From droujkova at gmail.com Sun Sep 13 16:59:51 2009 From: droujkova at gmail.com (Maria Droujkova) Date: Sun, 13 Sep 2009 10:59:51 -0400 Subject: [Edu-sig] Another idea of Conway In-Reply-To: <4AACE0A7.5080908@aon.at> References: <4A9C3811.4010807@aon.at> <4AACE0A7.5080908@aon.at> Message-ID: This language looks like a lot of fun. Especially given the fact none of students coming to me for the first time (or their parents) can't typically find any use of fractions beyond cooking, if that. Are there some beginner, hands-on/visual or otherwise "more accessible" examples for it? What fun! Cheers, Maria Droujkova http://www.naturalmath.com Make math your own, to make your own math. On Sun, Sep 13, 2009 at 8:08 AM, Gregor Lingl wrote: > Although my posting to this list seems to tend to become > a somewhat autistic activity I'd like to reveal the 'mystery' > behind the script below: > > http://esolangs.org/wiki/Fractran > http://en.wikipedia.org/wiki/FRACTRAN > > Would writing a fractran interpreter in python be an interesting > project for teaching CS? (My first try below allows for a lot of > optimizations, e.g. not to use Fraction but resort to (long) ints.) > > Best wishes, > Gregor > > Gregor Lingl schrieb: >> >> Hi all, >> >> on vacation in the Tyrolean Alps one evening >> I've found the time to implement another (I assume >> less well known) idea of John Conway. >> >> Just for fun. >> >> from fractions import Fraction >> >> fracs = [Fraction(f) for f in >> ?"17/91 78/85 19/51 23/38 29/33 77/29 95/23 77/19 1/17 11/13 13/11 15/14 >> 15/2 55/1".split()] >> >> def fracgame(): >> ? z = Fraction(2,1) >> ? while True: >> ? ? ? for f in fracs: >> ? ? ? ? ? n = z * f >> ? ? ? ? ? if n.denominator == 1: >> ? ? ? ? ? ? ? break >> ? ? ? yield int(n) >> ? ? ? z = n >> >> def pow2(z): >> ? n = 0 >> ? while z % 2 == 0: >> ? ? ? n += 1 >> ? ? ? z //= 2 >> ? return (z == 1) * n >> ?def what(): >> ? fg = fracgame() >> ? while True: >> ? ? ? z = next(fg) >> ? ? ? n = pow2(z) >> ? ? ? if n != 0: >> ? ? ? ? ? yield n >> >> what = what() >> print(next(what)) >> print(next(what)) >> >> # the following will take 1 or 2 minutes >> >> ##w = 0 ##while w < 100: >> ## ? ?w = next(what) >> ## ? ?print(w) >> >> Comments or discussion may follow when >> I'm back to Vienna. >> >> All the best, >> Gregor >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From gregor.lingl at aon.at Sun Sep 13 17:58:17 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Sun, 13 Sep 2009 17:58:17 +0200 Subject: [Edu-sig] Another idea of Conway In-Reply-To: References: <4A9C3811.4010807@aon.at> <4AACE0A7.5080908@aon.at> Message-ID: <4AAD1699.6080600@aon.at> Maria Droujkova schrieb: > This language looks like a lot of fun. Especially given the fact none > of students coming to me for the first time (or their parents) can't > typically find any use of fractions beyond cooking, if that. Are there > some beginner, hands-on/visual or otherwise "more accessible" examples > for it? What fun! > > Unfortunately I don't know of any. There is a chapter on Fractran in Julian Havil: Nonplussed!: Mathematical Proof of Implausible Ideas http://www.amazon.com/Nonplussed-Mathematical-Proof-Implausible-Ideas/dp/0691120560 It contains a nice proof of the fact that that 'fractran-program' calculates exactly the primes. Although perhaps "more accessible" it still assumes some computer science background. And, yes, it's fun. But as it happens so often with fun, it's useless - in contrast to cooking ;-) , which may be fun also, though. You have to calculate 281 integers to arrive at 32, which delivers the prime 5 and 710 integers to arrive at the next prime: 7 Best wishes Gregor P.S.: I like your homepage. Think I should register to find out more about what it's all about. > Cheers, > Maria Droujkova > http://www.naturalmath.com > > Make math your own, to make your own math. > > > > > > On Sun, Sep 13, 2009 at 8:08 AM, Gregor Lingl wrote: > >> Although my posting to this list seems to tend to become >> a somewhat autistic activity I'd like to reveal the 'mystery' >> behind the script below: >> >> http://esolangs.org/wiki/Fractran >> http://en.wikipedia.org/wiki/FRACTRAN >> >> Would writing a fractran interpreter in python be an interesting >> project for teaching CS? (My first try below allows for a lot of >> optimizations, e.g. not to use Fraction but resort to (long) ints.) >> >> Best wishes, >> Gregor >> >> Gregor Lingl schrieb: >> >>> Hi all, >>> >>> on vacation in the Tyrolean Alps one evening >>> I've found the time to implement another (I assume >>> less well known) idea of John Conway. >>> >>> Just for fun. >>> >>> from fractions import Fraction >>> >>> fracs = [Fraction(f) for f in >>> "17/91 78/85 19/51 23/38 29/33 77/29 95/23 77/19 1/17 11/13 13/11 15/14 >>> 15/2 55/1".split()] >>> >>> def fracgame(): >>> z = Fraction(2,1) >>> while True: >>> for f in fracs: >>> n = z * f >>> if n.denominator == 1: >>> break >>> yield int(n) >>> z = n >>> >>> def pow2(z): >>> n = 0 >>> while z % 2 == 0: >>> n += 1 >>> z //= 2 >>> return (z == 1) * n >>> def what(): >>> fg = fracgame() >>> while True: >>> z = next(fg) >>> n = pow2(z) >>> if n != 0: >>> yield n >>> >>> what = what() >>> print(next(what)) >>> print(next(what)) >>> >>> # the following will take 1 or 2 minutes >>> >>> ##w = 0 ##while w < 100: >>> ## w = next(what) >>> ## print(w) >>> >>> Comments or discussion may follow when >>> I'm back to Vienna. >>> >>> All the best, >>> Gregor >>> >>> _______________________________________________ >>> Edu-sig mailing list >>> Edu-sig at python.org >>> http://mail.python.org/mailman/listinfo/edu-sig >>> >>> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> >> > > From kirby.urner at gmail.com Sun Sep 13 18:49:18 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 13 Sep 2009 09:49:18 -0700 Subject: [Edu-sig] VPython with Ubuntu 9.04 In-Reply-To: <7528bcdd0909130602r5bfac7c5r88092bee38ee122a@mail.gmail.com> References: <7528bcdd0909130602r5bfac7c5r88092bee38ee122a@mail.gmail.com> Message-ID: On Sun, Sep 13, 2009 at 6:02 AM, Andre Roberge wrote: > On Sun, Sep 13, 2009 at 1:34 AM, kirby urner wrote: > > >> >> Clearly I'm not writing enough to replace the INSTALL.txt here, not my >> intention. ?This is more some encouragement to developers wanting to >> work on a VPython curriculum, still probably Python's best answer to >> Ruby's quasi-native access to OpenGL. >> > > How does "Ruby's quasi-native access to OpenGL" compare with what one > gets using pyglet? (http://www.pyglet.org/) > > Andr? > You know, I'm having trouble reconstructing how I came to the view that Ruby has quasi-native access to OpenGL. I think it was a few OSCONs back when I was intent on immersing myself in Ruby, went to a couple tutorials, the talk by Matz. My recollection is sitting there in an interactive Ruby shell, following some tutorial, and getting some colorful shapely things happening on my screen pretty early. But now when I go back, sifting through blogs and tutorials, I'm at a loss. I see Yoshi has the opengl extension, and that people are building on that. I watched this YouTube: If you look at the Vpython API, it's very high level. Arthur felt drawn to it kicking and screaming for his Pygeo, still one of the most impressive interactive geometry programs ever written, and in Python no less (with Vpython). He used to be my connection to the Vpython crowd but since then I've been switch boarding through Lincoln, Nebraska as Dr. Bob Fuller emeritus is a contact in common. Thanks to VPython, my students are able to focus on geometry, not computer science. Our focus is a simple arrangement of polyhedra, a kind of zen garden, a namespace. We want them thinking about rhombic dodecahedra, not how to create a context window or rotation matrix although the latter will come up, and we have Numpy at the ready if we need it. However, Vpython allows the interactive rotation of any graphical object you create. In stickworks.py, I provide simple Vector and Edge classes. The former do what Vectors are supposed to e.g. + - and * / with scalars (you can upgrade to Quaternion to multiply two vectors, then drop back into Gibbs-Heaviside, but that's just for play). So we use operator overloading, which isn't a mystery as we've used these __ribs__ already when introduction Rational, Modulo, Polynomial (ala Litvins) and several other simple "math object" classes (right after Dog, Cat, Monkey, Human -- all as subclasses of Mammal type). I'm not aware of any other coupling between a general purpose coding language with a bright future, and a simple OpenGL engine that doesn't require huge amounts of study to use. Pyglet is extremely low level in comparison, more like Pygame (SDL) in that sense. If you've already turned yourself into a C/C++ programmer, these toolkits feel liberating. However, my students are more likely coming from a ray tracing language like POV-Ray's, or from VRML/x3D. They want to give XYZ coordinates of something, say what shape it is (cone, tetrahedron, cylinder, blob) and be done with it -- just add texture (optional) and fly. Kirby From kirby.urner at gmail.com Sun Sep 13 19:05:23 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 13 Sep 2009 10:05:23 -0700 Subject: [Edu-sig] VPython with Ubuntu 9.04 In-Reply-To: References: <7528bcdd0909130602r5bfac7c5r88092bee38ee122a@mail.gmail.com> Message-ID: << snip >> > You know, I'm having trouble reconstructing how I came to the view > that Ruby has quasi-native access to OpenGL. ?I think it was a few > OSCONs back when I was intent on immersing myself in Ruby, went to a > couple tutorials, the talk by Matz. ?My recollection is sitting there > in an interactive Ruby shell, following some tutorial, and getting > some colorful shapely things happening on my screen pretty early. ?But > now when I go back, sifting through blogs and tutorials, I'm at a > loss. ?I see Yoshi has the opengl extension, and that people are > building on that. ?I watched this YouTube: > Sorry it got away from me: http://www.youtube.com/watch?v=16UrzabuzhU&feature=related# This one is also impressive (Python, also Pyglet in some way (GUI?)): http://www.youtube.com/watch?v=MSA01Gyd_Gg&feature=related Here's the kind of stuff I do with VPython: http://www.youtube.com/watch?v=AoMsxBZ4iCA (no sound) This grows out of earlier collaborations with say Richard Hawkins back in the days when only SGI workstations could play in this area: http://www.youtube.com/watch?v=yWANBOvq8kw Kenneth Snelson the artist was an early master of SGI: http://controlroom.blogspot.com/2008/07/more-curriculum-cartoons.html Kirby More background: http://worldgame.blogspot.com/2009/03/multitasking.html From kirby.urner at gmail.com Thu Sep 17 00:47:15 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 16 Sep 2009 15:47:15 -0700 Subject: [Edu-sig] Django thread from Diversity list Message-ID: Here's a thread from diversity at python.org, archived here for easier linking (open archive). The connections to education are multifarious e.g. PBS has web sites for teachers running in Django. Mostly I'm thinking high schools are going to design more around an inhouse intranet (not outsourced) so that year books, school plays, sporting events, all go to a central repository. If it's more like GeoDjango, then you've got some core infrastructure for "place based" education, a theme in my blogs, maybe even with immersive videos ala Google Street Views? The thread itself speaks to the diversity of the Django community, stressing its friendliness and openness to not-Django and not-Python developers. For example we had lots of input from a Smalltalk guy (keynote). As the followup makes clear (by James Bennett, a core player), this is somewhat of a tradition with DjangoConf, and a good one. Some of you will have already seen the below as we have some cross-enrollment. Kirby ---------- Forwarded message ---------- From: kirby urner Date: Mon, Sep 14, 2009 at 5:06 PM Subject: Diversity Report from DjangoCon To: diversity at python.org Just a quick Diversity Report for readers here.... The 2nd annual Django conference was held here in Portland, Oregon, DoubleTree Hotel at Lloyd's Center (eastside, easy access to downtown by Max light rail). We had lead developers from Australia, UK, and of course Kansas. To the community's lasting credit, "why Django sucks" was an allowed topic at open mic, where we had Armin Ronacher, the Austrian dude behind Werkzeug (not to be confused with Flugtag by Red Bull), very like Django but rather prettier in some ways, now branching into Solace, all about i18n. Gender did not arise as an issue. When I delivered the PSF snake to the core leadership, I handed it off to a tech lead at NASA, Katie Cunningham. In my experience, women show up in the workplace more frequently at higher levels (CHR, CFO...), so as geeks rise in status and clout, they'll naturally encounter more FOSS bosses of the female persuasion, only a matter of time, not really worried about it. What was more remarkable was how open we were to Smalltalk and Perl communities, also Apple's new Sproutcore community, where Ruby is the more used agile in some ways (Sproutcore is still a small project, sorta comet on steroids, has dreams of becoming a Flash killer someday). We didn't see much Microsoft, although I did get Sara Ford's tweets about Codeplex releasing Sperm (don't ask -- it's the right DNA according to Redmond). When it comes to diversity, I think this is where Python really shines: it's a tight design yet a showcase for turn-of-the-millennium great ideas e.g. list comprehensions, special name __ribs__... significant whitespace. In this sense, it's cosmopolitan, like Holland itself (not just Amsterdam). Portland, with aspirations of becoming more like Amsterdam in some ways (i.e. we want our own Paul Treanor maybe? **), is proud to be selected as the conference venue next year as well, same bat time, same bat station, mas o meno. Congratulations to all on a conference well organized. Congrats to Andy McKay in particular, with already well-developed Python muscles from working in Plone, recently back from Kenya and Malawi, where Django is used to switch cell phone text messages regarding children in need of medical attention (the numbers are already improving). Ian Bicking, a keynoter and track talk presenter (virtualenv, pip...), recently back from Buenos Aires, was eager to foster this kind of collaboration with the medical community, nurses especially (they seem open to open source by training i.e. sharing core knowledge in the face of grave needs is a fact of life in that profession). He quoted from Richard Stallman's GNU manifesto, underlining why he'd always liked it (since first encountering it as a teenager, inside of gnu emacs): because it took the bull by the horns. Back to our diversity theme: make room for Harry Potter and the whole DaJango Code lore, fortified castles, opportunities in Europe (not to mention "down under"). I've got more in my blogs, for those curious about the details. http://controlroom.blogspot.com/2009/09/django-conference-day-1.html http://controlroom.blogspot.com/2009/09/more-from-djangocon.html http://worldgame.blogspot.com/2009/09/djangocon-day-2.html http://controlroom.blogspot.com/2009/09/geodjango.html http://controlroom.blogspot.com/2009/09/djangocon-day-3.html http://mybizmo.blogspot.com/2009/09/more-djangocon-talks.html The PSF snake totem (sent by FedEx ground) also made it to PPUG, where the Idealist.org away team was just back from Switzerland instead of the usual Buenos Aires (Jason Kirtland, Michel...). Adam Lowry was also at Djangocon. http://mybizmo.blogspot.com/2009/09/ppug-200998.html http://wiki.python.org/moin/PortlandPythonUserGroup I've continued to pioneer good relations with Middle Eastern players, via Ambassador Tag (written about earlier in this archive), a gender studies professor among other things: http://mybizmo.blogspot.com/2009/09/ppug-200998.html http://www.flickr.com/photos/17157315 at N00/sets/72157622226456717/ Kirby PS: for those who don't remember my earlier posts, I'm a diverse kinda guy, mostly hang out on edu-sig community list with Sir Laura (diversity resident), Gregor (Vienna circle, manages Python's SL turtle module), Andre (university president in Canada), other characters.... ** http://web.inter.nl.net/users/Paul.Treanor/index.html ---------- Forwarded message ---------- From: James Bennett Date: Mon, Sep 14, 2009 at 7:04 PM Subject: Re: [Diversity] Diversity Report from DjangoCon To: kirby urner Cc: diversity at python.org A couple of comments and addenda from another participant... On Mon, Sep 14, 2009 at 7:06 PM, kirby urner wrote: > To the community's lasting credit, "why Django sucks" was an allowed > topic at open mic, where we had Armin Ronacher, the Austrian dude > behind Werkzeug (not to be confused with Flugtag by Red Bull), very > like Django but rather prettier in some ways, now branching into > Solace, all about i18n. FWIW, that's becoming something of a tradition; last year's US DjangoCon established the theme of keynotes by relative outsiders to/critics of the Django community, and I'm glad that this tradition was kept up. Conferences make it far too easy to toot one's own horn, and having smart people around to keep us reality-based is a good thing :) > Gender did not arise as an issue. When I delivered the PSF snake to > the core leadership, I handed it off to a tech lead at NASA, Katie > Cunningham. In one sense I guess it's true that the "issue" did not arise, but by my (unofficial) count the gents of Django outnumbered the ladies roughly 20:1. There were a few new faces, though, which I take as at least somewhat encouraging despite the otherwise dismal gender-canyon ("gap" being too small a word) present at the conference. > I've continued to pioneer good relations with Middle Eastern players, > via Ambassador Tag (written about earlier in this archive), a gender > studies professor among other things: One other multinational item of note: Dimitris Glezos' talk on Transifex, a web-based tool which greatly simplifies the process of collaborating on and contributing to translations of software projects of all sorts. Slides are here: http://djangocon.pbworks.com/f/dc09tx.pdf Finally, it's worth pointing out that DjangoCon had what may be a first for a Python-oriented conference (at least, a first at those I've attended): in the evening after the second full day of the conference, a group of us who'd been hanging out in the hotel lobby before heading downtown were invited out to the adjacent park to witness the wedding of Mark (a developer from NASA) and Ariel, whose surnames I'm not quite certain of at the moment. Once I get in touch with them to find out how they'd like photos of that event to be handled, I hope to get some of them up on Flickr. -- "Bureaucrat Conrad, you are technically correct -- the best kind of correct." From kirby.urner at gmail.com Sun Sep 20 19:13:56 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 20 Sep 2009 10:13:56 -0700 Subject: [Edu-sig] Resources for Python teachers... (spanish language etc.) Message-ID: For those not tracking announcements and for edu-sig archives: Guido's Python tutorial in Spanish: http://docs.python.org.ar/tutorial/contenido.html Other translations in the works... http://www.pylearn.com/fa/wiki/index.php/%D8%B5%D9%81%D8%AD%D9%87%E2%80%8C_%D8%A7%D8%B5%D9%84%DB%8C (note the above unicode translation from Farsi should work, even though it's butt ugly) Carl T has been working on gathering some of this intelligence. I helped link him up with Syrians Here's some Arabic re Python: http://itwadi.com/byteofpython_arabi Getting the edu-sig page translated into various languages may not be a priority, not my call. I've sent word of the Litvins text to Palestine where elite schools might start using it, we shall see. A goal is to not recapitulate the mistakes of USA-based computer science curricula which tend to be ethnocentric in unfortunate ways. Kirby Urner 4Dsolutions.net From andre.roberge at gmail.com Sun Sep 20 22:08:49 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Sun, 20 Sep 2009 17:08:49 -0300 Subject: [Edu-sig] Resources for Python teachers... (spanish language etc.) In-Reply-To: References: Message-ID: <7528bcdd0909201308r7cbde2d6h5dbc1c8f249caf2b@mail.gmail.com> On Sun, Sep 20, 2009 at 2:13 PM, kirby urner wrote: > For those not tracking announcements and for edu-sig archives: > > Guido's Python tutorial in Spanish: > > http://docs.python.org.ar/tutorial/contenido.html > > Other translations in the works... > [snip] And here's a link for the tutorial in French (Python 2.4.3): http://python.developpez.com/cours/TutoVanRossum/ > > Getting the edu-sig page translated into various languages may not be > a priority, not my call. > Not mine either... I believe it would be a very good idea. However, just like tutorial translated in Spanish above and the one in French are hosted on external sites and not on the python.org site, I believe that the translations of the edu-sig page should be the same - unless there is some decision from the PSF to start hosting parallel sites (in languages other than English) on its domain. Since all the information on the edu-sig page is in the public domain, there is nothing (other than limited amount of free time...) that prevents anyone from providing a translation in their own language. Andr? From catherine.devlin at gmail.com Mon Sep 21 16:37:58 2009 From: catherine.devlin at gmail.com (Catherine Devlin) Date: Mon, 21 Sep 2009 10:37:58 -0400 Subject: [Edu-sig] Fwd: Python for Secretaries In-Reply-To: <6523e39a0909201945n63e3d212xfb98c8525ae6688e@mail.gmail.com> References: <6523e39a0909201945n63e3d212xfb98c8525ae6688e@mail.gmail.com> Message-ID: <6523e39a0909210737x7e010800o40fdc49944438246@mail.gmail.com> Hi, edu-sig. I'm not a teacher; I've taken an Intro to Python lecture around the Ohio region a bit, that's all. I have a bug in my brain to put together some material (a good website and a class) aimed at business users. Laura suggested that I get your input, which makes huge amounts of sense. There's a new wiki page for the project at http://wiki.python.org/moin/PythonForSecretaries - your ideas and resources, please! I'm finding that I need to mine information on some of these officey tasks from some very coarse ore; shortcuts you can provide will be quite welcome. ---------- Forwarded message ---------- From: Catherine Devlin Date: Sun, Sep 20, 2009 at 10:45 PM Subject: Python for Secretaries To: diversity I'd like to ask for more input on a personal ambition of mine that has a diversity tie-in. I blogged about it here: http://catherinedevlin.blogspot.com/2009/06/python-for-secretaries.html The idea is a website and a class designed to show businesspeople a little bit of programming that they can use in the computer tasks they already have. ?Not to make them into real programmers (at least, not yet), but to show how they can automate some of the tasks that work makes them do anyway. (If a few of them end up becoming passionate hobby programmers, or even switching careers, and joining the ranks of contributing Python programmers... well, OK, that hope is the ulterior motive from our point of view.) I'd like your ideas on - what should be covered - any existing sources of documentation to draw on - tasks to automate I like the title "Computer Programming for Secretaries (and other businesspeople)", even though not many people are literally called "secretaries" anymore, because it's a very unpretentious title - it would emphasize that it's aimed at people who don't feel like they could survive a serious programming course. There are lots of beginning programming guides out there, but as far as I know, they are all aimed either at students, or at people who already know that they want to get deeper into programming; people who want to program for programming's sake. ?I'd like something for people with a totally different goal. ?It would differ from regular beginners' classes in that it: - would highlight ways to use data in typical business apps (yeah, that means MS Excel, Access, etc.) - this is *not* prominent information right now even for experienced Pythonistas - would feature exercises in business tasks rather than games, mathematics, etc. The diversity tie-in is this: here in the USA, a sampling of businesspeople working in most any office has a MUCH broader cross-section of the population than Python has now. ?Any recruits Python gets from such a population would almost certainly broaden us. Also, "secretary" has feminine implications in the U.S., and I wouldn't mind if that led to a female-heavy group of students. So, anyway. ?I'd love your suggestions (here or as blog comments). Oh, and - this is only one of my many ambitions and responsibilities, which means I'm not even going to get seriously started on it anytime too soon. ?Please, if you have the passion and the time, STEAL THIS IDEA! ?I'd love to hitch belatedly onto a train that *you* get going. -- - Catherine http://catherinedevlin.blogspot.com/ -- - Catherine http://catherinedevlin.blogspot.com/ *** PyOhio * July 25-26, 2009 * pyohio.org *** From andre.roberge at gmail.com Mon Sep 21 18:08:23 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Mon, 21 Sep 2009 13:08:23 -0300 Subject: [Edu-sig] Fwd: Fwd: Python for Secretaries In-Reply-To: <7528bcdd0909210907i28b69f3cv347f05c45d526821@mail.gmail.com> References: <6523e39a0909201945n63e3d212xfb98c8525ae6688e@mail.gmail.com> <6523e39a0909210737x7e010800o40fdc49944438246@mail.gmail.com> <7528bcdd0909210907i28b69f3cv347f05c45d526821@mail.gmail.com> Message-ID: <7528bcdd0909210908s258c637fx64c561efc7a60d80@mail.gmail.com> Sorry, I forgot to include edu-sig in cc. ---------- Forwarded message ---------- From: Andre Roberge Date: Mon, Sep 21, 2009 at 1:07 PM Subject: Re: [Edu-sig] Fwd: Python for Secretaries To: Catherine Devlin Hi Catherine, On Mon, Sep 21, 2009 at 11:37 AM, Catherine Devlin wrote: > Hi, edu-sig. ?I'm not a teacher; I've taken an Intro to Python lecture > around the Ohio region a bit, that's all. ?I have a bug in my brain to > put together some material (a good website and a class) aimed at > business users. ?Laura suggested that I get your input, which makes > huge amounts of sense. > > There's a new wiki page for the project at > > http://wiki.python.org/moin/PythonForSecretaries > > - your ideas and resources, please! ?I'm finding that I need to mine > information on some of these officey tasks from some very coarse ore; > shortcuts you can provide will be quite welcome. Thanks for creating this wiki page. ?I have nothing to contribute to it but I created a link to it on the edu-sig page, under Miscellaneous for lack of a better place. ? ?If others have better suggestions, I'll be glad to take them into account. (http://www.python.org/community/sigs/current/edu-sig/#miscellaneous) Andr? [snip] From kirby.urner at gmail.com Tue Sep 22 18:15:56 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 22 Sep 2009 09:15:56 -0700 Subject: [Edu-sig] Resources for Python teachers... (spanish language etc.) In-Reply-To: <7528bcdd0909201308r7cbde2d6h5dbc1c8f249caf2b@mail.gmail.com> References: <7528bcdd0909201308r7cbde2d6h5dbc1c8f249caf2b@mail.gmail.com> Message-ID: On Sun, Sep 20, 2009 at 1:08 PM, Andre Roberge wrote: << snip >> > Not mine either... > True enough, although there's a wiki sandbox where just about anything goes, including the diversity list airing some dirty laundry. http://wiki.python.org/moin/DiversityStatementDiscussion (the PSF archive will reveal no consultation process occurred before this page went to the public -- I did publicly distance myself from it on comp.lang.python as I work with a diverse group and don't want to be associated with such amateurish nonsense). > I believe it would be a very good idea. ?However, just like tutorial > translated in Spanish above and the one in French are hosted on > external sites and not on the python.org site, I believe that the > translations of the edu-sig page should be the same ?- unless there is > some decision from the PSF to start hosting parallel sites (in > languages other than English) on its domain. > Yes exactly. Python.org is a lean and mean operation in the sense of not needing to bloat. That farsi site linked from Carl's wiki page (in python.org) is more likely prototypical. No one needs PSF permission to write books or tutorials about Python (or to make cartoons, more my focus, like on Sesame Street but more for grownups). > Since all the information on the edu-sig page is in the public domain, > there is nothing (other than limited amount of free time...) that > prevents anyone from providing a translation in their own language. > > Andr? > Thanks for adding Litvins by the way. Party time at lobbying HQS in Silicon Forest (shot an email to Chris Brooks within minutes). Not that everything bottlenecks in Python.org, just we like to see our world reflected, if only just a little. Kirby 4D From kirby.urner at gmail.com Thu Sep 24 02:53:06 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 23 Sep 2009 17:53:06 -0700 Subject: [Edu-sig] multiple inheritance and __mro__ Message-ID: Here's a lesson plan working directly in the shell, though it'd be fine to call this up as pre-saved scaffolding. Sometimes you just wanna project and type live while talking, students following along, asking questions, or watching on ShowMeDo or one of those. >>> class Reptile: def __init__(self): self.blood = "cold" self.me = 1 self.free = True >>> class Mammal: def __init__(self): self.me = 1 self.blood = "warm" self.free = True def nurse(self): return "milk" >>> class PSF_snake(Mammal, Reptile): def say(self, something): print something >>> me = PSF_snake() >>> me.blood 'warm' >>> me.nurse() 'milk' >>> class PSF_snake(Reptile, Mammal): def say(self, something): print something >>> me = PSF_snake() >>> me.blood 'cold' >>> me.nurse() 'milk' >>> Notes to teachers: Notice that it matters in what order the parent classes get listed (fed to the child class) in the class definition. In the Mammal, Reptile case, the blood is warm, whereas if Reptile is listed first, the blood is cold. Notice also that you get a nursing method either way, because of how method resolution looks. If Mammal is listed after the Reptile class then the interpreter simply has to look a little further into its heritage, in order to find the right DNA. Kirby From ccosse at gmail.com Mon Sep 28 01:38:24 2009 From: ccosse at gmail.com (=?ISO-8859-1?Q?Charles_Coss=E9?=) Date: Sun, 27 Sep 2009 17:38:24 -0600 Subject: [Edu-sig] thought re graphing calculators ... Message-ID: Hi, this has probably been discussed to death already, but maybe not: The point at which fancy graphing calculators become "necessary" (ie as in one's student career) is the point at which the calculator should be abandoned and Python employed. Just a thought ... delete at will ! -Charles -- AsymptopiaSoftware|Software at theLimit http://www.asymptopia.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon Sep 28 01:56:33 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 27 Sep 2009 16:56:33 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: 2009/9/27 Charles Coss? : > Hi, this has probably been discussed to death already, but maybe not: The > point at which fancy graphing calculators become "necessary" (ie as in one's > student career) is the point at which the calculator should be abandoned and > Python employed.? Just a thought ... delete at will ! > > -Charles > Hi Charles -- Yeah, that's not controversial as far as I'm concerned, like duh (meaning I agree with you 100%, doesn't everyone?). For the humanities trained, I have this deep level criticism about how the XYZ coordinate people ala Descartes and so on, failed to think enough about the point of view, i.e. the camera position. There's this convention of positive x-axis coordinates going off to the right, but of course if your camera is on the other side of the textbook page, so to speak, looking back, then the very same positive axis is off to your left (unless you're standing on your head, relative to the starting position). All this stuff becomes more clear when you run a ray tracing system and actually need to specify the camera position. Then you come to realize that XYZ has a handedness, that both left and right handed make sense. Current high school textbooks may make lip service reference to that fact, but students rarely appreciate handedness as their spatial geometry abilities are artificially stunted by the graphing calculator curricula which are disappointingly and narrow-mindedly flatlander (landlubbery). This isn't the kind of critique most people have in mind when they start questioning the hegemony of the graphing calculator empire. It resonates more with art historians, design scientist engineers etc., looking for ways to point out shortcomings in the current "analog math" pipeline (easy as shooting ducks in a barrel (sorry for the violent imagery, diversity panel watching over my shoulder sometimes)). Here in Oregon, we're working on digital math. We have Intel, other companies, who think every school deserves a real math lab with lots of flatscreens and foss. It's economically self-serving to think this way, but then a lot of our students are interested in being gainfully employed in as silicon foresters, so it's self-serving for them to agree with us (same economy, duh). Kirby > -- > AsymptopiaSoftware|Software at theLimit > ? ? ? ? ?http://www.asymptopia.org > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From lognaturel at gmail.com Mon Sep 28 04:24:18 2009 From: lognaturel at gmail.com (Helene Martin) Date: Sun, 27 Sep 2009 19:24:18 -0700 Subject: [Edu-sig] Beautiful sample programs? Message-ID: Hello, As some of you know, I teach high school classes in Seattle. Students have been loving Python so far! They've been able to dive right in and get some interesting results. I was wondering whether any of you had suggestions for Python programs to look at, dissect, extend and emulate. I'm looking for something reasonably small like a simple music player, some kind of calculator app, a collection manager or something like that. I'd rather it be an existing open source project someone started out of necessity (rather than me creating something contrived for the exercise). I've poked around a bit but haven't found anything I thought would be perfect either because of scale (I'd rather keep it to a handful of files), complexity or just plain code ugliness. Any suggestions would be appreciated. H?l?ne Martin. http://garfieldcs.com From echerlin at gmail.com Mon Sep 28 06:04:30 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Sun, 27 Sep 2009 21:04:30 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: 2009/9/27 Charles Coss? : > Hi, this has probably been discussed to death already, but maybe not: The > point at which fancy graphing calculators become "necessary" (ie as in one's > student career) is the point at which the calculator should be abandoned and > Python employed.? Just a thought ... delete at will ! I'm using Turtle Art as an intermediate step. I have a Turtle Art program to put up a pair of axes, with one programmable tile for a Python expression for the function to graph. We have a TA to Logo translation, and we could build a TA to Python translation. Or we could show the students how to copy and paste the Python for the tiles in the TA program to make a Python program, again with a replaceable function. > -Charles > > -- > AsymptopiaSoftware|Software at theLimit > ? ? ? ? ?http://www.asymptopia.org > > _______________________________________________ > 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://earthtreasury.org/ From mpaul213 at gmail.com Mon Sep 28 04:31:49 2009 From: mpaul213 at gmail.com (michel paul) Date: Sun, 27 Sep 2009 19:31:49 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: <40ea4eb00909271931uda2c6c3w461b624f9b07ef8@mail.gmail.com> 2009/9/27 kirby urner : This isn't the kind of critique most people have in mind when they > start questioning the hegemony of the graphing calculator empire. > > Definitely not, but what a great perspective, pun intended. - Michel 2009/9/27 Charles Coss? : > > Hi, this has probably been discussed to death already, but maybe not: The > > point at which fancy graphing calculators become "necessary" (ie as in > one's > > student career) is the point at which the calculator should be abandoned > and > > Python employed. Just a thought ... delete at will ! > > > > -Charles > > > > Hi Charles -- > > Yeah, that's not controversial as far as I'm concerned, like duh > (meaning I agree with you 100%, doesn't everyone?). > > For the humanities trained, I have this deep level criticism about how > the XYZ coordinate people ala Descartes and so on, failed to think > enough about the point of view, i.e. the camera position. > > There's this convention of positive x-axis coordinates going off to > the right, but of course if your camera is on the other side of the > textbook page, so to speak, looking back, then the very same positive > axis is off to your left (unless you're standing on your head, > relative to the starting position). All this stuff becomes more clear > when you run a ray tracing system and actually need to specify the > camera position. > > Then you come to realize that XYZ has a handedness, that both left and > right handed make sense. Current high school textbooks may make lip > service reference to that fact, but students rarely appreciate > handedness as their spatial geometry abilities are artificially > stunted by the graphing calculator curricula which are disappointingly > and narrow-mindedly flatlander (landlubbery). > > This isn't the kind of critique most people have in mind when they > start questioning the hegemony of the graphing calculator empire. It > resonates more with art historians, design scientist engineers etc., > looking for ways to point out shortcomings in the current "analog > math" pipeline (easy as shooting ducks in a barrel (sorry for the > violent imagery, diversity panel watching over my shoulder > sometimes)). > > Here in Oregon, we're working on digital math. We have Intel, other > companies, who think every school deserves a real math lab with lots > of flatscreens and foss. It's economically self-serving to think this > way, but then a lot of our students are interested in being gainfully > employed in as silicon foresters, so it's self-serving for them to > agree with us (same economy, duh). > > Kirby > > > -- > > AsymptopiaSoftware|Software at theLimit > > http://www.asymptopia.org > > > > _______________________________________________ > > Edu-sig mailing list > > Edu-sig at python.org > > http://mail.python.org/mailman/listinfo/edu-sig > > > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- "Computer science is the new mathematics." -- Dr. Christos Papadimitriou -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon Sep 28 17:19:09 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 28 Sep 2009 08:19:09 -0700 Subject: [Edu-sig] Beautiful sample programs? In-Reply-To: References: Message-ID: Hi H?l?ne -- Yes I recall your discussions. You may already have checked out some of my Python-related writings here: http://www.4dsolutions.net/ocn/cp4e.html A backdoor straight to my code, if you don't want to dig through any essays is: http://www.4dsolutions.net/ocn/python/ One thing I specialize in is getting Python modules to spit out scene description language for the ray tracing program POV-ray (povray.org). I also work with VPython a lot (vpython.org). Having polyhedra stored in sqlite3 and retrieving them in Python for visual display is good exercise in using a DB. In my curriculum we work backward from wanting to understand RSA (the cryptographic algorithm) so there's some scaffolding having to do with prime and composite numbers. Right here in this archive there's a lot of buried treasure. Gregor's rendition of a Ron Resch transformation using turtle art comes to mind (ronresch.com). Kirby Urner 4dsolutions.net On Sun, Sep 27, 2009 at 7:24 PM, Helene Martin wrote: > Hello, > > As some of you know, I teach high school classes in Seattle. ?Students > have been loving Python so far! ?They've been able to dive right in > and get some interesting results. > > I was wondering whether any of you had suggestions for Python programs > to look at, dissect, extend and emulate. ?I'm looking for something > reasonably small like a simple music player, some kind of calculator > app, a collection manager or something like that. ?I'd rather it be an > existing open source project someone started out of necessity (rather > than me creating something contrived for the exercise). ?I've poked > around a bit but haven't found anything I thought would be perfect > either because of scale (I'd rather keep it to a handful of files), > complexity or just plain code ugliness. > > Any suggestions would be appreciated. > > H?l?ne Martin. > http://garfieldcs.com > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From bblais at bryant.edu Mon Sep 28 19:18:45 2009 From: bblais at bryant.edu (Brian Blais) Date: Mon, 28 Sep 2009 13:18:45 -0400 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: On Sep 27, 2009, at 19:38 , Charles Coss? wrote: > Hi, this has probably been discussed to death already, but maybe > not: The point at which fancy graphing calculators become > "necessary" (ie as in one's student career) is the point at which > the calculator should be abandoned and Python employed. Just a > thought ... delete at will ! Just a month ago, a friend of mine who homeschools her children was asking me about graphing calculators. Apparently the math curriculum she uses has a number of graphic calculator exercises. My advice was to buy a nice solar-powered scientific calculator (for $15 at Target), but to ignore the graphing calculator entirely. Her kids should do the exercises by hand, on graph paper instead. Anything that is hard enough for you to use a graphic calculator can be done much more easily with a computer. After giving her this advice (which I still stand by), I was thinking about my own experience. I was going through high school when the first graphic calculators came out, and I had one Junior and Senior year and through college. I loved to program it, and I loved the big screen where I could see and edit expressions. However, as I think about it, I can not think of a single problem where I *needed* the graphic calculator, or where it gave me more insight than I could do by hand. It was a fun toy, but not the best tool. bb -- Brian Blais bblais at bryant.edu http://web.bryant.edu/~bblais -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeff at taupro.com Mon Sep 28 21:18:43 2009 From: jeff at taupro.com (Jeff Rush) Date: Mon, 28 Sep 2009 14:18:43 -0500 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: <4AC10C13.3020904@taupro.com> Brian Blais wrote: > On Sep 27, 2009, at 19:38 , Charles Coss? wrote: > > Her kids should do the > exercises by hand, on graph paper instead. Anything that is hard enough > for you to use a graphic calculator can be done much more easily with a > computer. Agreed, > After giving her this advice (which I still stand by), I was thinking > about my own experience. I was going through high school when the first > graphic calculators came out, and I had one Junior and Senior year and > through college. I loved to program it, and I loved the big screen > where I could see and edit expressions. However, as I think about it, I > can not think of a single problem where I *needed* the graphic > calculator, or where it gave me more insight than I could do by hand. > It was a fun toy, but not the best tool. I was in school (1972) before graphing calculators were even an idea (think teletype printing terminals). In high school I hated doing the manual calculations and hand-plotting the data, so I got involved on my own in BASIC programming. It lacked the symbolic math aspects but at least got me past 'turning the crank', which teachers thought was important. But I felt it greatly distracted from the "use" of the math and understanding the big concepts. It was like requiring all programs to be written in ASM just so you're aware of the underlying architecture -- useful a few times but then adopt higher-level languages. My hobby in high school was (simple forms of) relativity and orbital mechanics due to a strong SF interest, so the first program I ever wrote was a time dilation graphing (using punctuation characters) program for trips to nearby stars. I still have it somewhere on teletype paper and punch tape. Along the way I lost interest in physics and found the computer far more interesting because it could actually do stuff that changed people's lives without a grant and committee approval. :-) -Jeff From kirby.urner at gmail.com Mon Sep 28 21:49:40 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 28 Sep 2009 12:49:40 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: 2009/9/28 Brian Blais : << trim >> > Just a month ago, a friend of mine who homeschools her children was asking > me about graphing calculators. ?Apparently the math curriculum she uses has > a number of graphic calculator exercises. ?My advice was to buy a nice > solar-powered scientific calculator (for $15 at Target), but to ignore the > graphing calculator entirely. ?Her kids should do the exercises by hand, on > graph paper instead. ?Anything that is hard enough for you to use a graphic > calculator can be done much more easily with a computer. Well, the curricula have been customized to fit what the calculator can do, with encouragement towards the more upscale models that do some graphing and CAS (fractor equations, solve integrals...). A lot of what passes for "math" in this day and age is just a glorified calculator, your tax dollars at work to promulgate a niche market of private sector interests -- think defense contracting, same diff. http://mybizmo.blogspot.com/2009/07/more-lobbying.html (lobbying in Portland) Whether it's in the best interests of the students or not depends on the region. My lobby encourages calculator crush videos as cathartic, similar to those union strikes against the Japanese automobile, back with Detroit called the shots, before USAers got used to working in state-side Toyota and Honda factories. I'm not pushing that analogy too hard though, as we're big on working with Japan in this next iteration i.e. bashing scientific calculators has nothing whatsoever to do with shying away from Japanese art colonies (animation houses etc.). http://controlroom.blogspot.com/2009/07/contraband.html (smashing calculators -- embedded Youtube) > After giving her this advice (which I still stand by), I was thinking about > my own experience. ?I was going through high school when the first graphic > calculators came out, and I had one Junior and Senior year and through > college. ?I loved to program it, and I loved the big screen where I could > see and edit expressions. ?However, as I think about it, I can not think of > a single problem where I *needed* the graphic calculator, or where it gave > me more insight than I could do by hand. ?It was a fun toy, but not the best > tool. > Here in Portland, the homeschooling mom got together a bunch of these families and hired me to teach Python at Free Geek. We had a rollicking good time and my students (quite an age span) learned a lot about mathematics, as well as programming. This was several years ago. http://4dsolutions.net/ocn/pygeom.html (write-up of Rita's class) LEP High, our progressive charter, also had me in to teach math with Python, the math teacher sitting right there at his desk, taking it all in. The experiment proved the concept that students teach each other, left to their own devices, so a lot of our work is now focused on peer teaching, cutting out the middle-man in large degree. http://controlroom.blogspot.com/2009/03/pps-to-kill-lep-high.html (re LEP High) Kirby For further reading: http://mathforum.org/kb/thread.jspa?threadID=1989542&tstart=0 > > bb > > > -- > Brian Blais > bblais at bryant.edu > http://web.bryant.edu/~bblais > > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From gregor.lingl at aon.at Mon Sep 28 22:12:09 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Mon, 28 Sep 2009 22:12:09 +0200 Subject: [Edu-sig] Beautiful sample programs? In-Reply-To: References: Message-ID: <4AC11899.5030605@aon.at> Hi H?l?ne, I'd like to point you to a suite of sample scripts that use Python's turtle module. You can find it here: http://python-turtle-demo.googlecode.com It contains a demo-viewer turtleDemo.py that lets you inspect the source code of the example scripts and execute them. So you get an overview about what is offered very easily and quickly. Moreover there are a couple of scripts that are designed to run standalone, among them a towers of hanoi animation, a gravitational system simulation and the trigeo.py script mentioned by Kirby in a previous posting. Regards, Gregor Helene Martin schrieb: > Hello, > > As some of you know, I teach high school classes in Seattle. Students > have been loving Python so far! They've been able to dive right in > and get some interesting results. > > I was wondering whether any of you had suggestions for Python programs > to look at, dissect, extend and emulate. I'm looking for something > reasonably small like a simple music player, some kind of calculator > app, a collection manager or something like that. I'd rather it be an > existing open source project someone started out of necessity (rather > than me creating something contrived for the exercise). I've poked > around a bit but haven't found anything I thought would be perfect > either because of scale (I'd rather keep it to a handful of files), > complexity or just plain code ugliness. > > Any suggestions would be appreciated. > > H?l?ne Martin. > http://garfieldcs.com > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From gregor.lingl at aon.at Mon Sep 28 22:30:45 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Mon, 28 Sep 2009 22:30:45 +0200 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: <4AC11CF5.1080305@aon.at> Brian Blais schrieb: > On Sep 27, 2009, at 19:38 , Charles Coss? wrote: > >> Hi, this has probably been discussed to death already, but maybe not: >> The point at which fancy graphing calculators become "necessary" (ie >> as in one's student career) is the point at which the calculator >> should be abandoned and Python employed. Just a thought ... delete >> at will ! > > Just a month ago, a friend of mine who homeschools her children was > asking me about graphing calculators. Apparently the math curriculum > she uses has a number of graphic calculator exercises. My advice was > to buy a nice solar-powered scientific calculator (for $15 at Target), > but to ignore the graphing calculator entirely. Her kids should do > the exercises by hand, on graph paper instead. Anything that is hard > enough for you to use a graphic calculator can be done much more > easily with a computer. > > After giving her this advice (which I still stand by), I was thinking > about my own experience. I was going through high school when the > first graphic calculators came out, and I had one Junior and Senior > year and through college. I loved to program it, and I loved the big > screen where I could see and edit expressions. However, as I think > about it, I can not think of a single problem where I *needed* the > graphic calculator, or where it gave me more insight than I could do > by hand. Hi Brian, I think I have a counterexample. Run the script, that you can find here: http://svn.python.org/view/*checkout*/python/branches/release26-maint/Demo/turtle/tdemo_chaos.py?revision=73559&content-type=text%2Fplain (or below.) Runs with Python 2.6 or later. It certainly could be mimicked on a (programmable) graphics calculator. What do you think? Regards, Gregor # File: tdemo_chaos.py # Author: Gregor Lingl # Date: 2009-06-24 # A demonstration of chaos from turtle import * N = 80 def f(x): return 3.9*x*(1-x) def g(x): return 3.9*(x-x**2) def h(x): return 3.9*x-3.9*x*x def jumpto(x, y): penup(); goto(x,y) def line(x1, y1, x2, y2): jumpto(x1, y1) pendown() goto(x2, y2) def coosys(): line(-1, 0, N+1, 0) line(0, -0.1, 0, 1.1) def plot(fun, start, colour): pencolor(colour) x = start jumpto(0, x) pendown() dot(5) for i in range(N): x=fun(x) goto(i+1,x) dot(5) def main(): reset() setworldcoordinates(-1.0,-0.1, N+1, 1.1) speed(0) hideturtle() coosys() plot(f, 0.35, "blue") plot(g, 0.35, "green") plot(h, 0.35, "red") # Now zoom in: for s in range(100): setworldcoordinates(0.5*s,-0.1, N+1, 1.1) return "Done!" if __name__ == "__main__": main() mainloop() > It was a fun toy, but not the best tool. > > > > bb > > > > -- > Brian Blais > bblais at bryant.edu > http://web.bryant.edu/~bblais > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Mon Sep 28 22:00:15 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 28 Sep 2009 13:00:15 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: << trim >> > Well, the curricula have been customized to fit what the calculator > can do, with encouragement towards the more upscale models that do > some graphing and CAS (fractor equations, solve integrals...). ?A lot > of what passes for "math" in this day and age is just a glorified > calculator, your tax dollars at work to promulgate a niche market of > private sector interests -- think defense contracting, same diff. > Meant to say glorified "calculator manual" -- a lot of textbooks actually sell themselves into the private sector by inserting many pages on how to operate this or that name brand model, a form of prostitution given this isn't free software and the school district could just as well supply no-name hand-me-down computers from other government bureaucracies (what Winterhaven PPS did before getting a $10K grant for all that Apple equipment). Winterhaven: http://www.4dsolutions.net/ocn/winterhaven/ (golden age) The Free Geek classes I let ran on Debian. No one was getting rich behind the scenes, hijacking young minds for nefarious purposes. I think students appreciate the integrity of that setup, consider most high schools little more than feeders to Burger King and those places (both for the off-campus meal, and for future employment). Kirby From kirby.urner at gmail.com Mon Sep 28 23:10:13 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 28 Sep 2009 14:10:13 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: <4AC11CF5.1080305@aon.at> Message-ID: > Hi Brian, > > I think I have a counterexample. > Run the script, that you can find here: > > http://svn.python.org/view/*checkout*/python/branches/release26-maint/Demo/turtle/tdemo_chaos.py?revision=73559&content-type=text%2Fplain > > (or below.) Runs with Python 2.6 or later. > It certainly could be mimicked on > a (programmable) graphics calculator. > This ran perfectly on Python 3.1rc1 (r31rc1:73069, May 31 2009, 08:57:10) on my WinXP box (one of a few). Note: ?if this level of chaos / noise bothers you (the functions are algebraically the same, after all), then I recommend using the decimal type instead of the floating type, converting to float just to make your turtle happy: # File: tdemo_chaos.py # Author: Gregor Lingl # amended to use Decimal by Kirby Urner 2009-09-28 # Date: 2009-06-24 # A demonstration of chaos from turtle import * from decimal import Decimal k = Decimal('3.9') N = 80 def f(x): ?x = Decimal(str(x)) ?return k*x*(1-x) def g(x): ?x = Decimal(str(x)) ?return k*(x-x**2) def h(x): ?x = Decimal(str(x)) ?return k*x-k*x*x def jumpto(x, y): ?penup(); goto(x,y) def line(x1, y1, x2, y2): ?jumpto(x1, y1) ?pendown() ?goto(x2, y2) def coosys(): ?line(-1, 0, N+1, 0) ?line(0, -0.1, 0, 1.1) def plot(fun, start, colour): ?pencolor(colour) ?x = start ?jumpto(0, x) ?pendown() ?dot(5) ?for i in range(N): ? ? ?x=fun(x) ? ? ?goto(i+1,float(x)) ? ? ?dot(5) def main(): ?reset() ?setworldcoordinates(-1.0,-0.1, N+1, 1.1) ?speed(0) ?hideturtle() ?coosys() ?plot(f, 0.35, "blue") ?plot(g, 0.35, "green") ?plot(h, 0.35, "red") ?# Now zoom in: ?for s in range(100): ? ? ?setworldcoordinates(0.5*s,-0.1, N+1, 1.1) ?return "Done!" if __name__ == "__main__": ?main() ?mainloop() Kirby From lognaturel at gmail.com Mon Sep 28 23:56:08 2009 From: lognaturel at gmail.com (Helene Martin) Date: Mon, 28 Sep 2009 14:56:08 -0700 Subject: [Edu-sig] Beautiful sample programs? In-Reply-To: <4AC11899.5030605@aon.at> References: <4AC11899.5030605@aon.at> Message-ID: Hi, Thanks for the suggestion -- I'm familiar with that project and have really enjoyed showing it off to the students. It's a really great package. What I'm looking for is more of a 'real-world' example. I know students at some point get burned out looking at and creating nifty programs for their own sake! Maybe moving onto the web is the right way to go. I want to make sure that they find Python compelling for work just a little above the scale they are comfortable with. Saying Google and Yahoo program in this language is just too big for them to really appreciate, I feel and at the same time, the programming in the small projects we get to are really cool but not entirely compelling. Does that make sense? Thanks, H?l?ne. On Mon, Sep 28, 2009 at 1:12 PM, Gregor Lingl wrote: > Hi H?l?ne, > > I'd like to point you to a suite of sample scripts > that use Python's turtle module. You can find it here: > > http://python-turtle-demo.googlecode.com > > It contains a demo-viewer turtleDemo.py that lets you > inspect the source code of the example scripts and execute them. > > So you get an overview about what is offered very easily and > quickly. > > Moreover there are a couple of scripts that are designed to run > standalone, among them a towers of hanoi animation, > a gravitational system simulation and the trigeo.py > script mentioned by Kirby in a previous posting. > > Regards, > Gregor > > > Helene Martin schrieb: >> >> Hello, >> >> As some of you know, I teach high school classes in Seattle. ?Students >> have been loving Python so far! ?They've been able to dive right in >> and get some interesting results. >> >> I was wondering whether any of you had suggestions for Python programs >> to look at, dissect, extend and emulate. ?I'm looking for something >> reasonably small like a simple music player, some kind of calculator >> app, a collection manager or something like that. ?I'd rather it be an >> existing open source project someone started out of necessity (rather >> than me creating something contrived for the exercise). ?I've poked >> around a bit but haven't found anything I thought would be perfect >> either because of scale (I'd rather keep it to a handful of files), >> complexity or just plain code ugliness. >> >> Any suggestions would be appreciated. >> >> H?l?ne Martin. >> http://garfieldcs.com >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> >> > From kirby.urner at gmail.com Mon Sep 28 23:25:55 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 28 Sep 2009 14:25:55 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: <4AC10C13.3020904@taupro.com> References: <4AC10C13.3020904@taupro.com> Message-ID: On Mon, Sep 28, 2009 at 12:18 PM, Jeff Rush wrote: << trim >> > My hobby in high school was (simple forms of) relativity and orbital > mechanics due to a strong SF interest, so the first program I ever wrote > was a time dilation graphing (using punctuation characters) program for > trips to nearby stars. ?I still have it somewhere on teletype paper and > punch tape. ?Along the way I lost interest in physics and found the > computer far more interesting because it could actually do stuff that > changed people's lives without a grant and committee approval. :-) > > -Jeff Speaking of orbital mechanics, this module depending on Visual Python and Python 2.x (x >= 5) uses various complex number techniques to move balls in circles, including a moon around a planet. The sun appears to get bigger and smaller as the default VPython view strives to adjust the frame automatically, which in this case causes some auto-zooming. There's a setting for this, part of the tweakable scaffolding. http://www.4dsolutions.net/ocn/python/orbits.py Of course this teaches about complex numbers, not about gravity wells so much. However, in the animation business, such short cuts are sometimes acceptable as its the special effect you're after, not trying to write a simulator or physics engine per se (don't that we don't have those too in some settings). Kirby """ By Kirby Urner, 4D Solutions, Portland, Oregon (copyleft) 2006 Last revised by the original author: 14 Nov 2006 (added Moon class) Complex numbers provide machinery for rotating in the XY plane, where the Y axis is "imaginary", the X axis "real". When two complex numbers multiply, their magnitudes are multiplied (think of vectors) while their angles get added. By keeping the magnitudes = 1, we focus on the angles. A scale factor applied afterwards can change the radius of the orbit. Or we may use the fact that e**(theta*complex(0,1)) takes us around in a circle. This 2nd technique shows up in a Planet class, easiest for having multiple balls, each with its own radius, color, increment, size of orbit. Since visual is expecting three floating points (x,y,z) for position, we use c.real and c.imag to break c into two floating point numbers for plotting purposes. """ import cmath import math from visual import * def orbit1(): """ multiply clock hand by a one degree incrementer """ m = complex(1,0) # vector pointing to 3 o'clock angle = math.radians(1.0) # normalized to unit radius (clock diameter = 2) onedegree = complex(cos(angle), sin(angle)) theball = sphere(pos = (m.real, m.imag), radius = 0.1, color = color.red ) while True: m = m * onedegree # multiplying causes rotation theball.pos = (m.real, m.imag) rate(100) def orbit2(): """ use e**(theta * i) to get coordinates of rotating ball cmath.exp handles a complex number """ onedegree = math.radians(1.0) i = complex(0,1) angle = 0 theball = sphere(pos = (1,0,0), radius = 0.1, color = color.green ) while True: angle += onedegree coords = cmath.exp(angle * i) theball.pos = (coords.real, coords.imag) rate(50) class Planet (object): # subclassing object gives a 'new style' class """ Orbit around (0,0,0) by increment (degrees) per each move invocation """ def __init__(self, distance=1.0, radius=0.1, increment=1, color = color.red): self.pos = (1.0, 0.0, 0.0) self.distance = distance self.radius = radius self.color = color self.theball = sphere(pos = self.pos, radius = self.radius, color = self.color) self.increment = math.radians(increment) self.angle = 0 def move(self): self.angle = self.angle + self.increment coords = cmath.exp(self.angle * complex(0,1)) self.coords = (coords.real * self.distance, coords.imag * self.distance) self.theball.pos = (self.coords[0], self.coords[1]) class Moon(Planet): """ Orbit around planet (1st argument) by increment (degrees) per each move invocation """ def __init__(self, planet, distance=1.0, radius=0.1, increment=1, color = color.red): super(Moon,self).__init__(distance, radius, increment, color) self.planet = planet def move(self): self.angle = self.angle + self.increment coords = cmath.exp(self.angle * complex(0,1)) self.coords = (coords.real * self.distance + self.planet.coords[0], coords.imag * self.distance + self.planet.coords[1]) self.theball.pos = (self.coords[0], self.coords[1]) def solarsystem(): sun = Planet(distance = 0, radius = 0.8, color = color.yellow) p1 = Planet(distance=6.0, radius=0.3, increment=0.5, color = color.green) p2 = Planet(distance=4.0, radius=0.1, increment=1.0, color = color.red) m1 = Moon(p1, distance = 1.0, radius = 0.1, increment = 3.0, color = color.cyan) while True: p1.move() p2.move() m1.move() rate(50) > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From gregor.lingl at aon.at Tue Sep 29 00:12:51 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Tue, 29 Sep 2009 00:12:51 +0200 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: <4AC11CF5.1080305@aon.at> Message-ID: <4AC134E3.8040608@aon.at> kirby urner schrieb: >> Hi Brian, >> >> .... > This ran perfectly on Python 3.1rc1 (r31rc1:73069, May 31 2009, > 08:57:10) on my WinXP box (one of a few). > > Note: if this level of chaos / noise bothers you (the functions are > algebraically the same, after all), then I recommend using the decimal > type instead of the floating type, converting to float just to make > your turtle happy: > That's fine (for the turtle). But if someone thinks that everything is calculated "correctly" now, she/he is bound to get disappointed. And that's the point (imho). Regards, Gregor # Author: Gregor Lingl # amended to use Decimal by Kirby Urner 2009-09-28 # re-corrupted to show the vainness (in principle) of kirby's effort 2009-09-28 # Date: 2009-06-24 # A demonstration of chaos from turtle import * from decimal import Decimal k = Decimal('3.9') N = 160 def f(x): x = Decimal(str(x)) return k*x*(1-x) def g(x): x = Decimal(str(x)) return k*(x-x**2) def h(x): x = Decimal(str(x)) return k*x-k*x*x def jumpto(x, y): penup(); goto(x,y) def line(x1, y1, x2, y2): jumpto(x1, y1) pendown() goto(x2, y2) def coosys(): line(-1, 0, N+1, 0) line(0, -0.1, 0, 1.1) def plot(fun, start, colour): pencolor(colour) x = start jumpto(0, x) pendown() dot(5) for i in range(N): x=fun(x) goto(i+1,float(x)) dot(5) def main(): reset() setworldcoordinates(-1.0,-0.1, N+1, 1.1) speed(0) hideturtle() coosys() plot(f, 0.35, "blue") plot(g, 0.35, "green") plot(h, 0.35, "red") # Now zoom in: for s in range(220): setworldcoordinates(0.5*s,-0.1, N+1, 1.1) return "Done!" if __name__ == "__main__": main() mainloop() From kirby.urner at gmail.com Tue Sep 29 00:33:09 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 28 Sep 2009 15:33:09 -0700 Subject: [Edu-sig] Beautiful sample programs? In-Reply-To: References: <4AC11899.5030605@aon.at> Message-ID: On Mon, Sep 28, 2009 at 2:56 PM, Helene Martin wrote: > Hi, > > Thanks for the suggestion -- I'm familiar with that project and have > really enjoyed showing it off to the students. ?It's a really great > package. > > What I'm looking for is more of a 'real-world' example. ?I know > students at some point get burned out looking at and creating nifty > programs for their own sake! ?Maybe moving onto the web is the right > way to go. ?I want to make sure that they find Python compelling for > work just a little above the scale they are comfortable with. ?Saying > Google and Yahoo program in this language is just too big for them to > really appreciate, I feel and at the same time, the programming in the > small projects we get to are really cool but not entirely compelling. > Does that make sense? > > Thanks, > > H?l?ne. > Some high schools will have that school server where you save recordings of theatrical performances, sporting events and so on. An understanding of TCP/IP via 'Warriors of the Net' (an on-line movie) would be a good beginning, followed by an analysis of the httpRequest / httpResponse ecology. This stuff is dry and abstruse, but really quite fun if accompanied by a real "musical instrument" such as the Python shell, which makes it a breeze to play around. http://www.warriorsofthe.net/ (loud sound, turn down speakers if using any?) Install the GeoPy module maybe? I posted some stuff about that recently. http://aspn.activestate.com/ASPN/Mail/Message/edu-sig/3750815 There's also the rich data structure approach, i.e. get the kinds of academic information they're already expected to know, e.g. familiarity with Periodic Table is part of standard chemistry curriculum, so have a Python dictionary about that? Getting SunTzu chatting with Eliza (two bots available in Python 3rd party) is something I've been wanting to try. http://nltk.googlecode.com/svn/trunk/doc/api/nltk.chat.suntsu-module.html http://nltk.googlecode.com/svn/trunk/doc/api/nltk.chat.eliza-module.html http://mybizmo.blogspot.com/2009/01/ppug-2009113.html (user group notes) If you get some stellar performers, think of contacting Vern Ceder (via this list even), as he's tasked with bringing new talent to the attention of the Python Software Foundation and wider community at Pycon 2010 in Atlanta. http://mail.python.org/pipermail/edu-sig/2009-August/009454.html A "science fair" type poster could be shared in the exhibitor hall, even if the proud author of said poster was too young to attend in person (one of the planned for contingencies). We've already mailed some pointers around, including in this archive as I recall. If you want real world, maybe return to that high school server idea and start yakking up Django? You don't need to develop a full installation to play with the modules, just import them in a shell and use them for scaffolding. For example, there's an "orderered dictionary" subclass used throughout the product, implemented in Python (not C). Here's a chance for a source code hound to really learn some chops, and yes, it's used by newspaper people with deadlines to meet (hard to get more real -- tell them Clark Kent knows Django, Cloe too (Smallville allusions, they'll know what you mean)). Kirby PS: this seemed interesting, reminded me of Maria B's mathfuture (Math 2.0) resources, Python included: http://myreckonings.com/wordpress/2009/07/31/creating-nomograms-with-the-pynomo-software/ From kirby.urner at gmail.com Tue Sep 29 01:03:13 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 28 Sep 2009 16:03:13 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: <4AC134E3.8040608@aon.at> References: <4AC11CF5.1080305@aon.at> <4AC134E3.8040608@aon.at> Message-ID: On Mon, Sep 28, 2009 at 3:12 PM, Gregor Lingl wrote: > > > kirby urner schrieb: >>> >>> Hi Brian, >>> >>> .... >> >> This ran perfectly on Python 3.1rc1 (r31rc1:73069, May 31 2009, >> 08:57:10) on my WinXP box (one of a few). >> >> Note: ?if this level of chaos / noise bothers you (the functions are >> algebraically the same, after all), then I recommend using the decimal >> type instead of the floating type, converting to float just to make >> your turtle happy: >> > > That's fine (for the turtle). But if someone thinks that everything is > calculated > "correctly" now, she/he is bound to get disappointed. And that's the point > (imho). > Yes, it's a philosophical point. Doing it manually would be error prone so the "correct" way is more science fiction or fantasy than a reality. The older ways of teaching math set up some false expectations, and then when reality fails to make good, reality gets blamed, instead of the broken metaphysics behind much of "modern" math. Kirby > Regards, > Gregor > > > # Author: Gregor Lingl > # amended to use Decimal by Kirby Urner 2009-09-28 > # re-corrupted to show the vainness (in principle) of kirby's effort > 2009-09-28 > # Date: 2009-06-24 > > # A demonstration of chaos > > from turtle import * > from decimal import Decimal > > k = Decimal('3.9') > > N = 160 > > def f(x): > x = Decimal(str(x)) > return k*x*(1-x) > > def g(x): > x = Decimal(str(x)) > return k*(x-x**2) > > def h(x): > x = Decimal(str(x)) > return k*x-k*x*x > > def jumpto(x, y): > penup(); goto(x,y) > > def line(x1, y1, x2, y2): > jumpto(x1, y1) > pendown() > goto(x2, y2) > > def coosys(): > line(-1, 0, N+1, 0) > line(0, -0.1, 0, 1.1) > > def plot(fun, start, colour): > pencolor(colour) > x = start > jumpto(0, x) > pendown() > dot(5) > for i in range(N): > ? ?x=fun(x) > ? ?goto(i+1,float(x)) > ? ?dot(5) > > def main(): > reset() > setworldcoordinates(-1.0,-0.1, N+1, 1.1) > speed(0) > hideturtle() > coosys() > plot(f, 0.35, "blue") > plot(g, 0.35, "green") > plot(h, 0.35, "red") > # Now zoom in: > for s in range(220): > ? ?setworldcoordinates(0.5*s,-0.1, N+1, 1.1) > return "Done!" > > if __name__ == "__main__": > main() > mainloop() > > From kirby.urner at gmail.com Tue Sep 29 01:23:32 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 28 Sep 2009 16:23:32 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: <4AC11CF5.1080305@aon.at> <4AC134E3.8040608@aon.at> Message-ID: On Mon, Sep 28, 2009 at 4:03 PM, kirby urner wrote: > On Mon, Sep 28, 2009 at 3:12 PM, Gregor Lingl wrote: >> >> >> kirby urner schrieb: >>>> >>>> Hi Brian, >>>> >>>> .... >>> >>> This ran perfectly on Python 3.1rc1 (r31rc1:73069, May 31 2009, >>> 08:57:10) on my WinXP box (one of a few). >>> >>> Note: ?if this level of chaos / noise bothers you (the functions are >>> algebraically the same, after all), then I recommend using the decimal >>> type instead of the floating type, converting to float just to make >>> your turtle happy: >>> >> >> That's fine (for the turtle). But if someone thinks that everything is >> calculated >> "correctly" now, she/he is bound to get disappointed. And that's the point >> (imho). >> > > Yes, it's a philosophical point. ?Doing it manually would be error > prone so the "correct" way is more science fiction or fantasy than a > reality. > > The older ways of teaching math set up some false expectations, and > then when reality fails to make good, reality gets blamed, instead of > the broken metaphysics behind much of "modern" math. > > Kirby > >> Regards, >> Gregor >> >> >> # Author: Gregor Lingl >> # amended to use Decimal by Kirby Urner 2009-09-28 >> # re-corrupted to show the vainness (in principle) of kirby's effort # fixed to show robustness of engineering solutions vs. imaginary superpowers of non-existent math gods >> 2009-09-28 >> # Date: 2009-06-24 >> >> # A demonstration of chaos >> >> from turtle import * >> from decimal import Decimal >> from turtle import * from decimal import Decimal, getcontext getcontext().prec = 50 :) Kirby From ccosse at gmail.com Mon Sep 28 19:34:55 2009 From: ccosse at gmail.com (=?ISO-8859-1?Q?Charles_Coss=E9?=) Date: Mon, 28 Sep 2009 11:34:55 -0600 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: Yup, similar experience here. And graphing calculators have now been promoted to the point where their importance is probably no longer questioned ... which is too bad ... There are many ways to graph python-generated computer data. I have dabbled with many, but for various reasons I continue to use the best one I've ever found: NPLOT. If you haven't heard of NPLOT it would not surprise me. NPLOT is a Fermilab product, developed about 12 year ago. It is written in C. It is a beautiful thing and allows interactive, dynamic exploration of multi-column (aka "ntuple") data in many different representations. You can download nplot from ftp://ftp.fnal.gov. It only runs on Linux. If you are a teacher using Linux and Python then you might very well love what NPLOT can do. At the heart of it are some very powerful graphing widgets. Your python program just needs to write tab-separated columns of data and NPLOT will read it no problem. If anyone tries this and needs help, feel free to contact me ... I've used this product extensively for years. Lots of sample code I could provide. Anyway, Python + Nplot = GreatAlternativeToGraphingCalculator. -Charles 2009/9/28 Brian Blais > On Sep 27, 2009, at 19:38 , Charles Coss? wrote: > > Hi, this has probably been discussed to death already, but maybe not: The > point at which fancy graphing calculators become "necessary" (ie as in one's > student career) is the point at which the calculator should be abandoned and > Python employed. Just a thought ... delete at will ! > > > Just a month ago, a friend of mine who homeschools her children was asking > me about graphing calculators. Apparently the math curriculum she uses has > a number of graphic calculator exercises. My advice was to buy a nice > solar-powered scientific calculator (for $15 at Target), but to ignore the > graphing calculator entirely. Her kids should do the exercises by hand, on > graph paper instead. Anything that is hard enough for you to use a graphic > calculator can be done much more easily with a computer. > > After giving her this advice (which I still stand by), I was thinking about > my own experience. I was going through high school when the first graphic > calculators came out, and I had one Junior and Senior year and through > college. I loved to program it, and I loved the big screen where I could > see and edit expressions. However, as I think about it, I can not think of > a single problem where I *needed* the graphic calculator, or where it gave > me more insight than I could do by hand. It was a fun toy, but not the best > tool. > > > > bb > > > > -- > Brian Blais > bblais at bryant.edu > http://web.bryant.edu/~bblais > > > > -- AsymptopiaSoftware|Software at theLimit http://www.asymptopia.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Tue Sep 29 04:20:46 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 28 Sep 2009 19:20:46 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: There's this option too, some others: http://matplotlib.sourceforge.net/ Then Sage actually has 3D stuff too e.g.: sage.plot.plot3d.platonic.cube(center=(0, 0, 0), size=1, color=None, frame_thickness=0, frame_color=None, **kwds) to render a 3D cube centered at the origin with default side lengths 1 (how very retro Cartesian eh?). As a vendor of curriculum products (including workshops, other gigs) I'm up front about my suspicion of calculators, not the technology so much as the curricula built around them. Lazy and complacent are the two words that come to mind. Not something you'd wish on your own children. Kirby 2009/9/28 Charles Coss? : > Yup, similar experience here.? And graphing calculators have now been > promoted to the point where their importance is probably no longer > questioned ... which is too bad ... > > There are many ways to graph python-generated computer data.? I have dabbled > with many, but for various reasons I continue to use the best one I've ever > found: NPLOT.? If you haven't heard of NPLOT it would not surprise me. > NPLOT is a Fermilab product, developed about 12 year ago.? It is written in > C.? It is a beautiful thing and allows interactive, dynamic exploration of > multi-column (aka "ntuple") data in many different representations. > > You can download nplot from ftp://ftp.fnal.gov.? It only runs on Linux.? If > you are a teacher using Linux and Python then you might very well love what > NPLOT can do.? At the heart of it are some very powerful graphing widgets. > Your python program just needs to write tab-separated columns of data and > NPLOT will read it no problem.? If anyone tries this and needs help, feel > free to contact me ... I've used this product extensively for years.? Lots > of sample code I could provide. > > Anyway, Python + Nplot = GreatAlternativeToGraphingCalculator. > > -Charles > > > > > 2009/9/28 Brian Blais >> >> On Sep 27, 2009, at 19:38 , Charles Coss? wrote: >> >> Hi, this has probably been discussed to death already, but maybe not: The >> point at which fancy graphing calculators become "necessary" (ie as in one's >> student career) is the point at which the calculator should be abandoned and >> Python employed.? Just a thought ... delete at will ! >> >> Just a month ago, a friend of mine who homeschools her children was asking >> me about graphing calculators. ?Apparently the math curriculum she uses has >> a number of graphic calculator exercises. ?My advice was to buy a nice >> solar-powered scientific calculator (for $15 at Target), but to ignore the >> graphing calculator entirely. ?Her kids should do the exercises by hand, on >> graph paper instead. ?Anything that is hard enough for you to use a graphic >> calculator can be done much more easily with a computer. >> After giving her this advice (which I still stand by), I was thinking >> about my own experience. ?I was going through high school when the first >> graphic calculators came out, and I had one Junior and Senior year and >> through college. ?I loved to program it, and I loved the big screen where I >> could see and edit expressions. ?However, as I think about it, I can not >> think of a single problem where I *needed* the graphic calculator, or where >> it gave me more insight than I could do by hand. ?It was a fun toy, but not >> the best tool. >> >> >> bb >> >> >> -- >> Brian Blais >> bblais at bryant.edu >> http://web.bryant.edu/~bblais >> >> > > > > -- > AsymptopiaSoftware|Software at theLimit > ? ? ? ? ?http://www.asymptopia.org > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From echerlin at gmail.com Tue Sep 29 07:57:27 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Mon, 28 Sep 2009 22:57:27 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: Message-ID: On Mon, Sep 28, 2009 at 12:49 PM, kirby urner wrote: > 2009/9/28 Brian Blais : > > << trim >> > >> Just a month ago, a friend of mine who homeschools her children was asking >> me about graphing calculators. ?Apparently the math curriculum she uses has >> a number of graphic calculator exercises. ?My advice was to buy a nice >> solar-powered scientific calculator (for $15 at Target), but to ignore the >> graphing calculator entirely. ?Her kids should do the exercises by hand, on >> graph paper instead. ?Anything that is hard enough for you to use a graphic >> calculator can be done much more easily with a computer. > > Well, the curricula have been customized to fit what the calculator > can do, with encouragement towards the more upscale models that do > some graphing and CAS (fractor equations, solve integrals...). ?A lot > of what passes for "math" in this day and age is just a glorified > calculator, your tax dollars at work to promulgate a niche market of > private sector interests -- think defense contracting, same diff. We need to promote Free Software for CAS/graphing and more. Maxima, Euler, Mathomatic...If anybody wants, I can provide a detailed, annotated list. Also NumPy and SciPy for doing it yourself. > http://mybizmo.blogspot.com/2009/07/more-lobbying.html ?(lobbying in Portland) > > Whether it's in the best interests of the students or not depends on > the region. ?My lobby encourages calculator crush videos as cathartic, > similar to those union strikes against the Japanese automobile, back > with Detroit called the shots, before USAers got used to working in > state-side Toyota and Honda factories. ?I'm not pushing that analogy > too hard though, as we're big on working with Japan in this next > iteration i.e. bashing scientific calculators has nothing whatsoever > to do with shying away from Japanese art colonies (animation houses > etc.). > > http://controlroom.blogspot.com/2009/07/contraband.html ?(smashing > calculators -- embedded Youtube) I'm more into smashing voting machines. Open Voting Consortium has GPLed its software, so it is available to run school elections, and also to learn how to do real security. http://www.youtube.com/watch?v=HgSuOaULi5g http://www.youtube.com/watch?v=mZqGz9wJrIQ >> After giving her this advice (which I still stand by), I was thinking about >> my own experience. ?I was going through high school when the first graphic >> calculators came out, and I had one Junior and Senior year and through >> college. ?I loved to program it, and I loved the big screen where I could >> see and edit expressions. ?However, as I think about it, I can not think of >> a single problem where I *needed* the graphic calculator, or where it gave >> me more insight than I could do by hand. ?It was a fun toy, but not the best >> tool. To me, the question is what a calculator or computer program contributes at the next level. After you learn a chunk of algebra or calculus, including hand solving, I want students to have the calculator or computer. for applications of algebra and calculus in science and engineering. I want students to learn probability and statistics and then be able to crunch 150 years of baseball statistics or all of the polls for the next election. See the book Money Ball for a real-world application of baseball statistics, where much of the point is that the public tends to focus on showy stats, not on those that win games. Learning to tell the difference would go a long way toward improving public dialog about everything. See fivethirtyeight.com for "Politics Done Right". > Here in Portland, the homeschooling mom got together a bunch of these > families and hired me to teach Python at Free Geek. ?We had a > rollicking good time and my students (quite an age span) learned a lot > about mathematics, as well as programming. ?This was several years > ago. > > http://4dsolutions.net/ocn/pygeom.html ?(write-up of Rita's class) +1 > LEP High, our progressive charter, also had me in to teach math with > Python, the math teacher sitting right there at his desk, taking it > all in. ?The experiment proved the concept that students teach each > other, left to their own devices, so a lot of our work is now focused > on peer teaching, cutting out the middle-man in large degree. > > http://controlroom.blogspot.com/2009/03/pps-to-kill-lep-high.html ?(re LEP High) +1 > Kirby > > For further reading: > http://mathforum.org/kb/thread.jspa?threadID=1989542&tstart=0 > >> >> bb >> >> >> -- >> Brian Blais >> bblais at bryant.edu >> http://web.bryant.edu/~bblais >> >> >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> >> > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Edward Mokurai (??/???????????????/????????????? ?) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://earthtreasury.org/ From gregor.lingl at aon.at Tue Sep 29 18:15:53 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Tue, 29 Sep 2009 18:15:53 +0200 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: <4AC11CF5.1080305@aon.at> <4AC134E3.8040608@aon.at> Message-ID: <4AC232B9.902@aon.at> kirby urner schrieb: > On Mon, Sep 28, 2009 at 4:03 PM, kirby urner wrote: > >> On Mon, Sep 28, 2009 at 3:12 PM, Gregor Lingl wrote: >> >>> ... >>> That's fine (for the turtle). But if someone thinks that everything is >>> calculated >>> "correctly" now, she/he is bound to get disappointed. And that's the point >>> (imho). >>> >>> >> Yes, it's a philosophical point. Doing it manually would be error >> prone so the "correct" way is more science fiction or fantasy than a >> reality. >> >> The older ways of teaching math set up some false expectations, and >> then when reality fails to make good, reality gets blamed, instead of >> the broken metaphysics behind much of "modern" math. >> >> Kirby >> >> >>> Regards, >>> Gregor >>> >>> >>> # Author: Gregor Lingl >>> # amended to use Decimal by Kirby Urner 2009-09-28 >>> # re-corrupted to show the vainness (in principle) of kirby's effort >>> > # fixed to show robustness of engineering solutions vs. imaginary > superpowers of non-existent math gods > >>> 2009-09-28 >>> # Date: 2009-06-24 >>> >>> # A demonstration of chaos >>> >>> from turtle import * >>> from decimal import Decimal >>> >>> > > from turtle import * > from decimal import Decimal, getcontext > getcontext().prec = 50 > > :) > > Kirby > > Strategy of escalation? Arms race? from turtle import * from decimal import Decimal, getcontext getcontext().prec = 50 k = Decimal('3.9') N = 250 That's what I meant with (in principle) Gregor From kirby.urner at gmail.com Tue Sep 29 19:01:18 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 29 Sep 2009 10:01:18 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: <4AC232B9.902@aon.at> References: <4AC11CF5.1080305@aon.at> <4AC134E3.8040608@aon.at> <4AC232B9.902@aon.at> Message-ID: On Tue, Sep 29, 2009 at 9:15 AM, Gregor Lingl wrote: > > > Strategy of escalation? Arms race? > Not so much. There's nothing on the other side. Will anyone do this manually? Is that what "correctly" means? More likely they mean something like "symbolically" which is akin to "just imagining something without really doing any of the work" (so no contest, I walk away happy). The ability to brute force these data points with a self-feedback circuit governed by various expressions, is for computers and computers only. Humans by themselves aren't even in the game. At the very least you'll want an abacus, or lowly calculator if you're a nerd (snicker). > from turtle import * > from decimal import Decimal, getcontext > getcontext().prec = 50 > > k = Decimal('3.9') > > N = 250 > > That's what I meant with (in principle) > > Gregor > Yes, I understood. But what's the principle? In my curriculum, we worship nature and physical phenomena a lot more, so this imaginary thing where you imagine the same curves out to infinity, but don't actually plot anything, who worthless is that? To think, people actually get paid for such daydreaming. Amazing. Kirby From gregor.lingl at aon.at Wed Sep 30 02:58:47 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Wed, 30 Sep 2009 02:58:47 +0200 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: <4AC11CF5.1080305@aon.at> <4AC134E3.8040608@aon.at> <4AC232B9.902@aon.at> Message-ID: <4AC2AD47.3090907@aon.at> kirby urner schrieb: > On Tue, Sep 29, 2009 at 9:15 AM, Gregor Lingl wrote: > >> Strategy of escalation? Arms race? >> >> > > Not so much. There's nothing on the other side. Will anyone do this > manually? Is that what "correctly" means? More likely they mean > something like "symbolically" which is akin to "just imagining > something without really doing any of the work" (so no contest, I walk > away happy). > > The ability to brute force these data points with a self-feedback > circuit governed by various expressions, is for computers and > computers only. Humans by themselves aren't even in the game. At the > very least you'll want an abacus, or lowly calculator if you're a nerd > (snicker). > Oh no, when thinking about calculations or even only viewing diverging graphs humans not only are in the game but are still its main characters. Since say 5000 years humans have devoloped the concepts of numbers, calculations and algebra. They have discovered, that calculations obey certain algebraic laws like a*(b+c) = a*b + a*c and the like. Finally they have devoloped the concepts of algebraic structures like rings, fields etc. The purpose of my script simply is to show, that what we know as real numbers are different things (entities) than what we have invented (using nature an physical phenomena) as machine numbers. These two simply obey different sets of algebraic laws. The distributive law is not valid for machine numbers with the operations + and *. And this statement is true independent from the setting for getcontext().prec. (Floating point) machine numbers with + and * do not form a field. To describe their behaviour you have to devise different algebraic structures. This is not a gewgaw! In fact my intentions are much less ambituous. I'd be very glad if even 50 % of my students accepted seriously that the squareroot of two does not equal to 1.41421356237. They do not, regardless of the fact that they are able to multiply this number with itself by hand (!) and to recognize that the result does not equal 2. >> from turtle import * >> from decimal import Decimal, getcontext >> getcontext().prec = 50 >> >> k = Decimal('3.9') >> >> N = 250 >> >> That's what I meant with (in principle) >> >> Gregor >> >> > > Yes, I understood. But what's the principle? > > In my curriculum, we worship nature and physical phenomena a lot more, > Usually, e. g. when explaining the butterfly effect (does one use this term in English?), on argues that long-term forecasting the future is impossible because of necessary inaccuracies of the initial values as results of measuements. But look precisely: in the example we talk about, there are no measurements, which can be inaccurate and the initial values are well defined. It's the mathematics of machine numbers which generates - after a sequence of only a few hundred arithmetic operations - results, which are completely senseless (or lack any meaning). If you don't mind, ok. But you have to admit it. That is not the case with ordinary numbers. > so this imaginary thing where you imagine the same curves out to > infinity, but don't actually plot anything, who worthless is that? A very dangerous argument, in my opinion. Many (if not most) mathematicians agree with the statement that one of the most central concepts of mathematics - and the one concept which makes mathematics interesting - is the concept of infinity. If not one had to abandon a large part of classical mathematics. > To think, people actually get paid for such daydreaming. Amazing. > Now I stared at this sentence for about 10 Minutes but I can't figure out what you wanted to express exactly with this phrase. Don't know if it is my limited knowledge of the English language, my lack of getting the irony or simply my inability to accept the point of view of the modern geometrician, who anly accepts as real what he can visualize. Gregor > Kirby > > From kirby.urner at gmail.com Wed Sep 30 05:13:47 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 29 Sep 2009 20:13:47 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: <4AC2AD47.3090907@aon.at> References: <4AC11CF5.1080305@aon.at> <4AC134E3.8040608@aon.at> <4AC232B9.902@aon.at> <4AC2AD47.3090907@aon.at> Message-ID: On Tue, Sep 29, 2009 at 5:58 PM, Gregor Lingl wrote: >> The ability to brute force these data points with a self-feedback >> circuit governed by various expressions, is for computers and >> computers only. ?Humans by themselves aren't even in the game. ?At the >> very least you'll want an abacus, or lowly calculator if you're a nerd >> (snicker). >> > > Oh no, when thinking about calculations or even only viewing diverging > graphs humans not only are in the game but are still its main characters. > Yes, in terms of being the architects of computers and the programming languages that control them, humans are still the stars. Mandelbrot made his original discoveries at IBM, with what were more like primitive X-rays in terms of being low resolution, like having only a float type, not a real decimal type. Of course Fractint found a way to convert these chaos chains into integers, thereby taking advantage of algorithms pioneered for this type. Were I to teach fractals in the classroom, I'd want to use the Decimal type. I'm unclear if this would mean needing to build a new complex type (independent of the built-in), with decimals for both real and imaginary parts. This would be an interesting exercise (lots of __ribs__). > Since say 5000 years humans have devoloped the concepts of numbers, > calculations and > algebra. They have discovered, that calculations obey certain algebraic laws > like > a*(b+c) = a*b + a*c and the like. Finally they have devoloped the concepts > of > algebraic structures like rings, fields etc. > Yes, these have been interesting discoveries and remain highly relevant in the workaday world. The idea of closure makes perfect sense in this world of types (Python is a typed language). Is a * b always going to yield a type the same as a,b? (assuming a,b were of the same type to begin with). If polynomials are the type, then a*b is a polynomial, as is a+b. Not a/b though. Polynomials form a ring, not a field. > The purpose of my script simply is to show, that ?what we know as real > numbers are > different things ?(entities) than what we have invented (using nature an > physical phenomena) > as machine numbers. These two simply obey different sets of algebraic laws. > The distributive > law is not valid for machine numbers with the operations + and *. And this > statement is true > independent from the setting for getcontext().prec. > (Floating point) machine numbers with + and * do not form a field. To > describe their > behaviour you have to devise different algebraic structures. > I might put it differently. Real numbers are somewhat speculative and are imagined to run through all these algebraic feedback circuits to give identical results. The reals have never been implemented however, are more of an "abstract class" from which we inherit methods. The subclasses are responsible for doing the actual work. No one has ever used a real number in a real calculation. They've used what some call "approximate types" which makes sense if you think of reals as ideal i.e. we've decided "perfect" inheres in something which has no existence. The flip side of the coin is: if it doesn't exist, it's less perfect. > This is not a gewgaw! > > In fact my intentions are much less ambituous. I'd be very glad if even 50 % > of my > students accepted seriously that the squareroot of two does not equal to > 1.41421356237. > They do not, regardless of the fact that they are able to multiply this > number with itself > by hand (!) and to recognize that ?the result ?does not equal 2. My model of most antiquated education regimes is as follows: brow beat the kids when they're still young and undefended, easy to bully, weed out those that question authority too much, keeping those who obey. The newer models (since constructivism) get more philosophy in early and train kids to vigorously debate and question, on the theory that older people are always a source of obsolete ideas that must be filtered, as well as positive ideas worth perpetuating. Deference simply on the basis of age is a recipe for disaster in any civilization. Learn to question authority, as a survival skill. As a tip to teachers, I advise against defensiveness on behalf of some supposed monolith or cathedral i.e. lets think of "maths" in the plural, as they do in the UK. If some school of thought wants to pioneer a contrarian discourse that's not completely supportive of the last 100 years or more, so what? We celebrate consistency and coherency, not uniformity. Could we develop a geometry which does not depend on the metaphysics of real numbers, continuity, infinity? Or still have infinity, but make it more like Poincare's, a direction (like a time axis). Recall I'm Wittgenstein-trained so have a penchant for not abiding by orthodoxies. Poincare realized the solar system was chaotic long before the rank and file. Kirby >>> >>> from turtle import * >>> from decimal import Decimal, getcontext >>> getcontext().prec = 50 >>> >>> k = Decimal('3.9') >>> >>> N = 250 >>> >>> That's what I meant with (in principle) >>> >>> Gregor From echerlin at gmail.com Wed Sep 30 10:39:11 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Wed, 30 Sep 2009 01:39:11 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: <4AC134E3.8040608@aon.at> <4AC232B9.902@aon.at> <4AC2AD47.3090907@aon.at> Message-ID: On Tue, Sep 29, 2009 at 8:13 PM, kirby urner wrote: >> Since say 5000 years humans have devoloped the concepts of numbers, >> calculations and >> algebra. They have discovered, that calculations obey certain algebraic laws >> like >> a*(b+c) = a*b + a*c and the like. Finally they have devoloped the concepts >> of >> algebraic structures like rings, fields etc. >> > > Yes, these have been interesting discoveries and remain highly > relevant in the workaday world. ?The idea of closure makes perfect > sense in this world of types (Python is a typed language). ?Is a * b > always going to yield a type the same as a,b? (assuming a,b were of > the same type to begin with). ?If polynomials are the type, then a*b > is a polynomial, as is a+b. ?Not a/b though. ?Polynomials form a ring, > not a field. You can take quotients of polynomials if you adjoin one point at infinity to either the real or complex field. But you're right, it isn't quite a field. > My model of most antiquated education regimes is as follows: ?brow > beat the kids when they're still young and undefended, easy to bully, > weed out those that question authority too much, keeping those who > obey. > > The newer models (since constructivism) get more philosophy in early > and train kids to vigorously debate and question, on the theory that > older people are always a source of obsolete ideas that must be > filtered, as well as positive ideas worth perpetuating. ?Deference > simply on the basis of age is a recipe for disaster in any > civilization. ?Learn to question authority, as a survival skill. Even in math. Peano "proved" that all models of the natural numbers are isomorphic, but it turns out that you can't carry out that proof in any countably axiomatizable system. This opens the door to non-standard arithmetic and analysis. Conway found a non-standard arithmetic that extends to games of perfect information. We aren't done with this idea. > As a tip to teachers, I advise against defensiveness on behalf of some > supposed monolith or cathedral i.e. lets think of "maths" in the > plural, as they do in the UK. > > If some school of thought wants to pioneer a contrarian discourse > that's not completely supportive of the last 100 years or more, so > what? ?We celebrate consistency and coherency, not uniformity. > > Could we develop a geometry which does not depend on the metaphysics > of real numbers, continuity, infinity? ?Or still have infinity, but > make it more like Poincare's, a direction (like a time axis). There are vast realms of such geometries, going back to projective geometries over finite fields and the like, and to general topology. Lie groups (including the one-point compactification of the complex plane) and Lie algebras. Banach spaces. Measure theory. Spaces of fractal dimension. Minkowski space. Differential geometry of Einsteinian spacetime. Non-commutative geometries in quantum mechanics (von Neumann algebras over Hilbert space). Many more. > Recall > I'm Wittgenstein-trained so have a penchant for not abiding by > orthodoxies. Likewise, but I trace it back earlier, to the Pythagorean who discovered that 2^0.5 is irrational, to Socrates, and to Shakayamuni Buddha. > Poincare realized the solar system was chaotic long > before the rank and file. Peano, Hausdorff, Julia, Koch, and many others were also playing with fractals starting more than a century ago. > 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://earthtreasury.org/ From bblais at bryant.edu Wed Sep 30 12:04:35 2009 From: bblais at bryant.edu (Brian Blais) Date: Wed, 30 Sep 2009 06:04:35 -0400 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: <4AC11CF5.1080305@aon.at> References: <4AC11CF5.1080305@aon.at> Message-ID: On Sep 28, 2009, at 16:30 , Gregor Lingl wrote: > > > Brian Blais schrieb: >> However, as I think >> about it, I can not think of a single problem where I *needed* the >> graphic calculator, or where it gave me more insight than I could do >> by hand. > I think I have a counterexample. > Run the script, that you can find here: > > http://svn.python.org/view/*checkout*/python/branches/release26- > maint/Demo/turtle/tdemo_chaos.py?revision=73559&content-type=text% > 2Fplain > > What do you think? > good example, I do I remember programming this on my calculator in high school (and feeling very proud of myself for it. :) ). I exaggerated a little bit in my claim, but I would only modify it to the extent that once problems (like this one) get to a certain level of complexity, the graphic calculator becomes more of a hinderance, and that a quick computer program is far more useful and insightful. This is what I had told my home school friends: there's little point in learning a graphing calculator. Understand as much as you can by hand, and when that becomes intractable, learn to do some plotting on the computer. This just reminded me of a small program I wrote around the same time, to show how the surface area of an animal doesn't scale as quickly as the volume, and causes problems for very large animals. When I had finished it (and saw numerically the ratio was linear) I kicked myself for not just writing the equations down in the first place. When it comes to building intuition with programs, I have a recent blog post: http://bblais.blogspot.com/2009/09/probability-problems-and- simulation.html addressing one question (the Monty Hall problem) where I feel a program is worth a thousand equations, at least for building intuition. bb -- Brian Blais bblais at bryant.edu http://web.bryant.edu/~bblais -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Wed Sep 30 19:04:50 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 30 Sep 2009 10:04:50 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: <4AC134E3.8040608@aon.at> <4AC232B9.902@aon.at> <4AC2AD47.3090907@aon.at> Message-ID: On Wed, Sep 30, 2009 at 1:39 AM, Edward Cherlin wrote: << trim >> >> Yes, these have been interesting discoveries and remain highly >> relevant in the workaday world. ?The idea of closure makes perfect >> sense in this world of types (Python is a typed language). ?Is a * b >> always going to yield a type the same as a,b? (assuming a,b were of >> the same type to begin with). ?If polynomials are the type, then a*b >> is a polynomial, as is a+b. ?Not a/b though. ?Polynomials form a ring, >> not a field. > > You can take quotients of polynomials if you adjoin one point at > infinity to either the real or complex field. But you're right, it > isn't quite a field. The definition of "polynomial" is quite narrow and the rational expressions one gets with p/q, p,q both polynomials, need not simplify to something worthy of that brand name. Many bastard children if you wanna sound neo-Victorian about it (not saying I do). It's really not a big trauma if you need to shift types. Early Pythons had a closure model for integer division such that int / int always had an int answer -- a kind of pure algebra preserved with //. Nowadays we're used to the 3.x standard wherein int/int is more like a ring, where you "fall out" of the integer type simply for taking a multiplicative inverse of any |integer| except 1 (0 raises an exception). << trim >> >> Could we develop a geometry which does not depend on the metaphysics >> of real numbers, continuity, infinity? ?Or still have infinity, but >> make it more like Poincare's, a direction (like a time axis). > > There are vast realms of such geometries, going back to projective > geometries over finite fields and the like, and to general topology. > Lie groups (including the one-point compactification of the complex > plane) and Lie algebras. Banach spaces. Measure theory. Spaces of > fractal dimension. Minkowski space. Differential geometry of > Einsteinian spacetime. Non-commutative geometries in quantum mechanics > (von Neumann algebras over Hilbert space). Many more. A feature we're looking for is "accessible to grade schoolers" i.e. we don't want you already out the other end of some lengthy pipeline wherein brainwashing has already occurred. I understand that some elite schools get into jiggering with the fifth postulate (Euclid's) even pre-college, however I'm more interested in following the lead of Karl Menger (dimension theorist) and messing with the "dimension" concept. This discussion fuels debate in the high schools, with strong players on both sides. Not waiting for any fool PhD to get in the ring and sound intelligent about a non-Euclidean geometry (is more the attitude we encourage, among people as young as 15). > >> Recall >> I'm Wittgenstein-trained so have a penchant for not abiding by >> orthodoxies. > > Likewise, but I trace it back earlier, to the Pythagorean who > discovered that 2^0.5 is irrational, to Socrates, and to Shakayamuni > Buddha. > Yeah, these dudes were born earlier in time, I agree. Resolved: "Irrational numbers are of course morally superior to the rationals as all the best constants (e, phi, pi) are irrational, even transcendental if we're lucky." Pro, con or stand aside? Come prepared next Tuesday. >> Poincare realized the solar system was chaotic long >> before the rank and file. > > Peano, Hausdorff, Julia, Koch, and many others were also playing with > fractals starting more than a century ago. > >> Kirby Or you could say Phi (golden mean) is the Phirst Phractal (certainly the recursivity is there in the algebra). Kirby Urner ?????? ??ss > > -- > Edward Mokurai (??/???????????????/????????????? ?) Cherlin > Silent Thunder is my name, and Children are my nation. > The Cosmos is my dwelling place, the Truth my destination. > http://earthtreasury.org/ > From g.akmayeva at ciceducation.org Wed Sep 30 23:38:51 2009 From: g.akmayeva at ciceducation.org (Galyna Akmayeva) Date: Wed, 30 Sep 2009 23:38:51 +0200 (CEST) Subject: [Edu-sig] CICE-2010: Call for Papers Message-ID: <675717176.219081.1254346731831.JavaMail.open-xchange@oxltgw16.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? For further information please visit CICE-2010 at www.ciceducation.org -------------- next part -------------- An HTML attachment was scrubbed... URL: