TY - JOUR A1 - Böhnke, Anja A1 - Dietz, Dennis A1 - Großmann, Leroy A1 - Wienmeister, Annett A1 - Zoppke, Till ED - Mientus, Lukas ED - Klempin, Christiane ED - Nowak, Anna T1 - Neue videobasierte Lehr-Lern- Gelegenheiten für die erste und zweite Phase der Lehrkräftebildung im FOCUS Videoportal BT - Fachdidaktische und pädagogisch-psychologische Perspektiven zur Reflexion von Unterrichtsvideos JF - Reflexion in der Lehrkräftebildung: Empirisch – Phasenübergreifend – Interdisziplinär (Potsdamer Beiträge zur Lehrerbildung und Bildungsforschung ; 4) N2 - Die professionelle Entwicklung von Lehrkräften kann durch die Analyse von Unterrichtsvideos gefördert werden. Hierfür benötigte videobasierte Lehr-Lern-Gelegenheiten werden im FOCUS Videoportal der Freien Universität (https://tetfolio.fu-berlin.de/focus) Berlin bereitgestellt. In diesem Beitrag werden neue Lehr-Lern-Gelegenheiten der ersten und zweiten Phase der Lehrkräftebildung vorgestellt, die im Zuge der Weiterentwicklung des FOCUS Videoportals implementiert wurden. Für die erste Phase der Lehrkräftebildung werden Lehr-Lern-Gelegenheiten zu drei fachdidaktischen Schwerpunkten (Didaktik der Chemie, der Philosophie und Ethik sowie der Informatik) vorgestellt. Für die zweite Phase der Lehrkräftebildung wird ein neu entwickeltes Format (der Videozirkel) zur Reflexion eigener Unterrichtspraxis bei Lehramtsanwärter:innen präsentiert. KW - Unterrichtsvideos KW - professionelle Wahrnehmung KW - Experiment KW - ethischer Relativismus KW - Debugging Y1 - 2023 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-631518 SN - 978-3-86956-566-8 SN - 2626-3556 SN - 2626-4722 IS - 4 SP - 309 EP - 316 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - BOOK A1 - Niephaus, Fabio A1 - Felgentreff, Tim A1 - Hirschfeld, Robert T1 - Squimera BT - a live, Smalltalk-based IDE for dynamic programming languages N2 - Programmierwerkzeuge, die verschiedene Programmiersprachen unterstützen und sich konsistent bedienen lassen, sind hilfreich für Softwareentwickler, weil diese sich nicht erst mit neuen Werkzeugen vertraut machen müssen, wenn sie in einer neuen Sprache entwickeln wollen. Außerdem ist es nützlich, verschiedene Programmiersprachen in einer Anwendung kombinieren zu können, da Entwickler dann Softwareframeworks und -bibliotheken nicht in der jeweiligen Sprache nachbauen müssen und stattdessen bestehende Software wiederverwenden können. Dennoch haben Entwickler eine sehr große Auswahl, wenn sie nach Werkzeugen suchen, die teilweise zudem speziell nur für eine Sprache ausgelegt sind. Einige integrierte Entwicklungsumgebungen unterstützen verschiedene Programmiersprachen, können aber häufig keine konsistente Bedienung ihrer Werkzeuge gewährleisten, da die jeweiligen Ausführungsumgebungen der Sprachen zu verschieden sind. Darüber hinaus gibt es bereits Mechansimen, die es erlauben, Programme aus anderen Sprachen in einem Programm wiederzuverwenden. Dazu werden häufig das Betriebssystem oder eine Netzwerkverbindung verwendet. Programmierwerkzeuge unterstützen jedoch häufig eine solche Indirektion nicht und sind deshalb nur eingeschränkt nutzbar bei beispielsweise Debugging Szenarien. In dieser Arbeit stellen wir einen neuartigen Ansatz vor, der das Programmiererlebnis in Bezug auf das Arbeiten mit mehreren dynamischen Programmiersprachen verbessern soll. Dazu verwenden wir die Werkzeuge einer Smalltalk Programmierumgebung wieder und entwickeln eine virtuelle Ausführungsumgebung, die verschiedene Sprachen gleichermaßen unterstützt. Der auf unserem Ansatz basierende Prototyp Squimera demonstriert, dass es möglich ist, Programmierwerkzeuge in der Art wiederzuverwenden, sodass sie sich für verschiedene Programmiersprachen gleich verhalten und somit die Arbeit für Entwickler vereinfachen. Außerdem ermöglicht Squimera einfaches Wiederverwenden und darüber hinaus das Verschmischen von in unterschiedlichen Sprachen geschriebenen Softwarebibliotheken und -frameworks und erlaubt dabei zusätzlich Debugging über mehrere Sprachen hinweg. N2 - Software development tools that work and behave consistently across different programming languages are helpful for developers, because they do not have to familiarize themselves with new tooling whenever they decide to use a new language. Also, being able to combine multiple programming languages in a program increases reusability, as developers do not have to recreate software frameworks and libraries in the language they develop in and can reuse existing software instead. However, developers often have a broad choice with regard to tools, some of which are designed for only one specific programming language. Various Integrated Development Environments have support for multiple languages, but are usually unable to provide a consistent programming experience due to different features of language runtimes. Furthermore, common mechanisms that allow reuse of software written in other languages usually use the operating system or a network connection as the abstract layer. Tools, however, often cannot support such indirections well and are therefore less useful in debugging scenarios for example. In this report, we present a novel approach that aims to improve the programming experience with regard to working with multiple high-level programming languages. As part of this approach, we reuse the tools of a Smalltalk programming environment for other languages and build a multi-language virtual execution environment which is able to provide the same runtime capabilities for all languages. The prototype system Squimera is an implementation of our approach and demonstrates that it is possible to reuse development tools, so that they behave in the same way across all supported programming languages. In addition, it provides convenient means to reuse and even mix software libraries and frameworks written in different languages without breaking the debugging experience. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 120 KW - Programmiererlebnis KW - integrierte Entwicklungsumgebungen KW - mehrsprachige Ausführungsumgebungen KW - Interpreter KW - Debugging KW - Smalltalk KW - Python KW - Ruby KW - programming experience KW - integrated development environments KW - polyglot execution environments KW - interpreters KW - debugging KW - small talk KW - Python KW - Ruby Y1 - 2017 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-403387 SN - 978-3-86956-422-7 IS - 120 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - JOUR A1 - Perscheid, Michael A1 - Siegmund, Benjamin A1 - Taeumel, Marcel A1 - Hirschfeld, Robert T1 - Studying the advancement in debugging practice of professional software developers JF - Software Quality Journal N2 - In 1997, Henry Lieberman stated that debugging is the dirty little secret of computer science. Since then, several promising debugging technologies have been developed such as back-in-time debuggers and automatic fault localization methods. However, the last study about the state-of-the-art in debugging is still more than 15 years old and so it is not clear whether these new approaches have been applied in practice or not. For that reason, we investigate the current state of debugging in a comprehensive study. First, we review the available literature and learn about current approaches and study results. Second, we observe several professional developers while debugging and interview them about their experiences. Third, we create a questionnaire that serves as the basis for a larger online debugging survey. Based on these results, we present new insights into debugging practice that help to suggest new directions for future research. KW - Debugging KW - Literature review KW - Field study KW - Online survey Y1 - 2016 U6 - https://doi.org/10.1007/s11219-015-9294-2 SN - 0963-9314 SN - 1573-1367 VL - 25 SP - 83 EP - 110 PB - Springer CY - Dordrecht ER - TY - JOUR A1 - Steinert, Bastian A1 - Cassou, Damien A1 - Hirschfeld, Robert T1 - CoExist overcoming aversion to change preserving immediate access to source code and run-time information of previous development states JF - ACM SIGPLAN notices N2 - Programmers make many changes to the program to eventually find a good solution for a given task. In this course of change, every intermediate development state can of value, when, for example, a promising ideas suddenly turn out inappropriate or the interplay of objects turns out more complex than initially expected before making changes. Programmers would benefit from tool support that provides immediate access to source code and run-time of previous development states of interest. We present IDE extensions, implemented for Squeak/Smalltalk, to preserve, retrieve, and work with this information. With such tool support, programmers can work without worries because they can rely on tools that help them with whatever their explorations will reveal. They no longer have to follow certain best practices only to avoid undesired consequences of changing code. KW - Design KW - Experimentation KW - Human Factors KW - Continuous Testing KW - Continuous Versioning KW - Debugging KW - Evolution KW - Explore-first Programming KW - Fault Localization KW - Prototyping Y1 - 2013 U6 - https://doi.org/10.1145/2480360.2384591 SN - 0362-1340 VL - 48 IS - 2 SP - 107 EP - 117 PB - Association for Computing Machinery CY - New York ER - TY - THES A1 - Ziemann, Felix T1 - Entwicklung und Evaluation einer prototypischen Lernumgebung für das systematische Debugging logischer Fehler in Quellcode T1 - Development and evaluation of a prototype learning environment designed for the systematic debugging of logical errors in source code N2 - Wo programmiert wird, da passieren Fehler. Um das Debugging, also die Suche sowie die Behebung von Fehlern in Quellcode, stärker explizit zu adressieren, verfolgt die vorliegende Arbeit das Ziel, entlang einer prototypischen Lernumgebung sowohl ein systematisches Vorgehen während des Debuggings zu vermitteln als auch Gestaltungsfolgerungen für ebensolche Lernumgebungen zu identifizieren. Dazu wird die folgende Forschungsfrage gestellt: Wie verhalten sich die Lernenden während des kurzzeitigen Gebrauchs einer Lernumgebung nach dem Cognitive Apprenticeship-Ansatz mit dem Ziel der expliziten Vermittlung eines systematischen Debuggingvorgehens und welche Eindrücke entstehen während der Bearbeitung? Zur Beantwortung dieser Forschungsfrage wurde orientierend an literaturbasierten Implikationen für die Vermittlung von Debugging und (medien-)didaktischen Gestaltungsaspekten eine prototypische Lernumgebung entwickelt und im Rahmen einer qualitativen Nutzerstudie mit Bachelorstudierenden informatischer Studiengänge erprobt. Hierbei wurden zum einen anwendungsbezogene Verbesserungspotenziale identifiziert. Zum anderen zeigte sich insbesondere gegenüber der Systematisierung des Debuggingprozesses innerhalb der Aufgabenbearbeitung eine positive Resonanz. Eine Untersuchung, inwieweit sich die Nutzung der Lernumgebung längerfristig auf das Verhalten von Personen und ihre Vorgehensweisen während des Debuggings auswirkt, könnte Gegenstand kommender Arbeiten sein. N2 - Errors are inevitable in programming, making effective debugging crucial in software development. This study aims to develop a prototype learning environment that teaches a systematic approach to debugging while identifying design conclusions for such learning environments. The research question asks: How do learners behave during short-term use of a learning environment according to the Cognitive Apprenticeship approach, with the explicit aim of teaching a systematic debugging procedure, and what impressions arise during processing? A prototype learning environment was developed and tested in a qualitative user study with undergraduate students of computer science. The results reveal potential for improvement in the application-related aspects of the learning environment, alongside a positive response to the systematic approach to the debugging process during task processing. Future work could further investigate the long-term effects of such learning environments on debugging behavior. KW - Debugging KW - systematisch KW - Lernumgebung KW - Prototyp KW - logische Fehler KW - Cognitive Apprenticeship KW - Konstruktivismus KW - lautes Denken KW - debugging KW - systematic KW - learning environment KW - prototype KW - logical errors KW - cognitive apprenticeship KW - constructivism KW - think aloud Y1 - 2024 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-632734 ER -