On Sun, Jan 31, 2010 at 10:05 AM, michel paul <mpaul...@gmail.com> wrote:
<< SNIP >> > Again, one of the things I truly love about Sage is that at its core, it is > pure Python. I was delighted with something one of my FST students said. I > had been using Sage as my blackboard in class, and then I started showing > them pure Python. My student said that he liked having to think things > through in pure Python better than using Sage directly, because Sage seemed > so overwhelming. When I had them restricted to just the Python shell, he > liked having to reason with just a small set of constructs. I was glad to > hear him say that, as it showed he was really getting the message about what > I was saying 'computational thinking' was all about. > > - Michel Thank you for sharing more about Sage, the above remark especially. Yes, like Mathematica, Sage may seem overwhelming given how the math concepts come flooding in on top of Python. If Python is unfamiliar to begin with, then the learning curve may seem vertical. If you read through parts of the tutorial below (as I've been doing), you'll see that the introductory chapters read a lot like a standard Python tutorial. This book is written (per introduction) for Sage users who have been exposed to a computer language before, just maybe not Python.... http://sage.math.washington.edu/home/tkosan/newbies_book/sage_for_newbies_v1.23.pdf Here's a direct quote from the above work: """ In a computer, a value is a pattern of bits in one or more memory locations that mean something when interpreted using a given context. In SAGE, patterns of bits in memory that have meaning are called objects. SAGE itself is built with objects and the data that SAGE programs process are also represented as objects. Objects are explained in more depth in Chapter 4. In the above expressions, 2, 3, 5, 6, 21, and 18 are objects that are interpreted using a context called the sage.rings.integer.Integer context. Contexts that can be associated with objects are called types and an object that is of type sage.rings.integer.Integer is used to represent integers. There is a command in SAGE called type() which will return the type of any object that is passed to it. Lets have the type() command tell us what the type of the objects 3 and 21 are by executing the following code: (Note: from this point forward, the source code that is to be entered into a cell, and any results that need to be displayed, will be given without using a graphic worksheet screen capture.) type(3) <type 'sage.rings.integer.Integer'> """ TECHNICAL NOTE APPENDED re "context". [1] What I'm getting from this is we have a stronger case than ever for wanting to just cover some basic Python ahead of time, in a math-learning context. A student already practiced with a text such as Mathematics for the Digital Age will have a much easier time picking up those parts of Sage most relevant to whatever math domain currently under discussion. Might well be calculus (many examples of taking integrals and derivatives in the docs, also solving differential equations). Per earlier remarks in this thread, it seems an uphill battle to have school administrators accept coding in Python as having anything to do with a math course. It doesn't look like textbook math. The notation is not traditional. Where are all those greek letters? Science and engineering maybe, but surely not math! With Sage, I think we get more of a foot in the door, for those lucky schools with faculty wishing to innovate in this direction. Point an administrator to the above tutorial and explain how how mathematics has been greatly affected by computer technology and confining student experience to templates of the recent past is actually quite a risky strategy, perhaps even unconscionable given the software is free? That argument depends on the district -- in some corners, hardware is not really a bottleneck either, as companies and government agencies are keen to cast off fairly decent equipment for a tax write-off... the only real shortage in this picture is trained personnel, which is where teacher training comes in. On the bright side, many high school math teachers are seeking ways to make their subject area more illuminating and relevant. Students would exit in droves were it not for these being required subjects (at least for some years). The political rhetoric and climate is conducive to taking bold action, as there's widespread agreement that the K-12 "pipeline" (some object to that term) is broken, dysfunctional, losing too many students. Adding an industrial grade professional computer language to the mix (not necessarily Python, though we know that's a good one) would come across as reassuring to students. They feel that same pressure to keep up, know their peers in some other states ("states" broadly interpreted, could mean nation, district or zip code area) are already getting these advantages. Just knowing one's school has the *option* of a digital math class (or whatever we call it) would seem like proof that we're really getting somewhere, that all this talk of upgrading is not mere lip service and hand waving (easy to get cynical when all these press reports, e.g. of Intel offering millions, leads to nothing different on the ground [2]). Back to the above paragraph, you see how it becomes necessary right from the top to start talking about objects and their types. Yes, we may still argue about whether whole numbers deserve their own type simply because we've added zero to the "natural numbers" starting with 1 (i.e. W = N + {0}). But the mere fact of these arguments serves to reinforce the core ideas: (a) that mathematics has types and (b) we may refer to these as "types of object" or even "math objects" for short. This way of thinking does not depend on knowing a lot about computers or computer memory. The "grammar of objects" is already embedded in human language, with the original aim of Smalltalk being to more closely mirror how people already think in their respective knowledge domains, mathematics no exception. That we should be giving math teachers opportunities to move their skills in this direction seems prudent and conservative to me, not like some radical "out there" suggestion. Clinging to the status quo, in contrast, seems like pure denial that any kind of future is happening. Holding on to the way things were, paying no attention to trends, would seem the radical / risky position to me. The bias we need to overcome, in my view, is that computer programming is really hard, and that by adding some coding language to the math curriculum is just making a difficult subject more difficult. That point of view pushes Computational Thinking into the "honors elective" category. Don't get me wrong: I think there's plenty of room for honors electives in this picture, steep learning curves, lots of challenges. But I'm quite aware of administrator concerns about inequity, funneling resources to those labeled talented and gifted, whereas so often it's a mere lack of opportunity that keeps this "digital divide" so divisive. The pilot programs we need to be reading about should not all be based in these exclusive private schools, lest we send the wrong message. One Laptop per Child is a source of counter-spin, plus various foundations we could name have diversity and broad spectrum outreach among their core values. When it comes to getting support for these teacher training programs, one needs to make sure we're getting through to those big public high schools, including in rural areas. Anyway, I'm straying into politics here (again).[3] To some extent, I think it's up to the various open source communities to keep reminding the public of the opportunities here. GNU and its expanded legacy is one of the more hope-inspiring achievements of recent generations, evidence that humans will indeed collaborate cross-culturally, on a global basis, once provided with the infrastructure to do so. Open source is an integral part of world affairs at this point, and deserves to be taught as such. If your high school offers a current events class, yet there's no mention of the free software movement, then how is this really an intelligent overview? Are librarians the most up to date these days, given libraries are where students go for help with all these new tools? Maybe so. http://www.techlearning.com/article/23558 More preaching to the choir here I realize... Kirby [1] The Sage docs use "context" as a substitute for "namespace" pretty much, as types of object do have their associated namespaces. One way to introduce "dot notation" to those unfamiliar with this syntax is to point out its role in "disambiguation" (a big word, but as much a term in language arts as computer science), a thing we do on Wikipedia for example, when the same term points to more than one entry. When Java simply inverted the domain name to make that a prefix to unique packages, we were seeing disambiguation taken to a new level. [2] thread on math-teach about the Intel announcement: http://www.rdmag.com/News/Feeds/2010/01/information-tech-intel-commits-200-million-for-math-and-science-ed/ (is it really feasible to accomplish all the necessary training based on distance education and Web 2.0 technologies? I'd say one still needs a mix of distance and in-person, so I'm skeptical of any funding proposals that just focus on the Internet as the only curriculum delivery vehicle -- we need to recruit a large army of volunteers willing to take some paid time to do actual field work, no? Where is that Intel-sponsored facility in Portland where teachers might actually show up and compare notes? If it's all burning the midnight oil in some self-study atmosphere, even with shared whiteboards etc., then that'll invite a backlash). Note: my preferred solution, based in historical precedent, was to actually field a fleet of specialized vans, send them around in a kind of circus mode to take trainings directly to schools, get the ball rolling, a kind of recruitment drive, in the sense of getting people signed up for whatever distance learning follow-ups, hands-on classes. Proud sponsors would have their logos emblazoned on these "bookmobile" like vehicles and the very fact of their existence would galvanize the teaching world, make innovation in education a cause celeb, something to publish fun stories about. I haven't given up on this vision, but after so many years of promulgating the possibility, I realize I'm somewhat alone in sharing science fiction of this genre. If it's just me that's interested, it obviously ain't gonna happen. [3] My personal experience is colored by stint with a local police department right in the heart of the Silicon Forest, a stone's throw from Intel. The neighborhoods have many recent immigrant families seeking opportunity and some training in computer technology would help with that. The police department was actually putting some computer labs and browser access points in various housing projects, wanting to jump start more of a learning experience. The chief (a son of Chinese immigrants himself) set up a Linux lab right in West Precinct, and invited kids to come for lessons in open source technologies (I was one of the co-teachers). (When I say "stint with" I don't mean I was ever on payroll with the police. They hired Saturday Academy, a local nonprofit, to supply the teachers and curriculum). What impressed me about all this was the police were doing all this out of a sense of survival and wanting to keep their future from being too nightmarish. If these students had no hope, if opportunities were all closed to them, then that would just mean more despair, more crime, more pressure on police to manage an unworkable situation. How much better it would be if some real and relevant education were happening! I thought their thinking process was rational, bold and worthy of respect in this instance. I had no problem getting on board. So what were the schools doing? They mostly wanted the police to come in and give scary talks about how software piracy was bad, downloading music evil, etc. etc. These were the early days of Napster. Was there any mention of open source, of subcultures that actively encouraged sharing, legally and ethically? Precious little, actually next to nothing back then. We've come a long way in the meantime, but maybe not far enough. Resistance to necessary innovation, right in the heart of the Silicon Forest, is still a major fact of life. Educating administrators about introducing a new kind of math class is an uphill battle even here. I'm seeing the community colleges as potential allies. Anyone else want to chime in? > > -- > "Computer science is the new mathematics." > > -- Dr. Christos Papadimitriou > > _______________________________________________ > Edu-sig mailing list > Edu-sig@python.org > http://mail.python.org/mailman/listinfo/edu-sig > > _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig