COMP20050 Software Engineering Project 2

Academic Year 2024/2025

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.

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

On completion of this module students are expected to:

a). Design a high-level software architecture of the software application.
b). Formulate a Scrum project plan divided into sprints to develop the software application.
c). Create a fully functional prototype of the software application.
d). Compare software designs and implementations of the software application.

Indicative Module Content:

Lectures 1-2: Project Challenge and Group Work
Presents and discusses the software engineering team challenge and best practices for working effectively in teams.

Lectures 3-4: Git Version Control, Scrum Software Methodology
The basics of git version control system.
The basics of Scrum software methodology and how to effectively use Scrum.

Lectures 5-8: Clean code and architecture
Good software architecture and engineering practices.

Lectures 6-8: Agile Software Development
Principles of Agile software development methodology and the practicalities of work in teams, with reference to Scrum.

Lectures 9-20: Lecture and Authentic Learning Workshops
The lectures delve in-depth into the core software engineering concepts, principles of good software architecture, code quality, test quality and documentation. The authentic learning workshops create a real-world context where the groups practice Scrum activities, collaboratively work on product features, and create potentially shippable software product increments. Each workshop's learning objective and assessment criterion is that each group should work as a Scrum team and create a shippable feature. The lecturer and tutor guide the groups with clarifications and additional resources.

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:
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 Open Book Exam Component Scale Must Pass Component % of Final Grade
Group Work Assignment: Group Project: Students work in teams employing Problem-based Learning approach to research and propose a high-level architecture design. Groups then propose a project plan comprising four sprints. n/a Alternative linear conversion grade scale 40% No

15

Group Work Assignment: Group Project: Students work in small teams to solve the software engineering challenge. The group work is broken into a number of sprint assignments (sprint review and implementation). n/a Alternative linear conversion grade scale 40% No

85


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.

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

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

The Pragmatic Programmer: Your journey to mastery
By David Thomas, Andrew Hunt
Publisher: ‎ Addison-Wesley Professional; 2nd edition

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