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.