For the last eight years I have been helping out with the Australian National University's Techlauncher program. Computer students undertake a group project for a real client, over two semesters, towards the end end of their degree. One of the features of the program is that students from different backgrounds, at different stages of their study, work together. There are undergraduate and postgraduate, domestic and international students, some have extensive industry experience, some have very little.
You will not find Techlauncher in the university handbook. Instead the program is listed as three course codes: Software Engineering Project (COMP3500), Software Engineering Practice (COMP4500), and Computing Project (COMP8715). Occasionally there are some students from other disciplines. But however the students enroll they end up in the same class together, to go through team formation.
What the different courses which make up Techlauncher have in common are learning outcomes of learning, reflection, communication, teamwork, and project management. It is assumed the student has completed studies in Professional Practice, Software Construction, Software Design, Software Engineering. This is in addition, and distinct from courses in Structured Programming, and other forms of programming. The elements the student needs to be able to integrate to work as a computer professional here are:
- communication both within a team and to external stakeholders,
- programming small pieces of code, or other tools such as interface design,
- designing larger structures from the components, testing and maintaining them,
- working as a member of a team,
- deciding what new skills are needed both as an individual professional, and for the team.
Software Design Methodologies Notes, slides and some videos.