Path: utzoo!mnetor!uunet!husc6!bloom-beacon!tut.cis.ohio-state.edu!uwmcsd1!marque!studsys!jetzer From: jetzer@studsys.mu.edu (jetzer) Newsgroups: comp.software-eng Subject: Re: American Programmer Message-ID: <87@studsys.mu.edu> Date: 29 Mar 88 03:49:22 GMT References: <312@uwslh.UUCP> <1232@cos.com> Organization: Marquette University - Milwaukee, Wisconsin Lines: 52 In article <1232@cos.com>, smith@cos.com (Steve Smith) writes: > In article <312@uwslh.UUCP> lishka@uwslh.UUCP (Christopher Lishka) writes: > > > Maybe there should be a course on this sort of thing. I think a > >mandatory course titled something like "Program Writing" should be > >offered (at least at this University) where issues such as programming > >environments and project management should be discussed. At very > >least it could give the prospective CS undergraduate major a set of > >"rules" or "guidelines" to go about organizing and writing a general > >program. This course could be a 2nd or 3rd course, after a standard > >language or two has been taught, so that something well known like > >Pascal, Scheme, or whatever can be assumed to be already known, in > >order to focus on program writing styles independent of any language. > > > It sounds like a great idea to me. Doing it properly may be a problem, > however. Two of the main characteristics of commercial programs are (1) > they tend to be big, worked on by a group rather than by one person, and > (2) they are designed to last a long time, with upgrades along the way. > This type of environment is *very* difficult to simulate. > Marquette University offers a course much like the one discussed above. It's a one semester, one credit class that compsci majors take right after Intro to Structured Programming in Pascal. Each semester a 'typical real-world' program is selected; the semester that I took the course, it was to keep track of a database of magazine addresses and expiration dates. My (heavily commented) source code was about 2400 lines long; this may or may not seem long to professional programmers, but it's a far cry from the < 200 line programs that are typically assigned in the intro to pascal course. Emphasis is placed on making sure the program is easy to maintain and program modularity. (Even to day I pull out certain procedures from this program for other programs I write for other classes.) The programming schedule was broken down into several 'benchmarks,' at which time our program was supposed to be able to do a certain set of tasks. The next benchmark required another set of tasks. This more or less simulated maintenance. It was, however, required that the project was the effort of only one student. As far as 'programming environments' (I assume development environment) are concerned, I found that my humble Apple //e far and away blew out any online editor available (but then, I had to use these editors over a 1200 baud modem). I also found out that it takes a l*o*n*g time to up/download a 90K source code. -- Mike Jetzer "If you can't be right, be forceful" uwvax!uwmcsd1!marque!studsys!jetzer