Description
Aims:
This module provides a thorough introduction to object-oriented (OO) programming. The key object-oriented concepts such as class design, inheritance, dynamic binding and interfaces, are introduced along with design strategies for smaller sized object-oriented programs. Material is also included on data representation, the implementation of common data structures such as lists, trees and hash tables, basic cloud-based applications, and on development tools and practices. To learn how to apply object-oriented design concepts, and practice programming skills, the module has a substantial practical element, with weekly lab classes, sets of exercise questions, and an individual programming coursework.
Intended learning outcomes:
On successful completion of the module, a student will be able to:
- Design and implement smaller-scale object-oriented programs.
- Have a good knowledge of key object-oriented principles and design strategies.
- Read, write, and process data sets using object-oriented techniques.
- Understand how core data structures are implemented using classes.
- Develop basic object-orientedÌýapplications that run in a cloud environment.
- Use programming tools such as an integrated development environment (IDE), debugger, and version control.
Indicative content:
The following are indicative of the topics the module will typically cover:
Object-Oriented Principles:
- Taking an object-oriented approach to software development.
- Classes and the use of abstractions.
- Key design principles and development practices.
Object-Oriented Programming:
- Designing and implementing classes.
- Identifying and implementing class relationships.
- Using abstract classes, interfaces and inheritance.
- Developing smaller-scale programs taking an object-oriented approach.
- Effective object-oriented design and programming practices.
- Documenting designs using class diagrams.
- The design of basic cloud-based applications.
Data Representation:
- Implementing common data structures.
- Storing data in files.
- Processing data to extract information.
Requisites:
To be eligible to select this module as optional or elective, a student must: (1) ​be registered on a programme and year of study for which it is a formally available; and (2) have taken Principles of Programming (COMP0002) in Term 1.
Module deliveries for 2024/25 academic year
Last updated
This module description was last updated on 19th August 2024.
Ìý