Module Database Search



MODULE DESCRIPTOR
Module Title
Advanced Software Development and Design
Reference CM2706 Version 3
Created September 2018 SCQF Level SCQF 8
Approved June 2017 SCQF Points 30
Amended September 2018 ECTS Points 15

Aims of Module
To provide students with an introduction to the principles of object oriented programming including the modelling, design, implementation and testing of such programs.

Learning Outcomes for Module
On completion of this module, students are expected to be able to:
1 Demonstrate an extended knowledge and understanding of object oriented modelling and design concepts concerning inheritance, interfaces, and abstract classes. Identify and implement simple examples of selected software system classes. Develop and test a range of small and medium-scale technology solutions (programmes, apps or games), utilising an industry standard method and programming language.
2 Confidently apply algorithms for manipulating data in programming solutions for a variety of computational problems, and analyse, and make a critical comparison between, alternative designs of algorithms and data structures.
3 Use an event handling model to identify components and interaction required to design and implement object oriented programs that incorporate a graphical user interface. Create a specification for a user interface based on requirements and implement a range of Graphical User Interfaces for different contexts at different levels of detail from specifications.
4 Analyse legacy software systems, identify the issues of maintaining and replacing this source code, e.g. obsolete programming language, and identify and review legacy system documentation, software and data architecture and understand its repercussions in a business environment in terms of cost/efficiency.
5 Discuss the properties of good software design including the nature and the role of associated documentation, appreciating that design increasingly covers use of existing code and 3rd party elements that may be an alternative to development of code from scratch through make/buy decisions with business implications.

Indicative Module Content
Inheritance, interfaces, abstract classes, polymorphism, graphical toolkits, event handling model, graphical user interfaces, exceptions, file handling, testing. Design Patterns Algorithms. Sorting and searching, recursive algorithms, computational complexity, Implementation of standard data abstractions using: arrays, lists, trees, hash tables. Strategies for algorithm design. Collection frameworks. Testing: Test strategies. Levels of verification (analysis, demonstration, test, formal proof, inspection etc.) and testing (unit, integration, systems, and acceptance) including the role and value of test driven development techniques. Automation of tests. Acceptance criteria. Business implications. Standards and Best Practice Guides: ISO 27001, ISO 27014, BSSIM SSF.

Module Delivery
This module uses the following delivery modes: Guided study (lectures, tutorials, and other learning materials delivered through VLE + bibliography), mentored practical work undertaken in the workplace, project work in the workplace including a design brief, personal study, group reflective sessions via VLE and at RGU Key concepts are introduced and illustrated through lectures (physical and virtual). Theory is put into practice in the workplace guided by a mentor. The understanding of students is tested and further enhanced through virtual interactive labs and tutorials.

Indicative Student Workload Full Time Part Time
Contact Hours 30 N/A
Non-Contact Hours 30 N/A
Placement/Work-Based Learning Experience [Notional] Hours 240 N/A
TOTAL 300 N/A
Actual Placement hours for professional, statutory or regulatory body 240  

ASSESSMENT PLAN
If a major/minor model is used and box is ticked, % weightings below are indicative only.
Component 1
Type: Coursework Weighting: 100% Outcomes Assessed: 1, 2, 3, 4, 5
Description: A coursework comprising of a coding exercise and a presentation.

MODULE PERFORMANCE DESCRIPTOR
Explanatory Text
The calculation of the overall grade for this module is based on 100% weighing in C1. An overall minimum grade D is required to pass the module.
Module Grade Minimum Requirements to achieve Module Grade:
A The student needs to achieve an A in C1.
B The student needs to achieve a B in C1.
C The student needs to achieve a C in C1.
D The student needs to achieve a D in C1.
E The student needs to achieve an E in C1.
F The student needs to achieve an F in C1.
NS Non-submission of work by published deadline or non-attendance for examination

Module Requirements
Prerequisites for Module CM1702 Object Oriented Programming, or equivalent.
Corequisites for module None.
Precluded Modules None.

INDICATIVE BIBLIOGRAPHY
1 HORSTMANN, C, 2013. Big Java: Late Objects. 1st ed. John Wiley.
2 SAVITCH, W., 2013. Absolute Java. 5th ed. Pearson.
3 LIANG, Y. D, 2013. Introduction to Java Programming. 9th ed. Pearson
4 DEITEL, P. and DEITEL, H.,2012. Java: How to Program. 9th ed. Prentice Hall.
5 SOMMERVILLE, I., 2015. Software Engineering. 10th edition. Pearson
6 GOODRICH, M.T., and TAMASSIA, R., 2014. Data Structures and Algorithms in Java. 6th ed. John Wiley.
7 ACM Digital Library http://dl.acm.org


Robert Gordon University, Garthdee House, Aberdeen, AB10 7QB, Scotland, UK: a Scottish charity, registration No. SC013781