Explore UCD

UCD Home >

COMP20050

Academic Year 2025/2026

Software Engineering Project 2 (COMP20050)

Subject:
Computer Science
College:
Science
School:
Computer Science
Level:
2 (Intermediate)
Credits:
5
Module Coordinator:
Dr Ravi Manumachu
Trimester:
Spring
Mode of Delivery:
On Campus
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

The module has two main goals. The first goal emphasizes students working in teams and applying a modern software engineering methodology called Scrum to deliver a working software application with complexity reflective of a real-world software project. On completion of the module, the students are expected to understand how professional software developers practice Scrum.

The second goal focuses on evolving a student’s knowledge and skills of the core software engineering concepts, principles of good software architecture, code quality, test quality and documentation. On completion of the module, the students are expected to understand sound software design principles and apply them in their software applications' design, development and testing.

About this Module

Learning Outcomes:

On completion of this module students are expected to:

a). Understand the four fundamental steps of software development: software specification, design and implementation, validation and evolution.
b). Propose a software architectural design of the software application.
c). Formulate a Scrum project plan divided into sprints to develop the software application.
d). Create a fully functional prototype of the software application following the Scrum software process model.

Indicative Module Content:

Lectures 1-2: Module Introduction and Project Description
Presents an overview of concepts of software development: software specification, design and implementation, validation and evolution.
Describes the software engineering team project challenge.

Lectures 3-4: Scrum software methodology and architectural design
The basics of agile software process model and Scrum software methodology.
Introduction to system modelling and software architectural design.

Lectures 5-6: Clean testing principles and JUnit Framework

Lectures 7-11: Lectures on graphical user interface (GUI) packages, JavaFX and LibGDX.

Lectures 12-18: Clean architecture and code
Good software architecture, programming paradigms, and clean code practices (clean testing, formatting, classes, functions and error handling).

Lectures 18-21: Advanced software engineering principles (SOLID design and component principles), and Authentic Learning Workshops

The authentic learning workshops offer a real-world context for groups to practice Scrum activities. Each workshop has specific learning objectives, where groups participate in code walk-throughs to ensure that clean code principles are upheld. Tutors provide guidance, clarifications, and additional resources to support the groups throughout the process.

Student Effort Hours:
Student Effort Type Hours
Lectures

20

Practical

24

Specified Learning Activities

70

Autonomous Student Learning

15

Total

129


Approaches to Teaching and Learning:
Lecture-based content delivery.
Workshops.
Practical-based group work.

Requirements, Exclusions and Recommendations
Learning Requirements:

Students must be able to program in Java. Students who have no previous experience of Java programming must obtain the permission of the lecturer to attend this module, and such permission will be granted only in exceptional circumstances.

Learning Recommendations:

It is strongly recommended that students have passed COMP20350 Object-Oriented Programming or COMP20250 Introduction to Java or before attempting this module.


Module Requisites and Incompatibles
Pre-requisite:
COMP10110 - Computer Programming I, COMP10120 - Computer Programming II

Required:
COMP20250 - Introduction to Java, COMP20350 - Object-Oriented Programming

Additional Information:
In place of the required module COMP20350 Object-Oriented Programming, it is also acceptable to have taken COMP20250 Introduction to Java.


 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Group Work Assignment: Group Project: Students work in small teams to solve the software engineering challenge. The group work is broken into four sprint assignments and final project release submission. Week 5, Week 7, Week 9, Week 11, Week 12 Alternative linear conversion grade scale 40% No
85
No
Group Work Assignment: Group Project: Students work in teams employing Problem-based Learning approach to research and propose a high-level architectural design. Groups then propose a feature plan comprising four sprints. Week 3 Alternative linear conversion grade scale 40% No
15
No

Carry forward of passed components
No
 

Resit In Terminal Exam
Summer No
Please see Student Jargon Buster for more information about remediation types and timing. 

Feedback Strategy/Strategies

• Feedback individually to students, post-assessment

How will my Feedback be Delivered?

Marks and written feedback are provided online for submitted assignments.

Software Engineering
by Ian Sommerville
Publisher: ‎ Pearson; 10th edition

Essential Scrum: A Practical Guide to the Most Popular Agile Process
By Kenneth S. Rubin
Publisher: Addison-Wesley Professional; 1st edition

Clean Architecture: A Craftsman's Guide to Software Structure and Design
By Robert C. Martin
Publisher: ‎ Addison-Wesley; 1st edition

Clean Code: A Handbook of Agile Software Craftsmanship
By Robert C. Martin
Publisher: ‎ Prentice Hall; 1st edition

Name Role
Sourodip Ghoshdastidar 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, 29, 31, 32, 33 Fri 13:00 - 13:50
Spring Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33 Tues 13:00 - 13:50
Spring Practical Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33 Fri 09:00 - 10:50
Spring Practical Offering 2 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Tues 09:00 - 10:50