Module Descriptors
APPLICATION MODELLING
COSE40574
Key Facts
Digital, Technology, Innovation and Business
Level 4
30 credits
Contact
Leader: Graham Mansfield
Hours of Study
Scheduled Learning and Teaching Activities: 96
Independent Study Hours: 204
Total Learning Hours: 300
Assessment
  • COURSEWORK weighted at 50%
  • COURSEWORK weighted at 50%
Module Details
Module Special Admissions Requirements
Co-requisite COSE40577 Introduction to Software Development or equivalent
Module Resources
Visual Studio
Modelling tool such as Microsoft Visio
Module Texts
Head First C#, 3rd ed., Stellman, A; Greene, J. (2013), O’Reilly, ISBN: 1449343503

Britton, C and Doake, J. (2006) Software System Development: A Gentle Introduction, 4th ed. McGraw-Hill Education, ISBN: 978-0077111038

The Unified Modelling Language User Guide 2nd ed., Booch, G.; Rumbaugh, J.; Jacobson, I. (2005), Addison-Wesley, ISBN: 978-0321267979

Module Learning Outcomes
1. EMPLOY A PROCEDURAL APPROACH TO DESIGN AND IMPLEMENT EFFICIENT ALGORITHMS THAT USE APPROPRIATE DATA STRUCTURES.
Application
Problem Solving

2. EMPLOY AN OBJECT-ORIENTED APPROACH TO DESIGN AND IMPLEMENT EFFICIENT ALGORITHMS THAT USE APPROPRIATE DATA STRUCTURES.
Application
Problem Solving

3. EVALUATE THE EFFECTIVENESS AND EFFICIENCY OF VARIOUS ALGORITHMS AND DATA STRUCTURES. Enquiry
Knowledge & Understanding

4. EMPLOY A SUITABLE NOTATION TO MODEL SOLUTIONS TO PROBLEMS.
Analysis
Communication
Problem Solving

5. IMPLEMENT PROCEDURAL MODELS IN A SUITABLE PROGRAMMING LANGUAGE.
Application
Knowledge & Understanding

6. IMPLEMENT OBJECT-ORIENTED MODELS IN A SUITABLE PROGRAMMING LANGUAGE.
Application
Module Texts
Head First C#, 3rd ed., Stellman, A; Greene, J. (2013), O’Reilly, ISBN: 1449343503


Britton, C and Doake, J. (2006) Software System Development: A Gentle Introduction, 4th ed. McGraw-Hill Education, ISBN: 978-0077111038


The Unified Modelling Language User Guide 2nd ed., Booch, G.; Rumbaugh, J.; Jacobson, I. (2005), Addison-Wesley, ISBN: 978-0321267979
Module Assessment
COURSEWORK Weighting 50%: Assignment to design, implement, test algorithms that use appropriate data structures to solve a given problem, including a brief report documenting and justifying the choice of algorithms and data structures. (Learning outcomes 1, 3, 4 and 5)

SECOND COURSEWORK Weighting 50%: Assignment to design, implement, test and document object-oriented solutions. (Learning outcomes 2, 3, 4, 5 and 6)
This will be the last assessment taken for this module
Module Indicative Content
Procedural
Top-down Problem solving
Pseudo-code
Introduction to implementing models in a programming language

Evaluating algorithms
- Testing
- Big-O notation
Data structures
- Arrays
- Stacks
- Queues
- Heaps
- Linked lists
- Trees
Sorting & searching algorithms
Process-centric modelling of systems
- Data Flow Diagrams

Introduction to relational databases
Entity-Relationship Diagrams
SQL & DDL
Accessing a database from a program

Object-Oriented
Object-oriented analysis & design
UML
- Modelling structure
- Class and object diagrams
- Relationships
- Modelling behaviour
- Use case diagrams
- Interaction diagrams
- Activity diagrams
- State diagrams
Techniques for testing OO designs
Implementing OO designs
Module Learning Strategies
52 lectures presenting key topics and concepts. 52 supervised tutorials with formative practical exercises.