[Edu-sig] Python for CS101

Chuck Allison chuck at freshsources.com
Wed May 4 18:58:30 CEST 2005


Hello Kirby,

Wednesday, May 4, 2005, 4:11:32 AM, you wrote:

KU> I like CS courses which sample (in my freshman CS course a Princeton, we
KU> played with SNOBOL, APL, PL/1, FORTRAN, and no doubt some others I've
KU> forgotten).  That being said, you also need an "anchor" or "home base"
KU> language to help you nail it all down, and as a point of comparison.  Python
KU> makes a lot of sense in this role.

Indeed. I think it better to use only one language in a first course. I
remember my first course at BYU - we first learned PDP8 Assembly
(which failed miserably) and then FORTRAN (which clicked). Your "home
base" idea makes sense to me.

KU> So of course I agree that Python is a strong candidate as the star of a
KU> CS0/CS1 course and I fully expect it to continue making inroads deep into
KU> that turf.  

KU> I also find it interesting that most of us here are considering it as an
KU> alternative to either C++ or Java, but aren't mentioning Scheme (which has
KU> been an intro CS language at MIT for some time).  

I have taught both Scheme and ML, as well as Python (but not in a
beginning course). I think Python's advantage here is that it is not
constrained to be a functional language. You can appeal to students'
intuition with simple imperative statements and immediate use of the
built-ins (lists, tuples, dictionaries). It takes a while for the mind
to wrap itself around the functional paradigm, especially in a
beginning course. I know that MIT and the U. of Utah claim "success"
in using Scheme as a first language, but I don't buy it. Especially at
MIT, they don't have typical students.

-- 
Best regards,
 Chuck



More information about the Edu-sig mailing list