Catalog Home Page

Teaching design principles in software engineering

Armarego, J. and Roy, G.G. (2004) Teaching design principles in software engineering. In: ASCILITE 2004 Conference, 5-8 December 2004, Perth, W.A. pp. 67-77.

PDF - Published Version
Download (136kB)
Link to Published Version:
*Subscription may be required


The teaching of program design skills to novices is a core problem in software engineering education. This paper discusses the need to develop a good understanding of the fundamental computational principles and identifies some of the key design skills that should be developed by students. The paper proposes that a pseudocode based model has some useful properties in enabling these skills to develop through top down design and through progressive refinement. To demonstrate and test these ideas a pseudocode tool, P-Coder, has been developed. This tool provides both graphical and textual elements in an interactive tree structured model. Much of the semantics of a program can be developed graphically before it is necessary to introduce formal programming language syntax. P-Coder also provides capabilities to insert code segments, which, when combined with the visual model, enable complete (Java) programs to be created. P-Coder is not intended to be a production environment, but rather a tool for developing both knowledge of computational concepts and skill in program design. A preliminary evaluation of student results shows a clear improvement and suggests the approach is worth pursuing.

Item Type: Conference Paper
Murdoch Affiliation: School of Engineering Science
Publisher: ASCILITE
Copyright: Copyright (c) 2004 Jocelyn Armarego and Geoffrey G. Roy
Item Control Page Item Control Page


Downloads per month over past year