Authorised by Academic Registrar, April 1996
Objectives At the completion of this subject students should understand the principles of program design; be able to implement a design in a programming language; and be able to test, debug and document a program.
Synopsis Concepts of structured programming. The processing elements of sequence, selection and repetition (via iteration and recursion) using imperative and functional styles. Basic data types and collections. Problem-solving skills used to convert the problem specification into the design of an algorithm, and the representation of that design in a suitable graphical notation. The expression of that algorithm in a suitable programming language. Development of robust, maintainable software from the informal specification of a problem. Scoping of variables. Functions. Parameter passing by value and by reference. Reading and writing of sequential files. An introduction to issues relating to software quality, especially the importance of regression testing of software and the means by which this may be done.
Assessment Examination: 50% + Unit test: 20% + Assignments: 30%