Software Engineering for Industry
In this module you will have the opportunity to:
- Find out more about industrial practices for working on large, existing, software systems
- Discuss how to successfully design, modify, maintain and operate the large software systems that form so much of the infrastructure of trade, commerce, communication and entertainment in the modern world
- Discuss current issues faced by the practising software engineer, and particularly look at engineering trade-offs in different situations
- Understand that software engineering problems do not always have right and wrong answers
Upon successful completion of this module you will be able to:
- Discuss trade-offs that must be made in software engineering projects caused by various engineering and business forces
- Reflect critically on theory in the context of industrial software engineering practice
- Construct an evidence-based argument by conducting your own literature research
- Apply relevant software engineering tools, techniques and practices in a given scenario
- Reflect on your own software engineering experience in the context of the wider industry
The topics that this module covers vary from year to year, as we try to stay current with issues and ideas being discussed in the industry. However, an indicative set of topics from recent years would be:
- Working with Legacy Code
- Software Architecture
- Software Evolution
- Agile Methods in Practice
- Continuous Delivery
- Microservice Architectures
- Cloud Computing
- Resilience at Scale
The contents of the 3rd Year Software Engineering Group Project or equivalent experience.
The learning in this course is mostly self-directed. For each different topic we will give you some starting points and suggested reading, but expect that you will also read other related articles etc that you find yourself. You will undertake small practical exercises related to some of the topics, and also write short articles explaining your thoughts on a particular question, backed up with evidence from literature.
During live class sessions we will discuss the latest topic based on what you have read and thought about during your research, and your own experiences working in industry (for example on placements and internships). We will invite expert guests from industry to join these discussions and present experiences from their work.
This is a coursework-only course, with no exam. There will be a number of assessed exercises (combining research, practical work, writing and reflection) undertaken in small groups through the term, plus a final larger coursework allowing you to demonstrate everything that you have learned from the course.