Software Engineering Group Projects - Spring 2024


This course is about the development and management of software projects. We hope that you will learn and put into practice state-of-the-art techniques used in industrial software development to ensure that your team produces software co-operatively, reliably and on schedule. The material here is selected to support the Software Engineering Group Project. You will get individual help and advice in your team on putting these things into practice.

If you are interested in what sorts of projects teams did in previous years, take a look at these videos for a sample:

Course Leaders: Matt Green and Eoin Woods Project Coordinator: Thomas Lancaster

Format and Delivery

We will only be giving introductory lectures in the first week of this course. We are providing most of the core content online. We have provided a selection of articles and videos covering the main topics. You should review these, as you will need to understand this material, to re-cap and provide more depth on topics from earlier courses, to help you with your project. This material is deliberately introductory, and you should also do your own research on the internet and using O'Reilly Learning to dive more deeply into the areas that are relevant to your project.

Consultations

To support you in applying these techniques, we are providing consulting to individual project groups. Your group must have at least one consultation during the first half of the project, and at least one during the second half. You may well find it useful to have a third session. The consultation sessions aim to help you with the software engineering aspects of your projects, and in the past teams have found them very useful. The consultations are not graded, but are a compulsory part of the project. Your group should book an appointment at a time that suits you. There are lots of teams and a limited number of slots, so make sure that you book early to get a slot that works for you. The whole group should attend, and attendance will be recorded.

Themes

As well as the technical challenge of the project topics we are expecting you to explore and deepen your knowledge of the following areas of professional software engineering practice:

We stress these aspects of software engineering practice because our long experience of industrial software development has shown us that these are often the factors that result in success or failure of a software project (rather than the highly technical factors where we often focus our attention when starting the project).

Discussion

We encourage you to raise any queries or discussion points on the EdStem forum.

Assessment

The software engineering part of the project is assessed through coursework and checkpoints over the course of the project, to be completed and submitted in your project groups. The coursework is designed to be lightweight, and the aim is that doing it should help you to produce a better project, not be a distraction from the project. Following good software engineering techniques should result in a better end result for your project, and the markers will be looking for evidence that you were thoughtful about the activities and techniques that you applied for your particular project context..