COMP10050 Software Engineering Project 1

Academic Year 2023/2024

This module focuses on developing a student's ability to program and is designed to supplement the Introduction to Programming modules COMP10110 and COMP10120. The main goal is to give the student experience in developing software programs that are significantly larger than those encountered in COMP10110 and COMP10120. On completion of the module the student will have developed at least three software programmes comprising more than 100 lines of code.This module also provides an introduction to some ideas and methods in professional software development. Students are encouraged to use a professional Integrated Development Environment such as Microsoft Visual Studio for project work. The important role of software testing is software development is also emphasised throughout the module. Students are also introduced to the complexities of large scale software development through seminars by external speakers from industry.

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

On completion of this module students should be able to:·
1. Design and develop a moderately complex software system,
2. Have a better understanding of the typical design, implementation and testing processes in commercial software development,
3. Use an Integrated Development Environment (IDE) such as Microsoft Visual Studio.

Indicative Module Content:

Use of an Integrated development environment
Creation and use of software libraries
String manipulation
Arrays and 2-dimensional arrays
Sorting algorithms
Distributed version control and Git
Group work
Data structures
Linked lists
Input/Output operations
Unit Testing and CUnit

Student Effort Hours: 
Student Effort Type Hours






Specified Learning Activities


Autonomous Student Learning




Approaches to Teaching and Learning:
The teaching technique that will be adopted in this module is based on problem-based learning.
The students will be required to work on 3 different projects. 2 of them performed individually and one of them performed in a group of 2.
Students will be first given the problem description and some information about what it is expected in the project. Lectures will be used to give students hints and code examples about how to address some of the most critical parts of the project.
Labs will be aimed to support students in applying the techniques and solutions learnt in class in their own project. 
Requirements, Exclusions and Recommendations
Learning Requirements:

Students must have basic knowledge of programming to register for this
module. The level of knowledge is that which student's achieve in
COMP10010 Introduction to Programming I. Students who have attended
COMP10010 must have passed COMP10010 to attend this module. Students
who have not attended COMP10010 must obtain the permission of the
lecturer to attend this module by showing competence in basic

Learning Recommendations:

It is recommended that students take and pass COMP10010 in the first
semester and take COMP10020 Introduction to Programming II in the
second semester concurrently with 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
Continuous Assessment: 2 x Code Review interviews during the course Varies over the Trimester n/a Graded No


Examination: Short Exam based on the four formative assignments asking the students to give examples 1 hour End of Trimester Exam No Graded No


Carry forward of passed components
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, on an activity or draft prior to summative assessment
• Feedback individually to students, post-assessment
• Self-assessment activities

How will my Feedback be Delivered?

During the lab, the lecturer will support and help the students in completing their project and will have the chance to give face-to-face feedback prior project submission. During the lectures, checklists of what is expected for the project and examples of common mistakes will be provided to the students. After project submission, the lecturer will provide individual written feedback to each student highlighting the good aspects of the project and points for improvement.

Name Role
Mr John Dunnion Lecturer / Co-Lecturer
Mr Mugesh . Tutor
Zhonghe Chen Tutor
Amartya Das Tutor
Haotian Li Tutor
Yunan Li Tutor
Mr Hrishikesh Dilip Mulay Tutor
Mr Cormac Murray Tutor
Davide Italo Serramazza Tutor
Mr Jai Narayana Sridharan Murali Tutor
Weijiong You Tutor
Mr Jiwei Zhang Tutor
Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Practical Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Thurs 16:00 - 17:50
Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Wed 10:00 - 10:50