David MacQuigg
Mon, 01 Feb 2010 05:21:50 -0800
kirby urner wrote:
More to the point is wanting to render pre-existing well-established mathematics in a more accessible, hands-on, and intelligible format, without losing any backward compatibility. List comprehensions *illuminate* ideas about functions, do not detract from them. Creating a list of (domain, range) tuples using "zip" is kind of interesting, gives a hands on component to what's in the book.
I learned about list comprehensions from Mark Lutz's "Learning Python". Like everything in that book, it was slowly, carefully explained in terms so easy, even a non-programmer like myself could follow every step. I never used them much, however, because it just seemed like a complex syntax that I could do more easily with a simple for loop.
Then I read Michel Paul's "Manifesto", and it hit me like lightning. Of course, its just set notation - simple, elegant, and executable!! What could be simpler than saying the factors of N are all n <= N//2 such that N % n == 0. You don't need any "programming" to understand that.
This is how we will get kids (and teachers) into computational thinking. Not a massive overhaul of the curriculum, but little things like this that are clearly useful or elegant, or that lead to insight, or that are just fun and relevant to the subject being taught. Introducing programming into our existing classes needs to be done in a way that does not push aside current topics, does not require a big commitment, and does not threaten teachers who have seen only the intimidating side of programming.
-- Dave _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig