COMP20050 Software Engineering Project 2

Academic Year 2023/2024

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 about to program in Java. Students who have no previous experience of Java programming must obtain the permission of the lecturer to attend this module.

Learning Recommendations:

It is strongly recommended that students take and pass Programming 1 and 2 and Software Engineering 1 in the first year before taking this module.
It is strongly recommended that students take and pass Introduction to Java before taking this module.


Module Requisites and Incompatibles
Co-requisite:
COMP20250 - Introduction to Java


 
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
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). Throughout the Trimester n/a Alternative linear conversion grade scale 40% No

85

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 five sprints.
Week 4 n/a Alternative linear conversion grade scale 40% No

15


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
Amartya Das Tutor
Sourodip Ghoshdastidar Tutor
Maryam Gillani Tutor
Mr Adityaa Gupta Tutor
Usama Ikhlaq Tutor
Hafiz Adnan Niaz Tutor
Stephen Philip Pilli Tutor
Mr Jai Narayana Sridharan Murali Tutor
Ning Tao Tutor
Ms Kar Yen Yap Tutor
Mr Oscar Yeoh 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 13:00 - 13:50
Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Tues 13:00 - 13:50
Practical Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33 Fri 09:00 - 10:50
Practical Offering 2 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Tues 09:00 - 10:50
Spring