Software Engineering for Industry
This course is about working on large, existing, software systems. It focuses on tools, techniques, practices and principles that software engineers use on a daily basis to successfully build, modify, maintain and grow the large software systems that form so much of the infrastructure of trade, commerce, communication and entertainment in the modern world.
To be aware of discussion and issues related to each topic in the Syllabus, including the ability to do the following:
• Working with Legacy Code
• Seams and Sensing
• Software Architecure
• Viewpoints and Perspectives
• Software Evolution
• Microservices and architectural transformation
• Software repository mining
• Continuous Delivery
• Deployment Pipelines
• Testing and Quality Assurance
• Scaling and Resilience
• Circuit breakers
The contents of (302) Software Engineering Practice or equivalent experience.
Reading, Writing, Practical and Discussion:
As a coursework-only course, the learning in this course is mostly self-directed. Each week will cover a different topic. We will give some suggested reading - but expect that students will also read other related articles etc that they find for themselves. We will also give them a practical exercise associated with each topic. There is a lab session each week where students can get help with these, or - more usefully - discuss their thoughts and ideas with the course tutors.
They then need to write up a short summary of their thoughts on the week's topic, addressing a question that we will provide. Then, during the lecture slot on Tuesdays we will discuss the topic that the class has been researching, asking people from the class to briefly present their work and thoughts, and will discuss these as a class.
The topics covered in this class do not have right and wrong answers - software engineering is all about trade-offs - so bring your own thoughts and opinions about what would work in which situations, and why. Back up your thoughts with things you have read about, or experienced in projects, work placements etc.
Weekly topics are worked on in groups of 2-3. The written work that groups submit each week is assessed. The total of these makes up approx 60% of the course marks.
There is a final coursework in groups of 2-3 that takes the place of the exam for this course, with a written submission. This makes up approx 40% of the marks.
*This is a level 7/M course
Prentice Hall PTR
2nd ed., Upper Saddle River, NJ : Addison-Wesley
Raleigh, North Carolina : Pragmatic Bookshelf