From: greywolf@unisoft.com (Veteran of the Psychic Wars) Subject: Data Structures, CS 220 Date: 24 Dec 91 00:30:04 GMT /* * When boredom sets in and one finds the need to create new, interesting * features to add to a library. This is original (by me). */ COURSE TITLE: DATA STRUCTURES COURSE NUMBER: 5150 CLASS DESIGNATION: COMPUTER SCIENCE, CS420 PREREQUISITES: CS150 UNITS: 5.0 CLASS HOURS: M W F 7P-10P LAB HOURS: MTWTF 8A-11P This class assumes basic knowledge of the constructs presented in CS150 ("Letting C Confuse You") and how to use an editor (adb is presented as the programmer's editor of choice). The course will cover all forms of Data Structures including: Arrays with indeces into the interrupt vector table Structures with self-referencing elements (pointers optional). Unions with self-referencing elements (pointers optional). Also presented are various lists, linked, unlinked and random. Among those covered are: LIFO (Last In, First Out) Also called a "stack". FIFO (First In, First Out) Also called a "queue". FISH (First In, Still Here) Also called a "hung printer". FIGL (First In, Got Lost) Also called a bureaucracy. LIGL (Last In, Got Lost) Also called a "streams module". FIGO (First In, Garbage Out) Also called a "random number generator". GHNW (Got Here, Now What?) Also called a "longjmp botch". *** NOTE: Disk Space is somewhat short on the system due to the fact that *** one of the drives is not recognized by any of the drivers in the kernel. *** Hence, students will be expected to produce a fully functional disk *** device driver by the end of the second week in order to receive credit *** for the course. [ NOTE for those not in the know regarding streams modules: In the early versions, when a module passed data to a printer, when the last chunk of data was passed, the module thought it was done and exited, leaving the printer sending XOFFs ("My queue's full; STOP!") to the (now non- resident) module. The printer usually lost the last kilobyte or so. ] -- # "Operator Precedence is that which causes statements such as *foo->bar to # work properly. It is also that which causes statements such as *foo->bar # NOT to work properly." # greywolf@unisoft.com --