Object Orientation Through the Lens of Computer Science Education with Some New Implications from Other Subjects Like the Humanities

Object Orientation Through the Lens of Computer Science Education with Some New Implications from Other Subjects Like the Humanities

Technische Universität München Fakultät für Informatik Fachgebiet Didaktik der Informatik Object-Oriented Programming through the Lens of Computer Science Education Marc-Pascal Berges Vollständiger Abdruck der von der Fakultät für Informatik der Technischen Universität München zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Johann Schlichter Prüfer der Dissertation: 1. Univ.-Prof. Dr. Peter Hubwieser 2. Univ.-Prof. Dr. Torsten Brinda, Universität Duisburg-Essen Die Dissertation wurde am 07. April 2015 bei der Technischen Universität München eingereicht und durch die Fakultät für Informatik am 02. Juli 2015 angenommen. Abstract In recent years, the importance of the object-oriented paradigm has changed signifi- cantly. Initially it was mainly used in software engineering, but it is now being used more and more in education. This thesis applies methods of educational assessment and statistics to object-oriented programming and in doing so provides a broad overview of concepts, teaching methods, and the current state of research in this field of computer science. Recently, there have been various trends in introductory courses for object-oriented programming including objects-first and objects-later. Using current pedagogical concepts such as cognitive load theory, conceptual change, and self-directed learning in the context of this work, a teaching approach that dispenses almost entirely of instruction by teachers was developed. These minimally invasive programming courses (MIPC) were carried out in several passes in preliminary courses in the Department of Computer Science at the TU München. The students were confronted with a small programming task just before the first lecture. Using worksheets that were based on the objects-first approach, the essential object-oriented programming concepts were presented with brief explanations. A student tutor was set aside to support each group. The results of the courses have been investigated in various ways. First, changes in conceptual knowledge with concept maps were collected. Second, the program code that was produced was examined. Among other things, we evaluated which concepts were implemented by the novice programmers. The combination of these two methods of investigation provides a link between knowledge and ability. It turns out that there are concepts in programming that can be applied before a classification or representation in existing knowledge structures takes place. The correlation of these results with the personal data collected such as gender, school experiences or previous programming knowledge leads to a detailed picture of the skills and abilities of participating students. Additionally, the psychometric approach of item response theory was applied to the program code. This methodology provides an opportunity to evaluate programming abilities on the basis of programming tasks embedded in small or large projects. The basic idea is that items are created representing observable structural elements in the program code. Based then on the code items applied on the data of the MIPC course, a valid dataset was examined with reference to the Rasch model. A graphical illustration is introduced to visualize the definitions of the concepts covered in the course. The so-called concept specification map (CSM) connects concepts by their definitions. Since there are seldom "complete" definitions in a single place in textbooks, CSM considers specifications of concepts in a larger area. By linking the individual specifications, an overview is achieved of how a specific concept is defined in a given textbook. Furthermore, these important dependencies for teaching are discussed and an example of a qualitative analysis of textbooks is presented. Zusammenfassung In den letzten Jahren hat sich die Bedeutung des objektorientierten Paradigmas ganz erheblich gewandelt. Anfangs wurde es vorwiegend in der Softwaretechnik angewandt, inzwischen geschieht dies aber auch mehr und mehr in der Lehre. Die vorliegende Arbeit wendet geisteswissenschaftliche und statistische Methoden auf die objektorien- tierte Programmierung an und liefert dadurch einen breiten Überblick über Konzepte, Lehrmethoden und die aktuelle Forschung in diesem Bereich der Informatik. Speziell zur Einführung in die objektorientierte Programmierung gibt es in den letzten Jahren verschiedene Strömungen wie objects-first und objects-later. Unter Anwendung aktueller didaktischer Konzepte wie der Cognitive Load Theory, Conceptual Change und Self-Directed Learning entstand im Rahmen dieser Arbeit ein Lehrkonzept, das nahezu komplett auf Instruktion durch Lehrpersonen verzichtet. Diese sog. Mini- mally Invasive Programming Courses (MIPC) wurden in mehreren Durchläufen im Rahmen der Vorkurse der Fakultät für Informatik an der TU München durchgeführt. Dabei wurden die Studierenden bereits vor der ersten Vorlesung mit einer kleinen Programmieraufgabe konfrontiert. Mithilfe von Arbeitsblättern, die sich am Ansatz objects-first orientieren, wurden die zur Lösung notwenigen Konzepte der objektorien- tierten Programmierung mit kurzen Erklärungen vorgestellt. Zur Unterstützung wurde jeder Gruppe ein studentischer Tutor zur Seite gestellt. Die Ergebnisse der Kurse wurden auf verschiedenste Weise untersucht. Zum einen wurden die Veränderungen von konzeptuellem Wissen mit concept maps erhoben. Außerdem wurde der produzierte Programmcode untersucht. Dabei wurde u.a. ausgew- ertet, welche Konzepte die Programmieranfänger umgesetzt haben. Die Verbindung dieser beiden Untersuchungsmethoden liefert einen Zusammenhang zwischen Wissen und Können. Dabei wird erkennbar, dass es Konzepte in der Programmierung gibt, die angewendet werden können, bevor eine Einordnung beziehungsweise Repräsentation in vorhandene Wissensstrukturen stattfindet. Die Korrelation dieser Ergebnisse mit den erhobenen Personendaten wie zum Beispiel Alter, Geschlecht, Schulerfahrung oder Vorkenntnisse in der Programmierung zeigt ein ausführliches Bild der Fähigkeiten und Fertigkeiten der teilnehmenden Studierenden. Zudem lässt sich die Frage beantworten, ob es verschiedene Arten von Programmieranfängern gibt. Des Weiteren wird der psychometrische Ansatz der Item-Response Theorie auf Quell- code angewendet. Dieses Vorgehen ermöglicht es Programmier- bzw. Codierfähigkeiten auf der Basis von in Projekten eingebundenen Programmieraufgaben zu evaluieren. Die grundlegende Idee hinter dem Verfahren ist die Generierung von Items, die struk- turelle Elemente des Programmcodes repräsentieren. Auf Basis der Quellcodes aus den MIPC-Kursen wurde ein gültiges Item-Set im Sinne eines Rasch-Modells ermittelt. Um die in einem Kurs behandelten Konzepte umfassend zu definieren und in einen Zusammenhang zueinander zu bringen, wird eine spezielle graphische Veranschau- lichung eingeführt. Die sog. Concept Specification Map (CSM) verbindet Konzepte durch ihre Definitionen. Da es in Lehrtexten selten “vollständige‘” Definitionen an einer einzigen Stelle gibt, berücksichtigt die CSM Spezifikationen von Konzepten in einem größeren Textabschnitt. Durch die Verknüpfung der einzelnen Spezifikationen ergibt sich ein Überblick, wie bestimmte Konzepte im jeweiligen Lehrbuch definiert werden. Außerdem werden dadurch auch wichtige Abhängigkeiten für die Lehre aufgezeigt. Am Beispiel einer qualitativen Textbuchanalyse werden die Einsatzmöglichkeiten vorge- führt. Acknowledgments The work on a thesis is an interesting and challenging task. First and foremost, it is a big trial for oneself. None of this would be possible without the support of many. So, I want to thank those people at the very beginning. First, I want to thank Prof. Dr. Johann Schlichter for heading the examination committee. Furthermore, I thank Prof. Dr. Torsten Brinda, my second supervisor, for his patience, his advice, and the fast evaluation. A thesis cannot be written without the assistance of very pleasant colleagues. I want to thank you all for the stimulating discussions. Namely, Alexander Ruf and Dino Capovilla, who accompanied me for a long time, should be mentioned here. A very special thanks to Andreas Mühling who was always there to listen to my ideas and to criticize them. The work with him on the gap between knowledge and abilities was very interesting. Additionally, the theoretical clarification of the methods around item response theory and cluster analysis made a huge contribution to the success of this work. To write a thesis without supervision is not possible at all. But, supervision is not the only necessity during the writing process. In Germany we have the word "Doktorvater" which perfectly describes my supervisor Prof. Dr. Peter Hubwieser. During the last seven years, he has supported me in all my endeavors. It was and is a great pleasure to work with him. Without his encouragement, especially during the end of the writing phase, this thesis would have never been finished. Last but not least I have to thank my wife. As I have written in the beginning of these acknowledgments, a thesis is a great adventure and a big trial for oneself. Without her support and the patience, I would not have written these lines. Thank you for everything. Contents 1 Introduction 1 1.1 Problem Setting and Motivation . 1 1.2 Research Questions . 2 1.3 Methodology and Structure . 5 2 Computer Science Background 9 2.1 Small History of the Object-Oriented Paradigm and the Corresponding Programming Languages . 9 2.2 Different Views of Object Orientation . 18 2.2.1 A Definition

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    368 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us