To turn things in a more constructive direction, let me start what I hope will be a new discussion...
Most of what goes on on this list takes as a starting point that the primary goal is to teach Python programming, or programming in general, or computer science, or something in that vein. I'm sure there are a lot of people in my position, though, who use Python in teaching but aren't really teaching Python. I teach linguistics, and everything I cover in class is must serve the overall goal of educating linguists. Python is a useful tool, but that's all it is (for us), and it's just one of many tools we use. Given limited class time, I'm afraid that if I have to choose between either including something that will make my students better linguists or will make them better programmers, programming will lose. I guess you could say that in class we use Python like physical scientists use Matlab -- more as an application than as a programming language. Python is widely used in traditionally non-computational fields (linguistics, biology, geography), so I'm sure there's a sizeable community of people who use Python in this way. So, if any of you are out there... what have you found works well? What doesn't? What textbooks do you use (if any)? I find that most of the standard intro Python texts aren't suitable for me. Zelle's book, for instance, is great in a lot of respects, but it's got too much emphasis on graphics for me to use it. Not that that stuff isn't interesting and useful, it's just that it would be too much of a detour from my primary learning objectives. I've been using Gauld's book, but the student's don't seem enthusiastic about it. What books are the biologists using? Another thing I'm wondering about is how multi-course sequences are set up. Here at SDSU our computational linguistics M.A. program nominally takes four semesters, three semesters of coursework and one semester of thesis writing. We've got a lot of specialized material to cover in that time. Plus, students often come in with zero background in computation or math (or, often, linguistics), so we've got a fair bit of remedial work to do to get them up to speed. And, to make things even more complicated, non-specialists also take computational linguistics courses, so it's not unusual for me to have, say, a high school English teacher going for a multi-cultural education certificate in my one of my classes. In fact, I depend on that happening to meet my minimum enrollment numbers, which means I can't afford to drive off potential students who don't really want to spend a term learning to program (not that they're *afraid* of programming, just that that's not what they choose to spend 15 weeks of their life doing). So, given the constraints, the way we've structured things involves very little time devoted purely to teaching Python or programming. I spend maybe a third of a term on Python in the first semester in a course that covers a lot of other computational tools and methods. Then throughout the more advanced courses we sneak in Python concepts here and there, as needed to address problems that come up, so by the end of two years the hope is students will have absorbed enough programming knowledge for them to get a job. Of course, the alternative is just to take a semester out at the beginning and devote it to teaching Python, before we move on to the linguistics. We could possibly join forces with other Pythonic departments on campus to solve the minimum enrollment problems, though that mean some of the more advanced material would have to be cut from the end of the sequence to make it fit in three semesters. How do other non-CS computational programs work? What are some of your experiences? --- Rob Malouf <[EMAIL PROTECTED]> Department of Linguistics and Asian/Middle Eastern Languages San Diego State University _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig