On Fri, Jan 29, 2010 at 3:30 PM, kirby urner <kirby.ur...@gmail.com> wrote:
> > >There's a unifying heuristic not out of line with inherited > >mathematics i.e. we already believe in types e.g. N, Z, Q, R, C > >(natural, integer, rational, real, complex..) and so on, so pretty > >seamless. > Actually, things are not so seamless in the secondary curriculum! : ) Just this week I had a fascinating experience exposing a seam in the current secondary understanding of naturals. There was a question on our Analysis final asking kids to find {whole numbers} [image: \bigcap] {natural numbers}. That question really bothered me for two reasons: at the beginning of the year I made it a big point to emphasize to the kids that the typical schoolish distinction of the naturals as {1, 2, 3, ...} and the 'wholes' as {0, 1, 2, 3, ...} is fuzzy. Back in the 19th century set theorists, logicians, and number theorists were advocating a definition of the naturals as {0, 1, 2, 3, ...}. Today we would include computer scientists as advocating that definition. I asked them, "How many of you have been marked wrong on a math test because you said zero was a natural number?" So, wow, the universe operates in amazing ways for that very question to then show up on the final! And that was the second reason I was bothered. I should have been included in the final proofreading! The version I saw did not have this question! Although, I was not really that bothered. I was actually delighted, because it provided very good reason for having a pointed discussion. My colleagues were clearly baffled to find out that something that has always been accepted as so fundamental in high school math has actually had two interpretations since the 19th century! So when we start second semester we're going to have another class discussion on this! I'm going to ask them if they remember my emphasizing this, and if they recalled this when they took the final. I think this very issue is important in emphasizing what we would mean by a 'computational' math curriculum. It's not just about the machine. It's not just about 'using technology' to help us solve math problems. It's about a new way of thinking. And in this new way of thinking there are a whole lot of good reasons for teaching kids to think of zero as a natural number. There's really no need served by including a 'seam' between the 'wholes' and the 'naturals'. I think emphasizing that kind of distinction as early as our curriculum does causes all kinds of fundamental confusion. Recently I've found Sage <http://sagemath.org> invaluable for the purpose of getting computational thinking into the math curriculum. I've spent the last year figuring out how to harness Sage in class, and it is paying off. The difficulty with a pure Python approach has been that it seems so foreign to everyone from kids through administrators, it doesn't look like anything that gets tested on state standards, and it seems like 'hard work' when we already have these nifty hand-helds that graph any function you want. However, the power of Sage blows any graphing calculator, even the new Inspires, out of the water. Simultaneously, you can program in pure bare-bones Python within Sage. So I have found it invaluable to capitalize on the power of Sage to serve as a way to introduce into math classes the value of the ability to think in pure Python. Regarding the whole 'hand-held' selling point, these days this is a meaningless point. You can access your Sage notebook worksheets using a smart phone! Instead of 'hand-held' I've been advocating 'mind-held'. A language is mind-held. Pretty cool. I've been using Sage as my blackboard in my Analysis classes, and I've even been able to start showing my FST kids (Functions, Statistics, Trig) pure bare-bones Python. They're supposedly the mathematically weaker, so I have more wiggle room in the curriculum. I asked them at mid-semester if they would be interested in learning pure bare-bones Python, and they said "Yes!" I was delighted. I did a lot of list-comprehensions with them. Throw out a function and a domain. Exercise: define a list of ordered pairs using list comprehension. They really could do it. Especially one kid who has always hated math. He said this really made sense. I also had them do some turtle stuff and some Visual Python stuff. Just simple things. Like one day using Visual in the lab we made 3-D parabolas out of spheres hanging in space. Way different than your typical graph. The kids really liked being able to zoom in and around the sphere, and I was thrilled that they were getting list comprehensions. A lot of them are still operating at the level of 'tell me what to do', but there are also others that are exploring. One of the really valuable features in Sage notebook is @interact. With it you can create interactive graphics for any function you want. Specify a function parameter, say x = (-10..10), and presto! When you evaluate the cell, that parameter gets represented as a slider from -10 to 10! Very cool, and very easy. I finally feel like I'm getting some traction on implementing a computational mathematics course. I came really, really close last year, but lack of action (due to a conflict of interests) smashed it. I was devastated, but I warned my department chair - "I'm not going to shut up about this!" it's been really, really hard, but I finally feel that useful discussion is happening. The counselors have requested a course description that they can hand out to students and their parents. I'm delighted that they're doing this. I'll append it below. Sort of an updated Manifesto! : ) Oh, but first - if this course does happen I'll be using the Litvins' Math for the Digital Age. I love that book. I told my prinicipal, "You usually don't say of a text that 'It's beautiful', but this one is. This is a beautiful text." *M A C H Math Analysis Computational Honors* *What does “Computational” mean?* "It is said that a concept is demonstrated to have been learned the best when one explains that concept to others. Programming is precisely that - an expressive language, used to unambiguously describe all the steps involved in problem solving of a certain type." - Tony Targonski *Computational Thinking* is a new way of thinking that will become just as important to a well-educated person in the 21st century as reading and writing is today. It has resulted in new inter-disciplinary majors such as Computational Linguistics, Computational Biology, Computational Physics, and Computational Mathematics, among others. Generally speaking, computational thinking is the art of reducing complexity to a set of primitive operations. This way of thinking blends perfectly with the kind of thinking that Math Analysis is supposed to be about. *Students taking this course should not worry if they have never* *programmed before.* This course will introduce a complete beginner to contemporary programming in a way that will enable them to efficiently articulate mathematical concepts. *The point of this course is* *not learning to program, but programming to learn.* We will be using a very easy to learn language called *Python*. *What is *Python?** Python is a general purpose programming language that has developed a large following over the last ten years or so. It is one of the top languages used at Google and is also used at NASA, JPL, and YouTube and is continuing to gain significant attention. It is an extremely easy and fun language to learn. You can immediately begin to use it just like a calculator. It is free to everyone and runs on all platforms. It is also an excellent language for expressing mathematical ideas, and that is why many mathematicians and scientists gravitate towards it. It is just as easy to learn as high school Algebra, and learning it will help you better understand Algebra. After you have learned some Python you will be ready to use Sage. *What is *SAGE?** SAGE is a set of mathematical libraries built on top of Python creating a free and open source state of the art CAS, Computer Algebra System, used by professional mathematicians, university math departments, and even some high school math departments. SAGE offers Mathematica-like abilities, such as detailed 3D color graphing. Cutting edge research is being done with it, but it is also quite usable by high school students. Anyone who knows a little Python can immediately begin to use SAGE. You can actually use many of the features in SAGE without knowing any Python, but you will be able to use it much more effectively if you also know how to think in terms of simple Python programs. What you will learn in this course is how to *computationally analyze* some fundamental ideas of mathematics. Your ability to computationally analyze will provide you a good foundation for many important kinds of study and career. A student working through this class will be well prepared both for further study of computer science and mathematics. "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