From kirby.urner at gmail.com Sat May 9 02:05:44 2015 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 8 May 2015 17:05:44 -0700 Subject: [Edu-sig] Python News from My Corner Message-ID: The USDLA conference in St. Louis was a blast. That city has made some bold moves to save itself from decay post End of the Passenger Train Era (we still have Amtrak but 99% of traffic is by air). The conference was in the old Union Station, taken over by a hotel chain known for its conference savvy. Speaking of which Steve Holden is holding a great space in Austin over Labor Day if anyone is looking for a professional venue. High schoolers go to a Nexus Academy, free public school in Michigan, and get to sign up for classes like the one I teach, for high school math credit, in Python. Way cool. Just what I was hoping would happen. We're OK with taking high schoolers and the credit comes from the home state, not from us (we're a dot com, not a dot edu). The closing keynote was sobering, about how the unaccredited like Coursera and EdX are chewing away at the profit margins enjoyed by the monopolistic accredited, more in my blogs. O'Reilly School is one of the "bad guys" in muscling in on college and university turf and offering stronger content in many cases. The predictions for distance learning were good, but not for many colleges and universities if they don't understand the market. I think Earlham College understands. I spent a few days there talking to faculty while in the mid-west. They're doing more and more with Python. The opening keynote was right on! Save a ton of money using Creative Commons licensed curriculum materials. Chances are, it's out there, especially if its content that hasn't changed in some years. Have you looked at Wikieducator? I've been on that for a long time and watched it grow. Take the money you save and invest it in more worth- while projects, including helping students! The speaker had been with the Obama administration before joining Creative Commons and clearly knew what he was talking about. Regarding Python IDEs, do they let you change the prompt? I like a single dot indented two spaces e.g. instead of ">>> ", I sometimes use " . " and not just because I liked dBase / FoxPro. Some mail clients make a big deal out of ">>> " thinking to change font color and all that, whereas a simple dot goes under the radar. So far, PyCharm is one of those that does NOT allow this level of customization, at least not according to the company rep I talked to recently. It is my IDE of choice for most work. Speaking of work, I've been designing a RESTful API for my Quakers (Pacific Northwest region) using Django running inside Heroku. This tutorial is very clear although I had to downgrade the version of Foreman to make it work on my OSX Lion: https://mail.python.org/mailman/listinfo If you're not on psf-members you probably don't know the election of PSF Board members was rescheduled owing to a last minute nominee not making it to the ballot. The election administrator resigned over the fact that the Board was not allowed to meet before his control of the eVoter was taken away in an unceremonious / haphazard way. PSF is still not as professional is it might be someday. We're using the interim between elections to encourage the candidates to make speeches, but because they're all behind closed doors, no one out in the public sphere gets to know what these people are about. Yet the offices are arguably public: the 501(c)(3) is like a church. But then churches get really culty and ingrown. I'm pushing to have candidates enjoy a more public airing of their campaigns. psf-volunteers might be the right forum? Any existing list with a public archive would do. edu-sig even. I'd say create a new mail list (I've been saying that) but then look what happened to diversity-sig: it got created precisely for the purpose of making sure no one could post to it. I'm afraid that will be the fate of psf-community, suggested by Laura and others. We also have a new Cuba Working Group mail list aiming to jump start Pycon / Cuba. Mertz is the owner. I'm just one of many subscribers. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurner at oreillyschool.com Sat May 9 19:31:58 2015 From: kurner at oreillyschool.com (Kirby Urner) Date: Sat, 9 May 2015 10:31:58 -0700 Subject: [Edu-sig] Python News from My Corner In-Reply-To: References: Message-ID: > > >> > Oops, that was the wrong URL in my copy buffer. > > Meant to say: > https://devcenter.heroku.com/articles/getting-started-with-python#introduction (sheesh) Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Sat May 9 19:42:56 2015 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 9 May 2015 10:42:56 -0700 Subject: [Edu-sig] Python News from My Corner In-Reply-To: References: Message-ID: > > > We also have a new Cuba Working Group mail list > aiming to jump start Pycon / Cuba. Mertz is the owner. > I'm just one of many subscribers. > > Kirby > > https://mail.python.org/mailman/listinfo/python-cuba Some of you will be aware of: http://pyfound.blogspot.com/2015/04/pycon-2018-2019-in-havana-cuba.html People who fell for the joke realized they really did want to visit Cuba for a Pycon sometime. We can run any number of Pycons in parallel e.g. Havana and Portland could do a "live link" or something. If Pycons only ran serially, it'd be more of an issue. PyOhio and such suggest PyCuba might actually be a moniker. Once it happens once it will likely keep happening. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurner at oreillyschool.com Sat May 9 19:30:59 2015 From: kurner at oreillyschool.com (Kirby Urner) Date: Sat, 9 May 2015 10:30:59 -0700 Subject: [Edu-sig] Python News from My Corner In-Reply-To: References: Message-ID: > > > Speaking of work, I've been designing a RESTful API > for my Quakers (Pacific Northwest region) using > Django running inside Heroku. This tutorial is very > clear although I had to downgrade the version of > Foreman to make it work on my OSX Lion: > > https://mail.python.org/mailman/listinfo > Oops, that was the wrong URL in my copy buffer. Meant to say: Also, the API I was talking about: https://www.flickr.com/photos/kirbyurner/17390343052/in/album-72157649301627162/ Just a listing of people where you have four regions and a list of meetings inside each region e.g. Multnomah Meeting (mult) is inside Willamette Valley Quarter (wqm). So http://ds.npym.org/wqm/mult would get an alpha list of people. For people with non-Latin-1 spellings of Full Name, I'm suggesting making up initials at least for Last and First so ORDER BY last, first is our only collation. E.g. if you're U Thant in Burmese, than try Thant as Last Name, U as First. https://www.flickr.com/photos/kirbyurner/17347213022/in/album-72157649301627162/ i18n is an interest of mine, coming from hospital / medical. Patients are more at ease when the hospital administration has a way of registering their actual names in their native language, somewhere on that blinking color monitor showing vitals or whatever. Insisting on Roman Alphabet Only is too fascist for any world class hospital that wants paying patients from China for example. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon May 11 15:54:05 2015 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 11 May 2015 06:54:05 -0700 Subject: [Edu-sig] teaching computer science: what language? Message-ID: People will read my subject heading and think I'm asking "what computer language?" but I'm actually asking what world human languages should be used to share computer science -- or should they need to be in world languages at all? What's wrong with comp sci in Visayan, spoken by millions in the Philippines. http://en.wikipedia.org/wiki/Visayan_languages Some people are of the opinion that since English has come so far as a world language, that computer science should simply be taught in English. That's fine for English speakers, but isn't going to fly with Chinese, so we need some better ideas than that. I'd say any human language is up to embracing STEM, starting from where it is. Obviously extending a human language means inventing namespaces, just like we do in Python. We've been doing it for many thousands of years, to keep up with our own tools just for starters. The devil is in the details. How should we teach Python in multiple languages. Maybe we should expect more multi-lingual texts and examples e.g. regular expressions with Cyrillic should be as common as rain even in a book mostly in English. The point is: if all you use in Latin-1 in your examples, you're hardly showing much Unicode fluency. Python teaching meets LEX Institute I guess (an old theme here on edu-sig). Here's some more on that topic: http://mathforum.org/kb/message.jspa?messageID=9769308 (about the overhead in memorization incurred by having to learn a whole other vocabulary). As I posted earlier this month, I think hospitals are under the gun to at least get patient names in their native script on computer monitors. That brings up issues of collation / alphabetization across languages. I ask basic questions about that here: https://mail.python.org/pipermail/i18n-sig/2015-May/002131.html Insights / feedback / comments welcome. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From ccosse at gmail.com Mon May 11 16:58:28 2015 From: ccosse at gmail.com (=?UTF-8?Q?Charles_Coss=C3=A9?=) Date: Mon, 11 May 2015 08:58:28 -0600 Subject: [Edu-sig] teaching computer science: what language? In-Reply-To: References: Message-ID: Hi, I think that the Python language has always prided itself on the fact that it reads like clear English. Perhaps could even say that "good Python" corresponds somewhat to "good English". Just my .02 ... -Charles On Mon, May 11, 2015 at 7:54 AM, kirby urner wrote: > > People will read my subject heading and > think I'm asking "what computer language?" > but I'm actually asking what world human > languages should be used to share computer > science -- or should they need to be in world > languages at all? What's wrong with comp > sci in Visayan, spoken by millions in the > Philippines. > > http://en.wikipedia.org/wiki/Visayan_languages > > Some people are of the opinion that since > English has come so far as a world language, > that computer science should simply be taught > in English. > > That's fine for English speakers, but isn't going > to fly with Chinese, so we need some better > ideas than that. I'd say any human language > is up to embracing STEM, starting from where > it is. Obviously extending a human language > means inventing namespaces, just like we > do in Python. We've been doing it for many > thousands of years, to keep up with our own > tools just for starters. > > The devil is in the details. How should we teach > Python in multiple languages. Maybe we should > expect more multi-lingual texts and examples > e.g. regular expressions with Cyrillic should be > as common as rain even in a book mostly in > English. The point is: if all you use in Latin-1 > in your examples, you're hardly showing much > Unicode fluency. Python teaching meets > LEX Institute I guess (an old theme here on > edu-sig). > > Here's some more on that topic: > http://mathforum.org/kb/message.jspa?messageID=9769308 > (about the overhead in memorization incurred > by having to learn a whole other vocabulary). > > As I posted earlier this month, I think hospitals > are under the gun to at least get patient names > in their native script on computer monitors. > > That brings up issues of collation / alphabetization > across languages. > > I ask basic questions about that here: > > https://mail.python.org/pipermail/i18n-sig/2015-May/002131.html > > Insights / feedback / comments welcome. > > Kirby > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon May 11 18:05:40 2015 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 11 May 2015 09:05:40 -0700 Subject: [Edu-sig] teaching computer science: what language? In-Reply-To: References: Message-ID: On Mon, May 11, 2015 at 7:58 AM, Charles Coss? wrote: > Hi, > I think that the Python language has always prided itself on the fact that > it reads like clear English. Perhaps could even say that "good Python" > corresponds somewhat to "good English". Just my .02 ... > -Charles > I think you're right. Python does read like clear English. But if all your class, function and object names are in Portuguese, then Python reads like a clear hybrid, of English and Portuguese. I favor keeping Standard Library in English but for author names, as Guido does. Beyond that, I favor Indonesians writing their Python scripts in Indonesian if they want to, and want no "talking down" from fluent high horse English speakers who think "open source" means they have an entitlement to understand it in the English language. If someone does a translation maybe. In general I don't think English merits special privileges. Like isn't a lot of the best CUDA stuff in Russian these days? http://habrahabr.ru/post/48798/ I've been using Cyrillic in my Python, in part because the mathematics I use is interesting to Russians, more so every day. https://mail.python.org/pipermail/edu-sig/2014-May/011026.html Kirby > > On Mon, May 11, 2015 at 7:54 AM, kirby urner > wrote: > >> >> People will read my subject heading and >> think I'm asking "what computer language?" >> but I'm actually asking what world human >> languages should be used to share computer >> science -- or should they need to be in world >> languages at all? What's wrong with comp >> sci in Visayan, spoken by millions in the >> Philippines. >> >> http://en.wikipedia.org/wiki/Visayan_languages >> >> Some people are of the opinion that since >> English has come so far as a world language, >> that computer science should simply be taught >> in English. >> >> That's fine for English speakers, but isn't going >> to fly with Chinese, so we need some better >> ideas than that. I'd say any human language >> is up to embracing STEM, starting from where >> it is. Obviously extending a human language >> means inventing namespaces, just like we >> do in Python. We've been doing it for many >> thousands of years, to keep up with our own >> tools just for starters. >> >> The devil is in the details. How should we teach >> Python in multiple languages. Maybe we should >> expect more multi-lingual texts and examples >> e.g. regular expressions with Cyrillic should be >> as common as rain even in a book mostly in >> English. The point is: if all you use in Latin-1 >> in your examples, you're hardly showing much >> Unicode fluency. Python teaching meets >> LEX Institute I guess (an old theme here on >> edu-sig). >> >> Here's some more on that topic: >> http://mathforum.org/kb/message.jspa?messageID=9769308 >> (about the overhead in memorization incurred >> by having to learn a whole other vocabulary). >> >> As I posted earlier this month, I think hospitals >> are under the gun to at least get patient names >> in their native script on computer monitors. >> >> That brings up issues of collation / alphabetization >> across languages. >> >> I ask basic questions about that here: >> >> https://mail.python.org/pipermail/i18n-sig/2015-May/002131.html >> >> Insights / feedback / comments welcome. >> >> Kirby >> >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> https://mail.python.org/mailman/listinfo/edu-sig >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark.engelberg at gmail.com Tue May 12 03:08:14 2015 From: mark.engelberg at gmail.com (Mark Engelberg) Date: Mon, 11 May 2015 18:08:14 -0700 Subject: [Edu-sig] teaching computer science: what language? In-Reply-To: References: Message-ID: There was a talk about this at the Clojure/West conference: https://www.youtube.com/watch?v=MqjMZNwnYCY&index=19&list=PLZdCLR02grLrKAOj8FJ1GGmNM5l7Okz0a Aside from just the technical challenge of needing a language that lends itself to renaming the core primitives, there's the fundamental challenge that coming up with good names for core functions is hard in any language. Naming the control constructs is also has. For example, how do you write the two-part "if/then" in a language that uses "if" but not "then" for conditionals? Also there are a lot of stylistic questions that come up with other languages that don't occur in English because English is more grammatically fuzzy than most, and that sort of works well for programming. For example, when a variable is passed as an argument to a function, it should presumably be in objective case, but in the body of the function it should be nominative case. Should functions use an imperative tense if the language has one? What if it is being used as an input to a higher-order function, is it a verb, a noun, or an object in such a situation? In languages that have different forms for the different parts of speech, this becomes a tricky issue, and there's no established body of code that I know of in which these stylistic issues have been decided. On Mon, May 11, 2015 at 6:54 AM, kirby urner wrote: > > People will read my subject heading and > think I'm asking "what computer language?" > but I'm actually asking what world human > languages should be used to share computer > science -- or should they need to be in world > languages at all? What's wrong with comp > sci in Visayan, spoken by millions in the > Philippines. > > http://en.wikipedia.org/wiki/Visayan_languages > > Some people are of the opinion that since > English has come so far as a world language, > that computer science should simply be taught > in English. > > That's fine for English speakers, but isn't going > to fly with Chinese, so we need some better > ideas than that. I'd say any human language > is up to embracing STEM, starting from where > it is. Obviously extending a human language > means inventing namespaces, just like we > do in Python. We've been doing it for many > thousands of years, to keep up with our own > tools just for starters. > > The devil is in the details. How should we teach > Python in multiple languages. Maybe we should > expect more multi-lingual texts and examples > e.g. regular expressions with Cyrillic should be > as common as rain even in a book mostly in > English. The point is: if all you use in Latin-1 > in your examples, you're hardly showing much > Unicode fluency. Python teaching meets > LEX Institute I guess (an old theme here on > edu-sig). > > Here's some more on that topic: > http://mathforum.org/kb/message.jspa?messageID=9769308 > (about the overhead in memorization incurred > by having to learn a whole other vocabulary). > > As I posted earlier this month, I think hospitals > are under the gun to at least get patient names > in their native script on computer monitors. > > That brings up issues of collation / alphabetization > across languages. > > I ask basic questions about that here: > > https://mail.python.org/pipermail/i18n-sig/2015-May/002131.html > > Insights / feedback / comments welcome. > > Kirby > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jurgis.pralgauskis at gmail.com Tue May 12 03:15:38 2015 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Tue, 12 May 2015 04:15:38 +0300 Subject: [Edu-sig] Python interactive learning resources Message-ID: Hello, engaging in interactive tasks is better, than just giving tutorials/examples. There are quite a few such tools/courses, but not many mentioned in https://www.python.org/community/sigs/current/edu-sig/ Maybe there should be section for that (who could update?): - http://CodeCombat.com -- very attractive and step-by-step intro (FLOSS) - http://reeborg.ca/ -- simple, nice and flexible (FLOSS) - http://CodeCademy.org -- intro overview with practice - http://CScircles.cemc.uwaterloo.ca/ -- intro overview with practice, and consulting (FLOSS) - http://PythonTutor.com - http://CodinGame.com -- attractive, school level algorithms(search and so) - https://www.hackerrank.com/ -- quite advanced algorithms (uni level) Other nice stuff, which isn't feedback based learning, but helps to present Python http://trinket.io/python ps.: this list is comparatively inactive What active py-edu communities do you know? For example, sth atively developed here https://github.com/CodeClub -- Jurgis Pralgauskis tel: 8-616 77613; Don't worry, be happy and make things better ;) http://galvosukykla.lt -------------- next part -------------- An HTML attachment was scrubbed... URL: From blakeelias at gmail.com Tue May 12 03:52:07 2015 From: blakeelias at gmail.com (Blake) Date: Mon, 11 May 2015 21:52:07 -0400 Subject: [Edu-sig] teaching computer science: what language? In-Reply-To: References: Message-ID: I was thinking about this along similar lines that Mark was. I think the best language to program in depends on what programming paradigm you're using. Or perhaps, people who speak different human languages prefer different programming paradigms. I'll explain. English is a Subject-Verb-Object language (as in, "Sam eats oranges"), whereas Verb-Subject-Object languages would write/say that same sentence as "Eats Sam oranges". If you're using object-oriented style, then you might write Sam.eat(oranges), in which case you're using Subject-Verb-Object like English. 42% of world languages are SVO, including English, Esperanto, and many others. So it's no wonder that Americans were largely the ones to develop object-oriented programming ( http://en.wikipedia.org/wiki/Object-oriented_programming#History) But when we write function calls, we put the verb first in the sentence - as in, "eat(Sam, oranges)" <--> "Eat Sam oranges". If you're writing function calls like that, you could say the best human languages to pick from are the verb-first languages (Verb-Subject-Object [VSO] or Verb-Object-Subject [VOS] languages), because their grammar best matches the pre-fix notation that function calls do. You can also flip the arguments to the function call, eat(oranges, Sam), which turns it into a VOS sentence. Functions are often (always?) verbs, so function calls are perhaps best understood in verb-first languages. Only 12% of world languages are verb-first, according to Wikipedia . The next case is Subject-Object-Verb -- "Sam oranges eats." What programming construct would represent that? Sam.oranges.eat() ? Not sure - you could write a program where that works, but it assumes that all "objects" in the grammatical sense (like oranges) belong to the subject (Sam) as a member variable, where both the grammatical subject and object are objects in the programming sense. And it assumes that all verbs are methods on the objects (in both the grammatical and programming senses) that they act on -- oranges.eat() instead of eat(oranges). I guess you could do this too -- seems convoluted to me, but maybe that way makes more sense to a Chinese or Russian speaker. 45% of world languages are SOV. I can't think of any programming construct when you'd arrange the sentence with the object first (as done in Object-Subject-Verb or Object-Verb-Subject languages). That would be something like oranges(Sam).eat() or oranges.eat(Sam) to represent the sentence "Sam eats oranges". Though you could of course implement your program in a way to make either of those work, the intended meaning doesn't jump out at me from either of those method calls. Equally well, because only 1% of world languages are object-first (OSV or OVS). Blake Elias Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology Class of 2016 blakeelias.com On Mon, May 11, 2015 at 9:08 PM, Mark Engelberg wrote: > There was a talk about this at the Clojure/West conference: > > https://www.youtube.com/watch?v=MqjMZNwnYCY&index=19&list=PLZdCLR02grLrKAOj8FJ1GGmNM5l7Okz0a > > Aside from just the technical challenge of needing a language that lends > itself to renaming the core primitives, there's the fundamental challenge > that coming up with good names for core functions is hard in any language. > Naming the control constructs is also has. For example, how do you write > the two-part "if/then" in a language that uses "if" but not "then" for > conditionals? Also there are a lot of stylistic questions that come up > with other languages that don't occur in English because English is more > grammatically fuzzy than most, and that sort of works well for > programming. For example, when a variable is passed as an argument to a > function, it should presumably be in objective case, but in the body of the > function it should be nominative case. Should functions use an imperative > tense if the language has one? What if it is being used as an input to a > higher-order function, is it a verb, a noun, or an object in such a > situation? In languages that have different forms for the different parts > of speech, this becomes a tricky issue, and there's no established body of > code that I know of in which these stylistic issues have been decided. > > On Mon, May 11, 2015 at 6:54 AM, kirby urner > wrote: > >> >> People will read my subject heading and >> think I'm asking "what computer language?" >> but I'm actually asking what world human >> languages should be used to share computer >> science -- or should they need to be in world >> languages at all? What's wrong with comp >> sci in Visayan, spoken by millions in the >> Philippines. >> >> http://en.wikipedia.org/wiki/Visayan_languages >> >> Some people are of the opinion that since >> English has come so far as a world language, >> that computer science should simply be taught >> in English. >> >> That's fine for English speakers, but isn't going >> to fly with Chinese, so we need some better >> ideas than that. I'd say any human language >> is up to embracing STEM, starting from where >> it is. Obviously extending a human language >> means inventing namespaces, just like we >> do in Python. We've been doing it for many >> thousands of years, to keep up with our own >> tools just for starters. >> >> The devil is in the details. How should we teach >> Python in multiple languages. Maybe we should >> expect more multi-lingual texts and examples >> e.g. regular expressions with Cyrillic should be >> as common as rain even in a book mostly in >> English. The point is: if all you use in Latin-1 >> in your examples, you're hardly showing much >> Unicode fluency. Python teaching meets >> LEX Institute I guess (an old theme here on >> edu-sig). >> >> Here's some more on that topic: >> http://mathforum.org/kb/message.jspa?messageID=9769308 >> (about the overhead in memorization incurred >> by having to learn a whole other vocabulary). >> >> As I posted earlier this month, I think hospitals >> are under the gun to at least get patient names >> in their native script on computer monitors. >> >> That brings up issues of collation / alphabetization >> across languages. >> >> I ask basic questions about that here: >> >> https://mail.python.org/pipermail/i18n-sig/2015-May/002131.html >> >> Insights / feedback / comments welcome. >> >> Kirby >> >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> https://mail.python.org/mailman/listinfo/edu-sig >> >> > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Tue May 12 03:53:32 2015 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 11 May 2015 18:53:32 -0700 Subject: [Edu-sig] teaching computer science: what language? In-Reply-To: References: Message-ID: On Mon, May 11, 2015 at 6:08 PM, Mark Engelberg wrote: > There was a talk about this at the Clojure/West conference: > > https://www.youtube.com/watch?v=MqjMZNwnYCY&index=19&list=PLZdCLR02grLrKAOj8FJ1GGmNM5l7Okz0a > > Aside from just the technical challenge of needing a language that lends > itself to renaming the core primitives, there's the fundamental challenge > that coming up with good names for core functions is hard in any language. > Naming the control constructs is also has. > Yes, however what I'm proposing as a plank in my platform (as if running for PSF Board, but I'm not) is: *Don't* mess with the core words and in fact Python sets a wide swath of Roman alphabet English in Standard Library (concentric circles). I'm more talking 3rd Party curriculum and modules / packages. There's still too much assumption that Computer Science requires learning English as a 2nd language. No, just learn enough English to master Python and you'll be fine. > For example, how do you write the two-part "if/then" in a language that > uses "if" but not "then" for conditionals? Also there are a lot of > stylistic questions that come up with other languages that don't occur in > English because English is more grammatically fuzzy than most, and that > sort of works well for programming. For example, when a variable is passed > as an argument to a function, it should presumably be in objective case, > but in the body of the function it should be nominative case. Should > functions use an imperative tense if the language has one? What if it is > being used as an input to a higher-order function, is it a verb, a noun, or > an object in such a situation? In languages that have different forms for > the different parts of speech, this becomes a tricky issue, and there's no > established body of code that I know of in which these stylistic issues > have been decided. > As far as Python goes, I'm suggesting it's beautiful as is and we don't even need to change print( ). The 33 keywords: keep them as is, no problemo. The language is already accepting of Unicode names for classes, functions and other names. I'm just taking the not so controversial position that we should encourage further use of this capability. That's all. Nothing major. The technical issues are largely solved. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From macquigg at ece.arizona.edu Tue May 12 05:14:52 2015 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Mon, 11 May 2015 20:14:52 -0700 Subject: [Edu-sig] teaching computer science: what language? In-Reply-To: References: Message-ID: I like the principle that computer languages should be as free as possible from the ambiguities and confusions in a human language. I remember seeing an article in Datamation, in the late 70's I think it was, mocking the unfriendliness of Unix with a cover story showing birds, monkeys, and other creatures saying words like "awk", "grep", and "cat", instead of "search" and "print". It struck me that the author had completely missed the point of picking non-English keywords. Had the developers of Unix chosen more common English words, there would now be dozens of variations on all the basic functions, all with slightly different meanings, just like real English. I like Python, not because it is styled like my native language English, but because it is simple. On Mon, May 11, 2015 at 6:54 AM, kirby urner wrote: > > People will read my subject heading and > think I'm asking "what computer language?" > but I'm actually asking what world human > languages should be used to share computer > science -- or should they need to be in world > languages at all? What's wrong with comp > sci in Visayan, spoken by millions in the > Philippines. > > http://en.wikipedia.org/wiki/Visayan_languages > > Some people are of the opinion that since > English has come so far as a world language, > that computer science should simply be taught > in English. > > That's fine for English speakers, but isn't going > to fly with Chinese, so we need some better > ideas than that. I'd say any human language > is up to embracing STEM, starting from where > it is. Obviously extending a human language > means inventing namespaces, just like we > do in Python. We've been doing it for many > thousands of years, to keep up with our own > tools just for starters. > > The devil is in the details. How should we teach > Python in multiple languages. Maybe we should > expect more multi-lingual texts and examples > e.g. regular expressions with Cyrillic should be > as common as rain even in a book mostly in > English. The point is: if all you use in Latin-1 > in your examples, you're hardly showing much > Unicode fluency. Python teaching meets > LEX Institute I guess (an old theme here on > edu-sig). > > Here's some more on that topic: > http://mathforum.org/kb/message.jspa?messageID=9769308 > (about the overhead in memorization incurred > by having to learn a whole other vocabulary). > > As I posted earlier this month, I think hospitals > are under the gun to at least get patient names > in their native script on computer monitors. > > That brings up issues of collation / alphabetization > across languages. > > I ask basic questions about that here: > > https://mail.python.org/pipermail/i18n-sig/2015-May/002131.html > > Insights / feedback / comments welcome. > > Kirby > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > https://mail.python.org/mailman/listinfo/edu-sig > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Thu May 14 19:12:10 2015 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 14 May 2015 10:12:10 -0700 Subject: [Edu-sig] Using Grammar with OO Message-ID: As long time readers here may recall, I'm a fan of the J language, a derivative / spin-off of APL by Iverson, and indeed the late Iverson, son Eric and Roger Hui, developed a cool ASCII-friendly version of what APL was working to be. In the help documentation, the grammatical concepts of noun, verb, adverb and more, get used to introduce the grammar of J. That seems effective and I've been using something like this with OO (not Python-specific): noun.adjective = value noun.verb( ) That may already appear in some textbooks as it's pretty intuitive. If you know Python, and if you're learning English as a second language, say, this helps with the meanings of even the English variety of these things e.g. what does "verb" mean, if I'm new to English grammar? Adjectives are like properties (attributes) with methods (verbs) the behaviors. And yes, adjectives are also like nouns in being objects in their own right (everything is a thing in Python) -- but we're off to a good start at least. Kirby http://en.wikipedia.org/wiki/Roger_Hui http://www.jsoftware.com/help/dictionary/dict2.htm -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Thu May 14 20:32:30 2015 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 14 May 2015 11:32:30 -0700 Subject: [Edu-sig] Using Grammar with OO In-Reply-To: References: Message-ID: > In the help documentation, the grammatical > concepts of noun, verb, adverb and more, get used > to introduce the grammar of J. That seems effective > and I've been using something like this with OO > (not Python-specific): > > noun.adjective = value > noun.verb( ) > Continuing with this theme, I also find it important to draw attention to the ( ) after the verb, given Python lets you mention noun.verb by name without calling it, an important distinction when writing callbacks. "The grammar of __call__" we could call it, following the practice of underlining the partly-J-inspired grammatical approach in the help docs. Here, the primitive association of "emoticon mouth" :-() <-- i.e. "mouth sideways" with "callable mouth" () e.g. __call__(), is important. To say something is "callable" is to say it "has a mouth" (in principle, even if it needs no arguments, either positional or keyword). That's the signature of a verb( ) -- which is any callable, not just "functions". The types themselves are callables e.g. enumerate, and range. "Has a mouth" is a concept like "has a face" i.e. it translates somewhat universally across human languages. None of the Python keywords have mouths i.e. keywords are not callables. When print went from being a keyword in Python 2.x to a function in Python 3.x, it only then became a callable. Beginner Python coders are apt to think of return or perhaps if, as callables: if(True): return(True) they will say, as they're thinking of if and return as callables (a mistake). The thing is, the syntax is still legal because return x return (x) return ((x)) return (((x))) ... all mean the same thing. The same confusions arise with print. print(3) works until you come to python(3, 4, sep="") with a Python 2.x interpreter: that's when the exception gets raised. Not until a keyword argument is mentioned. So just saying "return has no mouth" and/or "print has a mouth now, in newer Pythons" may be the better mnemonic to use. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From jurgis.pralgauskis at gmail.com Thu May 14 23:46:31 2015 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Fri, 15 May 2015 00:46:31 +0300 Subject: [Edu-sig] =?utf-8?q?Fwd=3A_=C5=BDaidim=C5=B3_programavimo_kursai_?= =?utf-8?q?moksleiviams_su_Python?= In-Reply-To: References: Message-ID: Taigi, u?siregistravo 500+ susidom?jusi? Python programavimu moksleivi?!.. Jei kas nor?t? pad?t juos pakonsultuot ar kurt bendruomen? -- duokit ?n.. :) http://codeintro.popo.lt/2015/05/14/vaikai-nori-programuoti-padekit/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From mamckenna at sch.ci.lexington.ma.us Fri May 15 12:00:24 2015 From: mamckenna at sch.ci.lexington.ma.us (Marianne McKenna) Date: Fri, 15 May 2015 06:00:24 -0400 Subject: [Edu-sig] Edu-sig Digest, Vol 142, Issue 6 Message-ID: I am away from the office - returning on Monday- May 18th. I will try to respond by email. If you need immediate help, please contact tech support. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurner at oreillyschool.com Sat May 16 06:28:34 2015 From: kurner at oreillyschool.com (Kirby Urner) Date: Fri, 15 May 2015 21:28:34 -0700 Subject: [Edu-sig] Pythonic Notes: comments versus docstrings, other topics In-Reply-To: References: Message-ID: > The help on __doc__ belongs in the same section > as help on __name__ and even __file__ as these > are likewise attributes at the module level, which > is where our course series first mentions > docstrings (Lesson 1, Project 1 is already docstring > aware). [1] > > Footnotes [1] these on-line courses to which I refer are by Steve Holden, a former Chairman of Python Software Foundation, worked a lot in the conference business to breath life into Pycon, DjangoCon, ApacheCon, GosCon and a few others. We have URLs to the text in the public sphere but work with StackOverFlow and others to keep the homework (quizzes and projects) student-facing only, so that they get the experience of working directly with a mentor, one on one, no robo-grading, no grading at all, just a gradient, a learning curve. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kurner at oreillyschool.com Sat May 16 06:24:52 2015 From: kurner at oreillyschool.com (Kirby Urner) Date: Fri, 15 May 2015 21:24:52 -0700 Subject: [Edu-sig] Pythonic Notes: comments versus docstrings, other topics Message-ID: *TEACHER TO TEACHER: PYTHONIC NOTES* *1. Docstrings Versus Comments* In teaching Python quite a bit, I find even pro programmers get confused about docstrings, as many languages have nothing quite like them. Your audience is not readers of your source code, which they may not have, but users of your API. Through help( ), they discover how to use your module or package. A bad habit with some students that is best dealt with in Beginner Python, is using multi-line string blobs, randomly placed, in place of comments using #. My understanding is this bloats the .pyc files with unnamed strings in a way that benefits neither help( ) users nor source code readers. Wasted bytes, in other words, another word for "sin" in programming. So my practice is to point out that docstrings, properly used, go only at the beginning of specific constructs: modules, functions, classes, methods. *2. "Who Am I" Attributes* The help on __doc__ belongs in the same section as help on __name__ and even __file__ as these are likewise attributes at the module level, which is where our course series first mentions docstrings (Lesson 1, Project 1 is already docstring aware). [1] *3. Dual Mode Modules (Stars Versus Extras)* __name__ == "__main__" is another one to dwell on by the way. A common misapprehension is every module needs one, whereas it's mostly useful for "dual use" modules that make sense to run top-level, and to import. Some modules play either in one role (supporting cast) or the other (starring role), but not both, so would not need this divider. The math module is a good example of one we import for its worthy extras, but do not run directly. *4. Back to the Trees! Show the Ropes!* When working with true beginners, remember that we've "returned to the trees" (like monkeys) in the sense that a file system is a fanning tree of subfolders. Not everyone comes to programming equipped to navigate using the underlying chdir / cd tools, let alone tools for digging new subfolders (mkdir etc.). Yes, very basic stuff but allow the language they're newly learning to serve as the file system API right away. Pros need the same info. Get to os.path in other words, early for the benefit of those needing "you are here" orientation. Path issues are the bane of new coders. Many a would be Java programmer has died in the Wilderness of Path Confusion. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mamckenna at sch.ci.lexington.ma.us Sat May 16 12:00:24 2015 From: mamckenna at sch.ci.lexington.ma.us (Marianne McKenna) Date: Sat, 16 May 2015 06:00:24 -0400 Subject: [Edu-sig] Edu-sig Digest, Vol 142, Issue 7 Message-ID: I am away from the office - returning on Monday- May 18th. I will try to respond by email. If you need immediate help, please contact tech support. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From mamckenna at sch.ci.lexington.ma.us Sun May 17 12:00:24 2015 From: mamckenna at sch.ci.lexington.ma.us (Marianne McKenna) Date: Sun, 17 May 2015 06:00:24 -0400 Subject: [Edu-sig] Edu-sig Digest, Vol 142, Issue 8 Message-ID: I am away from the office - returning on Monday- May 18th. I will try to respond by email. If you need immediate help, please contact tech support. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From mamckenna at sch.ci.lexington.ma.us Mon May 18 12:00:35 2015 From: mamckenna at sch.ci.lexington.ma.us (Marianne McKenna) Date: Mon, 18 May 2015 06:00:35 -0400 Subject: [Edu-sig] Edu-sig Digest, Vol 142, Issue 9 Message-ID: I am away from the office - returning on Monday- May 18th. I will try to respond by email. If you need immediate help, please contact tech support. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon May 18 18:56:37 2015 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 18 May 2015 09:56:37 -0700 Subject: [Edu-sig] confirming dict def behavior with gender diversity dict Message-ID: I was playing with this somewhat dated and not fully accepted key or legend the gender diversity people sometimes use: . diversity_acronyms = {'G':'Gay', 'L':'Lesbian', 'T':'Trans', 'B':'Bi', 'Q':'Queer', 'Q':'Questioning', 'H':'Hetero', 'I':'Intersex', 'P':'Pan' } . diversity_acronyms.keys() dict_keys(['Q', 'P', 'B', 'T', 'G', 'I', 'H', 'L']) . diversity_acronyms['Q'] 'Questioning' Yes, given it's a mapping we all know that there's no special ordering of the keys or the items in general i.e. QPBTGIHL is but one permutation. But my question is regarding key unique-ness: (we lost a Q) and the rules of precedence at define time. Do we always lose the *same* Q? i.e. in defining the dict top to bottom (above and again below), I mention a 2nd 'Q' after a first, so I'm confirming it would always be the last of any given key that survives to be in the dict final dict. Testing: . diversity_acronyms = {'G':'Gay', 'L':'Lesbian', 'T':'Trans', 'B':'Bi', 'Q':'Questioning', 'Q':'Queer', 'H':'Hetero', 'I':'Intersex', 'P':'Pan' } . diversity_acronyms['Q'] 'Queer' Right, I'm guessing this is in the docs somewhere. I think I've answered my own question. My question for diversity-sig would be: do folks here think there'd be strong objections to replacing 'Q' for 'Queer' with 'P' for 'Pan' which is a relatively new one, meant more as a rounding-out catch-all I think? But that's what 'Queer' used to mean originally: "anything broader minded than boring straight" (rough translation). Queer was the parent class with any narrowing to G, L, H, B considered subclasses of a more generic API. Given a dict needs a unique key per value, the goal in replacing 'Queer' with 'Pan' as the base class (and dict key) in some implementations, is to more conform to Pythonic semantics (unique key requirements) while preserving the gender diversity spectrum already in the cards (this acronym is not my invention, is well-known in GLTBQ literature). But this is edu-sig not diversity-sig and I'm mainly just confirming that the order in which keys in a dict are defined determines, in a deterministic / predictable manner, which value survives. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Tue May 19 16:21:52 2015 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 19 May 2015 07:21:52 -0700 Subject: [Edu-sig] student privacy and Gnu Math Message-ID: Discussion of student privacy, especially cyber-privacy on math-teach, including my reply re the efficacy / relevance of "Gnu Math": http://mathforum.org/kb/thread.jspa?threadID=2706045 Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Fri May 22 04:21:12 2015 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 21 May 2015 19:21:12 -0700 Subject: [Edu-sig] Distance Learning: where and how Message-ID: I take a debate-encouraging position against the standard cohort-based, curve- and letter-graded style of teaching in this blog post from when I was the USDLA (distance learning) conference: http://worldgame.blogspot.com/2015/04/against-grain.html But we have more in common than what divides us, as distance learning schools, I'm thinking. Especially those of us coming in from outside, experimental and unaccredited (but what's to stop Michigan from offering math credit to a high schooler taking our Python sequence? -- nothing but red tape?). This article is making the rounds a work today: http://www.bloomberg.com/news/articles/2015-05-07/coding-classes-attract-college-grads-who-want-better-jobs More discussion on python-cuba: https://mail.python.org/pipermail/python-cuba/2015-May/000037.html Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Sat May 23 03:17:35 2015 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 22 May 2015 18:17:35 -0700 Subject: [Edu-sig] "little lambda" again Message-ID: We know the Great Lambda languages like LISP and Scheme have lambdas that might go on for pages, whereas Python has a "little lambda": one expression only. That expression may be another lambda however, and perhaps worth doing, to get the concept of composing functions across, we might in math class go: compose = lambda f, g: lambda x: f(g(x)) # Example functions def addA(s): return s + "A" def addB(s): return s + "B" # Composing them addAB = compose(addB, addA) # Test print(addAB("L")) Getting LAB for output i.e addB(addA("L")) Over on math-teach I've been branding our traditional differential / integral calculus the "Delta Calc" track to pave the way for an additional "Lambda Calc" track through much of the same territory. Lambda Calc is our door into Gnu Math more generally, a complementary CS-friendly approach to many of the same high school math concepts. but also new ones not hitherto so commonly seen. We'll do more with RSA and Fractals than in the previously status quo standards, and with spatial / spherical geometry per Popko. [1] Lets get those Tractors on the ball (Spaceship Earth). The "everything is an object" heuristic in Python makes it natural to think of functions as arguments as well as results of other functions. Kirby [1] http://www.dividedspheres.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Sat May 23 21:55:08 2015 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 23 May 2015 12:55:08 -0700 Subject: [Edu-sig] talking about "operators" in Python namespace Message-ID: http://mathforum.org/kb/message.jspa?messageID=9780027 >From math-teach -------------- next part -------------- An HTML attachment was scrubbed... URL: