[Edu-sig] Python outside computer science

Michael Tobis mtobis at gmail.com
Thu Feb 15 02:29:39 CET 2007

Ray Pierrehumbert is using Python to teach undergraduate courses in
atmospheric science (a survey of climate physics) at the University of
Chicago, and is writing a book based on it.

Ray tells me his publisher did not allow any Python in the text, so he had
to write pseudocode in the text, but Python packages implementing everything
he suggests will be included as a download. I suppose pseduocode means
leaving out the colons...

Anyway, in answer to your specific question, Ray devotes a few lectures to
Python near the beginning of the term and that's it. It may be the case that
University of Chicago science undergrads are better prepared than others,
and the problems they examine probably use relatively simple data structures
and algorithms. (There's no call for recursion, for instance.) I've filled
in for Ray on the Python lectures sometimes. Two years ago about half the
students had never written any code in any language, but this year only two
of them had never written any code.

I'm not sure if this helps you very much, except to reaffirm that Python is
useful in studying other disciplines with an algorithmic component. It's
pretty much being used in this case as a direct replacement for Matlab.


On 2/12/07, Rob Malouf <rmalouf at mail.sdsu.edu> wrote:
> 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 <rmalouf at mail.sdsu.edu>
> Department of Linguistics and Asian/Middle Eastern Languages
> San Diego State University
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/edu-sig/attachments/20070214/b69bbe54/attachment.htm 

More information about the Edu-sig mailing list