SHE Level 1
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M1I322909
Module Leader James Paterson
School School of Computing, Engineering and Built Environment
Subject Computing
  • A (September start)

Summary of Content

This module will provide an introduction to the principles and practice of object-oriented programming. It will also introduce the process of developing programs using an appropriate high level managed object-oriented programming language such as Java or C#. It will enable students to develop and test a software solution given a simple set of program requirements. The student will be introduced to the fundamental concepts of object-oriented programming, the basic practical knowledge and skills required to implement programs and a range of program development and testing techniques and practices.


Object-oriented programming concepts - Classes and Objects - Object interaction - Fields - Constructors - Encapsulation - Methods, parameters and messages - Scope and access modifiers - Static methods and variables - Class hierarchies and inheritance - Interfaces and abstract classes - Polymorphism Program Implementation - Data types - Variables, operators and expressions - Selection and Iteration - Constants - Arrays - Casting and type Conversion - Simple exception handling - Formatting I/O - Building graphical user interfaces Program Development Techniques - Problem solving and algorithm design - Implementing a conceptual model - Updating existing software - Program testing and debugging - Unit testing - Documenting classes - Finding appropriate library classes from documentation - Using appropriate library classes in own programs - Command line compilation and running - Use of an Integrated Development Environment

Learning Outcomes

On completion of this module, students should be able to:Describe the fundamental principles of object-oriented programming.Demonstrate an understanding of simple data types, control structures and the object-oriented features provided by modern object-oriented languages.Demonstrate the ability to develop and test a simple object-oriented application making use of standard class libraries.

Teaching / Learning Strategy

The university 'Strategy for Learning' documentation has informed the learning and teaching strategy for this module. The module's material will be introduced through lectures, while practical exercises, based on the lecture material, will be given to students for their laboratory sessions. Tutorials will be used to help explain and elaborate on both the lecture material and the laboratory exercises. All lecture, laboratory and tutorial material will be made available on GCU Learn and links will be provided to appropriate external material such as podcasts, MOOCs, videos and literature. During all lab and tutorial sessions students will receive formative feedback on their performance in undertaking the laboratory and tutorial exercises. Summative feedback and grades will also be provided for the coursework assignment undertaken as part of the module using GCU Learn. GCU Learn will also be used to provide the students with module specific forums and wiki's to stimulate student and lecturer interaction outwith the normal lecture, laboratory and tutorial sessions.

Indicative Reading

Barnes D J & Kolling M (2012) Objects First with Java 5 th ed, Prentice Hall Lewis J & Loftus W (2011) Java Software Solutions with MyProgrammingLab 7 th ed Pearson Williams M , McGinn T and Heimer M (2012) Java SE 7 Programming, Oracle Corporaton

Transferrable Skills

D1 Specialist knowledge and application D2 Critical thinking and problem solving D4 Communication skills, written, oral and listening D5 Numeracy D7 Computer literacy D8 Self confidence, self discipline & self reliance (independent working) D10 Creativity, innovation & independent thinking D15 Ability to prioritise tasks and time management

Module Structure

Activity Total Hours
Independent Learning (FT) 122.00
Practicals (FT) 24.00
Assessment (FT) 18.00
Tutorials (FT) 12.00
Lectures (FT) 24.00

Assessment Methods

Component Duration Weighting Threshold Description
Coursework 1 n/a 100.00 40% Practically based programming assignment