Authorised by Academic Registrar, April 1996
Objectives At the completion of this subject students should understand the object-oriented design and programming issues in developing systems; be able to explore the concepts and facilities provided by object-oriented programming languages such as Eiffel, C++ and Smalltalk; and be familiar with an incremental scenario-based approach to achieve both process and product quality improvements in object-oriented software development in a reuse context.
Synopsis The object-oriented paradigm in a software engineering context; to develop software systems; object-oriented concepts; class vs object, inheritance, client-supplier relationship, types, polymorphism, dynamic binding, genericity; object-oriented design methods; design by contract for software reliability and extendability; abstract data types; implementation in a reuse and quality culture; testing; incremental system development with process and product metrics; comparisons of object-oriented languages.
Assessment Examinations: 50% + Practical work: 50%