Blekinge Institute of Technology, Department of Software Engineering and Computer Science
The articles in this research report are the result of the efforts of the students of the master course on advanced object-oriented concepts. The course is part of the software engineering master year at the University of Karlskrona/Ronneby. During the course, the students were introduced to about 20 advanced object-oriented concepts, such as delegation, prototype-based languages, reflection, typing, real-time and concurrent object-oriented languages, dynamic binding, garbage collection, delegating compiler objects, design patterns and frameworks. Rather than passively being present at the classes and listening to the lectures, the students were required to themselves present these new concepts. This required considerable amounts of active searching and independent knowledge acquisition from the students that had, subsequently, to be converted in a one to two hour lecture. The lecture was followed by a discussion involving all students. The organisation of the course lead to a very effective learning of the various concepts that were part of the course. Another, very important, aspect of the course was that each student was required to write a research paper on a subject within the object-oriented domain. One requirement on the article was that it had to be problem-oriented in that it had to identify a problem and subsequently propose a solution to the problem. Rather than writing a literature survey, the student was required to write a paper that contained a (possibly minor) scientific contribution to the object-oriented domain. During the course, writers workshops were organised during which students, in groups, read and commented on papers written by their colleagues. The results of this part of the course are gathered in this research report. Fourteen student research papers form the contents of this research report. The articles have been classified into four categories, i.e. reuse and evolution, object-oriented languages, software design and object-oriented frameworks. The reader will recognise, perhaps surprisingly, that many of the papers are strongly founded in practical experiences and address relevant technical problems that our software industry has to deal with on day to day basis. The explanation for this can be found in the project-oriented organisation of the software engineering study program and the strong relation to the local software industry. During the first three years of their studies, the students have experienced the real problems in software engineering and during the master year the students learn to reflect on these problems and to develop solutions. At the end of the course for this year, I am happy that I can conclude that the goals of the course have been more than achieved. Many of the lectures were of very good quality, the participation in the discussions was more than satisfactory and the research papers are very worthwhile reading. The course required from the students, but also from the teacher, a considerable effort, that, almost certainly, resulted in a highly valuable learning experience. For my part, I look with great satisfaction back on the course and hope for many successful repetitions in the future.