Cooperatively searching for solutions is a primary skill of programmers and software engineers in their daily work. This paper proposes a teaching concept to support students in developing the ability of cooperative problem solving using a combination of cooperative learning groups and a two-stage final exam. All examples and data stem from a course on algorithms and data structures. First results indicate that the new form of examination succeeds in capturing competences exceeding those of conventional exams. In addition, there is also a weak potential impact on work in software engineering projects.