Logo des Repositoriums
 

Workshop ABP 2023

https://www.abp-workshop.de/2023/

In bewährter Tradition widmet sich der Workshop dem Dialog über verschiedene Forschungs- und Einsatzaspekte von Systemen zur automatischen Bewertung von Programmieraufgaben. Von Interesse sind sowohl technische Verfahren zur Analyse von Lösungen und zur Erzeugung von Feedback, als auch didaktische Perspektiven, wie zum Beispiel Einsatzszenarien und didaktische Konzepte zum Einsatz von automatischen Bewertungssystemen für Programmieraufgaben. Der Workshop richtet sich an interessierte Akteure aus Wissenschaft und Praxis, die Systeme zur automatischen Bewertung von Programmieraufgaben entwickeln, einsetzen oder erforschen. Auch diejenigen, die den Einsatz solcher Systeme planen und sich über den Stand der Forschung informieren möchten, sind herzlich zur Teilnahme eingeladen. Mit Vorträgen und anschließenden Diskussionen bietet der Workshop ein geeignetes Forum, um Ideen, Forschungsfragen und -methoden, Ergebnisse und Erfahrungen vorzustellen und miteinander auszutauschen.

Autor*innen mit den meisten Dokumenten  

Auflistung nach:

Neueste Veröffentlichungen

