Use of CAS in introductory science&engineering courses
- To: mathgroup at smc.vnet.net
- Subject: [mg61606] Use of CAS in introductory science&engineering courses
- From: carlos at colorado.edu
- Date: Sun, 23 Oct 2005 05:46:20 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
There seem to be some confusion in the "Language versus Library" debate as regards the proper mix of "computer science" versus "applied mathematics" in introductory undergraduate courses. In my opinion some of the confusion has historical roots. In the US, computer science (CS) departments did not exist as individual entities before 1965. (The 1st was established by George Forsythe at Stanford, if I remember correctly). At creation time they were often spawned from one of two sources: Math department (-> CS becomes part of Arts & Sciences) EE department (-> CS becomes part of Engineering) If spawned from Math, the original CS tended to have a strong applied-math + numerical analysis core. If from EE, they tended to be "computer engineering" and hardware oriented. This is an unstable stage. It is essential part of human nature to try to establish an identity. As a consequence, CS departments have gradually focused on software: languages, networks, databases, AI, interfaces, etc., as their core mission. The result has been a "reverse migration". Math-oriented academic types have found more hospitable homes in science or applied math departments. For example at Colorado-Boulder a Program in Applied Mathematics was created in the late 1980s; as of now this is a department in its own, separate from Mathematics proper. Hardware oriented types gravitated back to EE or kept joint appointments. By now the reconfiguration is approaching steady-state, as one can verify by reading faculty position announcements in CS. Consequence: programming service courses taught by CS faculty to lower division students in engineering and sciences tend to focus on nuts-and-bolts languages. In our case, the favorites are C++ and Java (Fortran disappeared around 1995, C around 2000). Focus is programming, data structures and interfaces. Math is incidental; algorithms are used only as examples. That is the way it is and will be: wishful talk will not change human nature. On the other hand, service courses offered by our Applied Math (for example, the Calculus sequence) do use Mathematica and similar high level tools in recitations and labs. For obvious reason: they fit course objectives (=learning Math) better, and programming becomes incidental.