I think it would be useful for students to have newer software paradigms such as microservice architecture or a newer one FaaS(Function as a service) in the course.
In a MSc course I would emphasise on software design principles (like Secure by Design, which already includes privacy or if not Privacy by Design and others), usability engineering and the implementation validation of all of them.
For MSc programme level, I will suggest you go into novel area in software engineering, software architecture and software recycling. Also, emphasis should be placed not just in the learning but in the implementation.
My suggestion is out of left field. I agree implementation is key. Do group projects in the top five applications, in banking, manufacture, agriculture, where teams of 4 or 5 students have to collaborate to produce a result. They would both develop and take on key roles like project manager, tester, technical architect, and business analyst.
As well, each group would have to evaluate the other groups' projects, based on a template designed by the instructor but adding several criteria they designed. Real-life is complicated, so a semester-long or year-long project will assess their ability to undertake sustained effort rather than doing some last-minute clever programming.
About collaboration with de industry is really necesary. On ther other hand I think is very important add to class topic about Continue Integration (CI) and in general all topics around quality assurance.
I believe distributed systems are going to become increasingly common as IoT ramps up and edge computing becomes increasingly relevant. Spending a little time introducing the challenges from an architecture perspective will reinforce the tradeoffs that must addressed for good software design.
The world nowadays having become a connected world, and one of the most used protocols in this world connection is the IP protocol, according to my logic, for any learner or student of Software Engineering, we had to also associate a related part to socket programming. It makes sense for a software engineer to add this knowledge to their profile.
Software development projects management, testing, continuous integration, DevOps, microservices and distributed applications, tendencies in software management and development.