1 - 10 von 13
  • Konferenzbeitrag
    Wieviel Ähnlichkeit ist in Programmierprüfungen normal?
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Olbricht, Christoph; Schypula, Rafael; Striewe, Michael
    Werkzeuge zur Identifikation von Plagiaten in Programmieraufgabe messen häufig die Ähnlichkeit zwischen Abgaben. Die Interpretation dieser Werte zur Identifikation von Verdachts¬momenten ist jedoch schwierig, da eine gewisse Ähnlichkeit von Abgaben unvermeidlich ist. Es ist insbesondere unklar, welche Ähnlichkeitsverteilung innerhalb einer Kohorte ohne Plagiate als normal angesehen werden kann und welche Abweichungen davon als Verdachtsmoment genutzt werden können. Der vorliegende Beitrag vergleicht dazu unter Nutzung zweier Werkzeuge zur Plagiatserkennung unter Aufsicht erstellte Abgaben zu Prüfungsaufgaben mit solchen, die ohne Aufsicht entstanden sind. Die Ergebnisse zeigen, dass die Ermittlung einer „Baseline“ für die erwartbare Ähnlichkeit schwierig ist, da auch schon kleine Änderungen der Aufgabenstellung starke Auswirkungen auf die Ähnlichkeit der Lösungen haben können.
  • Konferenzbeitrag
    Automatisiertes Bewerten bei der praktischen Vermittlung von Methoden des Maschinellen Lernens
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Holstein, Katharina; Kozaeva, Nata; Bade, Korinna
    Im Kontext der Informatiklehre für die Einführung in das Maschinelle Lernen an Hochschulen für angewandte Wissenschaften liegt ein wesentlicher Fokus auf Anwendungsszenarien und Datensätzen mit aktuellem Problembezug. Zeitgleich ist der Stand der Vorkenntnisse vor allem der Masterstudierenden sehr divers. Dazu wird im folgenden Paper dargestellt, wie die praktischen Vermittlung von Methoden des Maschinellen Lernens mit Python durch automatisiertes Testen unterstützt werden kann. Dabei liegt ein besonderer Fokus auf Lösungen für die speziellen Anforderungen der Programmierausbildung für das Maschinelle Lernen.
  • Textdokument
    Algorithmenerkennung und Programmreparatur mittels Dynamischer ProgrammanalyseAlgorithmenerkennung und Programmreparatur mittels Dynamischer Programmanalyse
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Zuleger, Florian
    In diesem Vortrag beschreibe ich zwei Ansätze zur Erkennung der algorithmischen Idee eines Programms und ihre Anwendung in der Feedback-Generierung für einführende Program-mieraufgaben. Beide Techniken basieren auf der dynamischen Programmanalyse, in Verbindung mit Constraintprogrammierung. Die erste Technik ist halbautomatisch und zielt darauf ab, Performanceprobleme in Programmen zu finden. Die zweite Technik verwendet einen großen Korpus korrekter Programme, die anhand von syntaktischen Kriterien und Programmausführungen geclustert und anschließend zur Reparatur fehlerhafter Programme verwendet werden.
  • Konferenzbeitrag
    Deploy-to-Grading: Automatische Bewertung von Programmieraufgaben mit CI/CD-Pipelines
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Kirsch, André; Matutat, André; Reinsch, Malte; George, Birgit Christina; Gips, Carsten
    Im Rahmen des Moduls Programmieren 2 des Studiengangs Informatik BA der Hochschule Bielefeld reichen Studierende seit mehreren Jahren ihre Programmierlösungen als Git-Pull-Requests ein und verlinken diese nur noch in ihrer Abgabe im Learning Management System. Bisher wurden die Lösungen der Studierenden anschließend in Präsenz mit den Lehrenden diskutiert und von diesen bewertet. Da diese Art der Bewertung viel Zeit in Anspruch nimmt, arbeiten wir an der Umstellung auf ein automatisches Bewertungssystem. Aus diesem Grund präsentieren wir in diesem Paper unser Konzept zur automatischen Bewertung von Programmieraufgaben mithilfe von Continuous Integration/Continuous Deployment-Pipelines. Im Gegensatz zu anderen automatischen Bewertungssystemen verwenden wir keine eigene Serverstruktur, sondern nutzen frei verfügbare Infrastruktur. Wir berücksichtigen dabei die einfache Übertragung auf andere Continuous Integration/Continuous Deployment-Pipelines sowie die Möglichkeit zur lokalen Ausführung.
  • Konferenzbeitrag
    Identification of Hidden Structures in the Reference Network of E-Assessment Systems
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Weickenmeier, Viola; Strickroth, Sven
    Using e-assessment systems, such as automated graders or automated feedback systems, is quite common in programming courses. Various tools have been developed to support students and teachers in learning and teaching programming. For overviews, comparisons of tools, and the identification of categories, a number of literature surveys and reviews have been carried out manually. This study does not try to find new systems, but uses (social) network analysis and citation data to identify important/influential systems as well as connections and similarities between systems in an existing corpus. The references were automatically extracted from the scientific publications related to these systems. Using these analyses, different types of communities and influential systems could be identified. Furthermore, there seem to be two types of references, those that simply mention a system and those that discuss specific features in more detail.
  • Konferenzbeitrag
    Automatic Evaluation of Haskell Assignments Using Existing Haskell Tooling
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Prokosch, Thomas; Strickroth, Sven
    Learning Haskell is hard for many students because of its functional nature. What is more, Haskell uses a sophisticated type system that many students find quite confusing in the beginning. Therefore, providing timely feedback regarding correctness and quality for student Haskell solutions is important, a challenge particularly in large courses. Computer-assisted correction of submissions offers a way to help tutors and students alike, but this requires the computer to understand the language. Parsing the student submissions into a syntax tree and analyzing the syntax tree is one possibility, however, this paper describes a more straightforward approach that uses only a Haskell compiler and a few standard tools. Based on a migration of a Haskell course with manual to automatic correction we classified assignment into different categories and describe this approach in detail for each category.
  • Konferenzbeitrag
    A Grammar and Parameterization-Based Generator for Python Programming Exercises
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Peeß, Philipp; Brocker, Annabell; Röpke, René; Schroeder, Ulrik
    As the importance of programming education grows, the demand for a sufficient number of practical exercises in courses also increases. To accommodate this need without significantly increasing the instructors' workload, a programming exercise generator capable of generating exercises for independent practice is considered. This research mainly focuses on determining suitable generation methods and creating a modular and extensible generator structure. The current generator implementation uses parameterization and a grammar-based generation approach in order to provide generated exercises directly to students in their programming environment. Furthermore, the generator can act as a foundation for further research and be extended with additional generation methods, creating the possibility of exploring artificial intelligence for the generation of programming exercises.
  • Konferenzbeitrag
    Parametrisierung von Haskell-Programmieraufgaben
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Koth, Leon; Voigtländer, Janis
    Wir berichten über Design und Verwendung einer Template- und Generator-DSL zur Parametrisierung von Übungs- und Klausuraufgaben einer Lehrveranstaltung zur Haskell-Programmierung.
  • Konferenzbeitrag
    pycheckmate – Addressing Challenges in Automatic Code Evaluation and Feedback Generation for Python Novices
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Brocker, Annabell; Schroeder, Ulrik
    In academic settings, code assessment differs from traditional software testing by encompassing not only functional correctness but also critical structural aspects like naming conventions and programming concepts. Conventional static analysis tools like Pylint and Flake8, along with input-output unit tests, are deemed inadequate for introductory Python courses. To address this gap, this paper introduces pycheckmate, a library, tailored for automatic testing and targeted feedback in introductory Python programming courses.
  • Konferenzbeitrag
    Automated Detection of Bugs in Error Handling for Teaching Secure C Programming
    (Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Schrötter, Max; Falk, Maximilian; Schnor, Bettina
    The Low-Level programming language C is widely used for Operating Systems, Embedded Systems and other performance critical applications. Since these applications are often security critical, they require secure programming. The C language on the other hand allows novice programmers to write insecure code easily. This makes it especially important to teach secure programming and give students feedback on potential security issues. One critical bug that is often overlooked is the incorrect handling of errors. In this paper, we present an Error Handling Analyzer (EHA) for the CoFee framework. The EHA detects missing error handling and incorrect error handling using the Clang Static Analyzer. We evaluated EHA on 100 student submissions and found that error handling bugs are a common mistake and that EHA can detect more than 80 % of the error handling bugs in these submissions.