COMP47480 Contemporary Software Development

Academic Year 2022/2023

This module explores several of the various practices that a software developer needs to know to develop software in a contemporary industrial setting. The main topics covered include Software Methodology and Agile Methods, Unified Modelling Language, Software Testing, Refactoring, Software Design Principles, Heuristics and Metrics, and Design Patterns. Programming examples and exercises are presented primarily in code-based. Several of the practical sessions involve seminars delivered by speakers from the software industry describing how they develop software in their organisation. This module is very suitable for students who have a developed a solid base of programming skill and want to learn more about how high-quality software is developed in industrial practice.

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

On successful completion of this module, students will be able to:
- Describe current trends in software methodology;
- Model various aspects of a software system using UML;
- Develop robust software using unit testing;
- Use software design principles and heuristics to guide their programming and metrics to assess software quality;
- Improve the design of their software using refactoring;
- Apply a number of basic design patterns in their own programs.

Student Effort Hours: 
Student Effort Type Hours


Seminar (or Webinar)




Autonomous Student Learning




Approaches to Teaching and Learning:
Combination of lectures and practical work. 
Requirements, Exclusions and Recommendations
Learning Requirements:

Students entering this module should be competent object-oriented programmers, and be familiar with the Java language. For example, the material covered in Comp 30070 is a suitable basis for this module.

Module Requisites and Incompatibles
Not applicable to this module.
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Examination: Final Examination 2 hour End of Trimester Exam No Graded No


Practical Examination: Open book programming exam. Week 12 n/a Graded No


Journal: Reflections on practical work Varies over the Trimester n/a Graded No


Carry forward of passed components
Resit In Terminal Exam
Summer Yes - 2 Hour
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, post-assessment
• Group/class feedback, post-assessment

How will my Feedback be Delivered?

Not yet recorded.

Name Role
Mr Deaglan Bree Tutor
Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Fri 10:00 - 10:50
Laboratory Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Fri 16:00 - 17:50
Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Mon 12:00 - 12:50