You can use this search form for searching subject module.
Expected Learning Outcomes
Upon completion of this course the students will be able to:
• Describe the features typically offered by an object-oriented programming language, including support for classes, visibility, inheritance, interfaces, polymorphism and dynamic binding.
• Explain key principles and best practice associated with object-oriented software development. These include abstraction, information hiding, programming to interfaces, resilience to change, and reuse.
• Put into practice object-oriented programming knowledge and develop a relatively large, with respect to software developed on prerequisite courses, object-oriented software application.
• Describe the principles of application-level multithreading: threading, condition synchronisation and mutual exclusion; and primitives associated with these.
• Develop a multithreaded application that uses threads appropriately and correctly.
• Describe and apply contemporary techniques that can be used to help develop software that meets its specification. These include source code inspection and basic software testing techniques: black box, white box and unit testing