The relatively short history of IT can unfortunately point out a number of failing projects concerning missing deadlines, functionalities, low quality, etc. Theories and techniques have been developed, to meet inherent problems and challenges. But also software process models, that is ways of working, where several typical activities within software processes have been emphasized. Still, the use of software also seems to bring even further requirements on new techniques. A conclusion is therefore that, besides from some core fundaments, inherent parts of IT are, by necessity, evolving in themselves.
When it comes to educational systems, an appropriate set of theories, techniques, and principles should be taught to prepare for working in software industry. Still, this is not enough. A software engineer actually needs to be able to handle all the steps of a software process. That is, educational systems have to find ways to support teachings, not only in theories, techniques, and principles, but also in ways of working that hopefully should correspond well to the practices of software industry. Furthermore, students should be gained by getting educational support to meet and handle the ever changing future.
This contribution presents project based approaches where the process of developing the project result should have several benefits. First, it should provide a basis for training core practices of Computer Science, second it should prepare for software processes, i.e., ways of working in software industry, and third, it should aim for students being responsible for self learning. Especially, the third point is significantly important in a discipline of ever changing techniques. Inspiration is taken from well known Software Process Models. Such are models are shown to lie close to the CDIO initiative. Software Process Models are discussed, comparisons with CDIO are provided, as well as a case study on a project based course.
Danmarks Tekniske Universitet, DTU, 2011. 438-452 p.
CDIO, Project based learning, Education concepts, Software Engineering, Cooperative work, Evaluations for groups