PROGRAMMING 2

SHE Level 2
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M2I324178
Module Leader Martin Gallacher
School School of Computing, Engineering and Built Environment
Subject Computing
Trimesters
  • A (September start)
  • B (January start)
  • C (May start)

Pre-Requisite Knowledge

Programming 1

Summary of Content

This module builds on the object-oriented concepts and programming language features covered in the 'Programming 1' module and provides a solid grounding in the principles and practice of object-oriented programming and the use of the Unified Modelling Language (UML) for code visualisation. On completion of this module students will be able to develop and test complete object oriented applications and to refactor existing applications.

Syllabus

Fundamental Principles -360 - Modularisation - Coupling - Cohesion Class Relationships -360 - Association, dependency, composition, aggregation, inheritance - Visualisation using UML - Implementation in program code Object-Oriented Programming Language Features -360 - Assertions, exceptions - Concurrency, resource protection mechanisms - Inner classes, enumerations - Collections, generics - Data persistence, streams, logging, internationalization. - Application Development -360 - Generating classes from an application specification - Using existing class libraries - Refactoring - Applying the Data Access Object (DAO) pattern - Application testing - Software configuration and release management - Prepare stakeholder documentation

Learning Outcomes

On successful completion of this module, students should be able to:1. Demonstrate an understanding of the fundamental principles of modularisation, coupling and cohesion on which object oriented programming is based. 2. Demonstrate an understanding of class relationships such as association, dependency, composition, aggregation, inheritance, the visualisation of these in UML and their implementation in program code.3. Apply a range of object-oriented principles and programming language features to the development of applications and the refactoring of existing applications. 4. Develop and test a complex object-oriented application that uses persistent storage, including software configuration and version control.5. Provide stakeholder documentation.

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 lectures, laboratories and tutorials 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. Access to appropriate software development tools will be available for students outwith scheduled class time.

Indicative Reading

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

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
Tutorials (FT) 12.00
Independent Learning (FT) 122.00
Assessment (FT) 18.00
Practicals (FT) 24.00
Lectures (FT) 24.00

Assessment Methods

Component Duration Weighting Threshold Description
Course Work 01 n/a 50.00 35% Practically Based Assignment
Course Work 02 n/a 50.00 35% Written Report