Too much material, too little time: the computer education curriculum dilema
American Society for Engineering Education
Computing, Health and Science
Computer and Information Science
Adding an engineering component into an already overcrowded computer science course to create a course suitable for the graduation of a potential professional Software Engineer (SE) reminds people of the problem of getting a quart into a pint pot — there is far too much material and far too little time. Since Curriculum ’68 was published, designers of computer science curricula have been on the horns of a dilemma — what to leave out! If one is to cover the requisite knowledge areas and yet reduce the amount of information which has to be transmitted then the obvious solution is to reduce the depth in which that information is studied. The question often asked is whether such a reduction is acceptable in software engineering education. In the authors view the real question is whether or not a software engineering student actually needs the knowledge of the inner workings of a VLSI chip, CD-ROM, a Zip Drive or Modem which is appropriate to a Computer Scientist or Computer Systems Engineer. We support the case that it is not since an SE is a user of computers rather than a maker of them. Abstraction provides an effective means of reducing the volume of information which has to be transmitted in the classroom while allowing the students to formulate an adequate conceptual model of the content of the knowledge area. This paper introduces the classroom-proven concept of B-Nodes which present each device within a PC (microprocessor, hard disc drive etc.) as a data source/sink capable, to various degrees, of data storage, processing and transmission. Independent of architectural detail, experimental work to date has demonstrated that this model can accommodate rapid changes in technology, avoiding time-consuming transmission of low level detail while maintaining conceptual integrity.