Xref: utzoo comp.edu:2267 comp.lang.pascal:1823 Path: utzoo!attcan!uunet!lll-winken!ames!sun-barr!rutgers!att!alberta!ubc-cs!faculty.cs.ubc.ca!manis From: manis@faculty.cs.ubc.ca (Vincent Manis) Newsgroups: comp.edu,comp.lang.pascal Subject: Re: CS-1 Keywords: beginning computer science course Message-ID: <2016@ubc-cs.UUCP> Date: 12 May 89 05:17:57 GMT References: <2130@iitmax.IIT.EDU> <2394@brahma.cs.hw.ac.uk> <206@psgdc> <1085@lafcol.UUCP> <1866@aucs.UUCP> <23855@shemp.CS.UCLA.EDU> Sender: news@cs.ubc.ca Reply-To: manis@faculty.cs.ubc.ca (Vincent Manis) Organization: Smurf Gang (University of British Columbia at Kitezh) Lines: 41 In article <23855@shemp.CS.UCLA.EDU> kwan@cs.ucla.edu (Edmund Kwan) writes: >Coding without understanding the problem & its solution(s) (Code and Fix >Approach) is a no-no according to my Software Engineering class. We should >definitely not teach beginning programmers to hack out a program in Pascal >rather than to design a solution and then implement it in Pascal. Having taught both, I'm not entirely sure that Software Engineering and Computer Science are the same thing. In fact, I'm pretty sure that the reverse is true. Software engineering, like all forms of engineering, relies upon the application of fairly well-understood principles to problems. The goal is to produce something which works, with as little uncertainty as possible. Whether it's a bridge or a program, we want a reliable product, as close to budget and deadline as possible. (Incidentally, it has always amazed me how people will hire `programmers' who know nothing about software design, but would rather like to learn. I'd never hire an architect or a lawyer that way...) Introductory computer science is much more of a laboratory science. Students are supposed to learn concepts, primarily by experimentation. The goal is not the program, but the increased understanding of the subject. Naturally, students will be encouraged to program well; but, then, one of the reasons I got out of chemistry was my tendency to break anything made out of glass. There is no claim that `science' is better than `engineering' here. However, I don't think it makes sense to teach engineering prior to teaching sound science. A propos this topic, if you haven't already done so, read the `ACM Task Force on the Core of Computer Science' report in the January CACM. It will change your paradigm of computer science completely. ____________ Vincent Manis | manis@cs.ubc.ca ___ \ _____ The Invisible City of Kitezh | manis@cs.ubc.cdn ____ \ ____ Department of Computer Science | manis%cs.ubc@relay.cs.net ___ /\ ___ University of British Columbia | uunet!ubc-cs!manis __ / \ __ Vancouver, BC, Canada V6T 1W5 | (604) 228-2394 _ / __ \ _ ____________ "I'm not making this up, you know!" -- Anna Russell