COMP47480 Contemporary Software Development

Academic Year 2023/2024

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
Lectures

24

Seminar (or Webinar)

6

Practical

12

Autonomous Student Learning

70

Total

112

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
Practical Examination: Programming exam Week 12 n/a Graded No

30

Examination: Final Examination 2 hour End of Trimester Exam No Graded No

70


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

• Group/class feedback, post-assessment

How will my Feedback be Delivered?

Not yet recorded.

Name Role
Usama Ikhlaq Tutor
Ifran Rahman Nijhum Tutor
Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
 
Spring
     
Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33 Fri 10:00 - 10:50
Lecture Offering 1 Week(s) - 20, 21, 23, 24, 25, 26, 29, 31, 32, 33 Mon 12:00 - 12:50
Laboratory Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Tues 11:00 - 12:50
Spring