In your first year, the Programming Project module will require you to individually develop a larger application chosen from a range of suggested projects. This is designed to reinforce your C programming skills and enhance your ability to independently implement code. You’ll develop experience with professional programming tools and techniques, such as version control, unit-testing, secure and defensive coding. You’ll also analyse existing code for consistency with coding standards and construct code to a given specification.
The second-year project in Software Engineering is a major software development task undertaken across one semester by teams of five or six students. It’s the first experience that you’ll have of developing a complex piece of software and you’ll do so in close collaboration with others. The project builds upon the programming skills gained in the first year and will give you exposure to a wide range of other activities important in the successful delivery of software, including:
- requirements capture
- object-oriented analysis and design
- user interface prototyping
- version control.
You’ll adopt an agile approach to development and use industry-standard tools for communication, collaboration and the management of project assets. These experiences will leave you well-prepared for placements or jobs in the software industry.
All of the teams are given the same problem to solve but are able to choose the technology to solve that problem. Some teams implement a front-end that runs as a desktop application, some create an app for a mobile device and others build something that runs in a web browser. The system must communicate over the network with a server and a database. All of these different components must be created from scratch by the team, meaning that the project draws directly upon what has been learned in a number of other first- and second-year modules.