Home / Course Resources Archive

Course Resources Archive

Undergraduate Module Descriptors 2012/13

CO270: Object-Oriented Software Development

Module Title Object-Oriented Software Development
Module Code CO270
Module Tutor Vicky Bush
School Computing and Technology
CAT Points 30
Level of Study 5
Pre-requisites Before taking this module you must pass CO120
Co-requisites None
Restrictions None
Brief Description

This module aims to give students an understanding of the object-oriented programming paradigm in the context of developing software that is well specified, designed and tested. Students will be exposed to a variety of notations at different stages of the development process.

Indicative Syllabus
  • Software development lifecycle.
  • The need for formal specification. A formal notation applied to software specification examples.
  • Object oriented concepts within a practical context. The capabilities of class, inheritance, polymorphism and software reuse are explored in relation to the requirement of programming in the large.
  • Static and dynamic data structures such as arrays, records and trees. Programming language representation and library support.
  • Introduction to methods for systems design, development and testing with an emphasis on an object-oriented approach.

A range of practical problems will be used to explain these concepts. Software quality and sound software engineering principles are emphasised throughout.

Learning Outcomes

i. Knowledge and Understanding
By the end of this module a student should be able to:
a) Understand the stages of the software development lifecycle
b) Analyse a formally specified problem statement with a view to accuracy and completeness
c) Design components and their interfaces according to system requirements using relevant notation
d) Formulate a solution based on an appropriate choice of control and data structures
e) Exploit re-usability through the use of the software library as well as inheritance and polymorphism
f) Effectively test the software product
g) Produce documentation accurately describing the software product in appropriate notation
h) Evaluate an algorithm’s need for resources



ii. Skills
Problem solving: derive solutions to a variety of system development problems
Communication and literacy: Analyse and evaluate the software design and implementation; contribute to group activities
Independent learning and working: use books and websites to support learning; manage own time to complete exercises
Information and Communications Technology: use a CASE tool and software development environment; produce word-processed submissions
Vocational: apply technical knowledge and skills in software development that are directly transferable to industry
Numerical techniques: Manipulate relevant mathematical notation and symbols. Demonstrate problem-solving abilities in developing and manipulating computer system models using a formal notation. Complexity analysis of algorithms

Learning and Teaching Activities

Staff/Student contact: approximately 20%, including lectures, tutorials and practical sessions.
Student private study: approximately 80%, including reading, investigation, exercises and assessment.

Assessment (For further details see the Module Guide) 001: 25% Coursework: Portfolio: 2000 words or equivalent
002: 25% Written Exam: End of year, unseen, closed book: Unknown hours
Special Assessment Requirements None
Indicative Resources

The Library Catalogue contains full details of the current reading list for this module. Further details may also be found in the Module Guide.

An error has occurred. This application may no longer respond until reloaded. Reload 🗙