CDIO projects have proven over many years now to be adequate for teaching and educating engineering students. These projects not only teach students relevant competences, but they also improve the learning process, they integrate different topic within and across terms, and they provide educators with the necessary inspiration to improve their courses and their interaction with students. All these benefits of CDIO projects and CDIO-based study lines often seem unachievable for individual courses that are not embedded in a CDIO setting.
In this article we present an approach that can simulate CDIO-like effects in non-CDIO courses. The suggested techniques can be applied to any courses also outside an engineering curriculum. The techniques also can be applied to CDIO-based courses but most notably also to non-CDIO courses, enabling educators to obtain CDIO-like benefits before their study programs have adapted CDIO, or while such an adaption is being considered or conducted.
The typical setup in project-based courses is that students work on a project throughout a course, either on individual phases or on developing the whole project. The bigger the project in question, the bigger the efforts to fit the whole project inside a course, and the steeper the learning curve for the students.
Our approach is based on extending existing projects with personalized extensions based on the students’ experience. In the beginning of the course, students get a whole, working prototype of the project to work on. During the semester, they then have to extent the prototype through a set of assignments. The student groups themselves choose the extensions they want to implement; these extensions come partly from a set of well-known, pre-specified extensions, and partly from suggestions by the students. To ensure that each group reaches a minimum level of experience, each extension has a certain value. Each group has to choose extensions such that the sum of points passes a certain threshold. The value of extensions suggested by groups is determined by the group members and the educator.
We have implemented our approach in a compiler techniques course on the 3rd term of our CDIO-based B.Eng. study line, and the results are very promising. Students appreciate the possibility to work on open problems, and the educators and teaching assistants benefit from the kind of closed setting the projects run in.
The project is based on a compiler for a subset of Java, which is the programming language used in our study line. Third-term students know the language well enough to know some of the basic extensions. They also have experienced some other concepts and programming languages with extensions that are not present in Java, or are not supported by the course project, leading to interesting and challenging nuances for some of the groups.
The resulting project setup gives groups on all levels the possibility to adapt their project to their capabilities and level of ambition.
KEYWORDS Computer Science, project work, Standards 2, 4, 5, 7, 8, 9, 11
Proceedings of the 12th International CDIO Conference, Turku, Finland, June 12-16 2016