Two insights on teaching computer programming

David Klappholz d.klappholz at
Tue Jan 3 01:07:38 EST 2006

At 06:51 PM 1/2/2006, Kirby Urner wrote:

>What a lot of students are looking for in a first year CS is a lot of
>overview and exposure to tools they'll be able to use in other walks of
>life, i.e. they've already decided they're not CS majors

Some, if not many, of us have a first CS course specifically for CS majors 
and another one for non-majors, but I think/know that our CS majors want "a 
lot of
overview and exposure to tools they'll be able to use" from the first course.


>(however, that
>doesn't mean they can't be recruited -- especially if the course lives up to
>their high expectations, plus some will be on the fence (undecided)).
>An alternative is for other departments to import whatever computer stuff
>they need, much as physics reteaches a lot of calculus, e.g. to think
>against t (time as the independent variable) instead of just x (the practice
>in many high school curricula -- it makes a real difference, the time
>At Carnegie Mellon, you get physics importing Python in the form of VPython,
>with an eye to doing more physics, not getting all that deeply into CS per
>se.  The Python community is cram packed with such para-programmers, with
>core expertise in telescopy, x-ray microscopy, molecular biology or other
>fields.  CS types write the language, but the clients are from many walks of
>life (which accounts for the large library -- not as big as CPAN though, nor
>as centralized).
>Or maybe there's a happy compromise?  At Princeton, my intro to computer
>engineering was pretty broad, with lots of dissection of hardware, forays
>into alternative languages.  We used PL/1, FORTRAN, SNOBOL, Assember and APL
>all in freshman year -- not expertly of course, but to get a feel for the
>territory.  Nowadays, the sampler would be different, with attention to
>differences between compiled, interpreted, virtual machine based; strong,
>weak and dynamic typing; client side vs. server side programming etc.
>If a graduate of a one-year CS course, a biology major, is able to say to
>herself "OK, for what I'm doing, I'd best use a dynamic/agile language
>against a backend database, using simple XHTML forms for a front end" then
>I'd consider the course a qualified success.  She's learned a lot of the
>concepts and is able to make decisions in terms of them.  She knows about
>XML and SQL, has an appreciation for how we use these tools in the real
>world, including in biology.  If a college's CS0 doesn't provide this puzzle
>piece, maybe it could be outsourced using distance education circuits?
>In sum, I don't think the intro CS stuff should be planned only as a part of
>some longer CS sequence for majors.  It should also serve as a standalone
>component of a liberal arts education, giving its takers a welcome boost in
>whatever chosen field.
>Math-thinking-l mailing list  -  Math-thinking-l at
>No virus found in this incoming message.
>Checked by AVG Anti-Virus.
>Version: 7.1.371 / Virus Database: 267.14.9/217 - Release Date: 12/30/2005

More information about the Math-thinking-l mailing list