Experiences/guidance on teaching Python as a first programming language

Oscar Benjamin oscar.j.benjamin at gmail.com
Tue Dec 10 11:42:53 CET 2013


On 9 December 2013 19:57, Terry Reedy <tjreedy at udel.edu> wrote:
> On 12/9/2013 7:23 AM, Oscar Benjamin wrote:
>>
>> Hi all,
>>
>> I work in a University Engineering faculty teaching, among other
>> things, programming. In our last meeting about improving our teaching
>> syllabus and delivery we've identified the first year programming
>> courses as an area where there is room for improvement and we're
>> considering (mainly on my suggestion) switching to using Python as the
>> first programming language that we use to introduce our students to
>> programming. I'm interested to know if anyone can share experience of
>> a similar situation or can point to any case studies about this.
>
>
> A few years ago, MIT switched from Scheme (which I believe originated at
> MIT) to Python for its first course. There might faculty blogs discussing
> the reasons.

Thanks Terry. The best I've found is this:
http://cemerick.com/2009/03/24/why-mit-now-uses-python-instead-of-scheme-for-its-undergraduate-cs-program/

It doesn't really describe why Python was chosen and I can't find any
actual evaluation of how well it worked but I guess if they haven't
backed out of the decision then that says something.

> In any case, the course is one of MIT's free online offerings.
> There is a draft of a syllabus for your school. Certainly, most of the
> concept taught in the current C course could be taught with Python instead.

I guess you mean this:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/

The description there sounds like exactly what we're aiming for:
'''
This subject is aimed at students with little or no programming
experience. It aims to provide students with an understanding of the
role computation can play in solving problems. It also aims to help
students, regardless of their major, to feel justifiably confident of
their ability to write small programs that allow them to accomplish
useful goals. The class will use the Python programming language.
'''

I'll have a bit of a look at that. In our case the course would
probably be called something like "Introduction to [scientific]
programming using Python" so we may want to put more time into
numpy/matplotlib etc than some other courses would.


Oscar



More information about the Python-list mailing list