Xref: utzoo comp.edu:2637 comp.software-eng:2368 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!usc!ucla-cs!gds@oahu.cs.ucla.edu From: gds@oahu.cs.ucla.edu (Greg Skinner) Newsgroups: comp.edu,comp.software-eng Subject: Re: CS education Message-ID: <29145@shemp.CS.UCLA.EDU> Date: 14 Nov 89 23:10:30 GMT References: <16028@duke.cs.duke.edu> <7024@hubcap.clemson.edu> <9808@june.cs.washington.edu> Sender: news@CS.UCLA.EDU Reply-To: gds@cs.ucla.edu (Greg Skinner) Organization: UCLA Computer Science Department Lines: 20 I just thought I'd throw in a description of what MIT's software engineering class covered when I took it (6 years ago). * Approaches to software development -- top-down vs. bottom-up, modular design, etc. * Formal semantics of data structures -- invariants for the data structures, abstraction functions for the data structures, etc. * Methods of testing software * Documentation * How to go from software specifications to software development The emphasis on the programming assignments we had (text formatter, "mini" macsyma, and a text editor) was to design, test, and document the software. Implementation was only worth about 20% of the grade. The text editor was a team project (3-4 people). The software engineering class is a prerequisite for the compiler class, where teams build a full compiler. --gregbo