Xref: utzoo comp.edu:2655 comp.software-eng:2395 Path: utzoo!censor!isgtec!robert From: robert@isgtec.UUCP (Robert Osborne) Newsgroups: comp.edu,comp.software-eng Subject: Re: CS education Message-ID: <211@isgtec.UUCP> Date: 16 Nov 89 21:47:32 GMT References: <7024@hubcap.clemson.edu> <7036@hubcap.clemson.edu> Reply-To: robert@isgtec.UUCP (Robert Osborne) Organization: ISG Technologies Inc., Mississauga, Ontario Lines: 44 In article <7036@hubcap.clemson.edu> ofut@hubcap.clemson.edu (A. Jeff Offutt) writes: >Here's one of my ideas for a perfect software engineering project: > An operating system. > A compiler > I went to UofWaterloo as a co-op. On my first work term I had to write (from scratch) a simple CAD/CAM system (~10000 lines in 4 months). The effect of this was threefold: 1) All of my courses suddenly ment something. I saw things that I had needed for my system and how bad (or relatively good) my own solutions were. I learned to judge for myself the relevance of what I was learning. 2) I learned about user interfaces, databases, the importance of comments and other documentation (I couldn't read my own code after 2-3 months), and some elementary design principles and their importance. 3) I learned how poorly done projects can haunt you later in life (I keep saying, if only I had that project now :-). For this reason would suggest that training for any computer programmer, should start off fairly early with such a project (perferably in groups). Then throughout the education process projects like this should be done every year. Then by the end of three or four years you would have a good programmer. I don't think that an OS and a compiler are "perfect" engineering projects although I think that they should be studied. I have seen engineering departments where they hired several community college engineering "technicians" and placed them under a VERY good professional engineer. This is usually cheaper and more successful then hiring several good engineers. I see a similiar idea being good in computing, where several programmers at a "technician" or community college level work with a GOOD computer "scientist", one who has taken courses in OS's, compiliers, design theory, etc. Of course this means that community colleges must start training programmers, so far most of the courses at colleges are "language of the week" courses or "business oriented" software courses. Rob. -- Robert A. Osborne | I take full responsibility for the opin... ...uunet!mnetor!lsuc!isgtec!robert | ...utzoo!lsuc!isgtec!robert | oops, sorry about that.