<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Niels Pinkwart
Humboldt Universita¨t Berlin</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Automatisches Feedback zu Programmieraufgaben</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Niels Pinkwart</string-name>
          <email>niels.pinkwart@hu-</email>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <volume>1</volume>
      <abstract>
        <p>Eines der wiederkehrenden Probleme bei der Gestaltung von Online-Lernumgebungen fu¨r die Programmierausbildung ist es, Nutzern sinnvolles Feedback zu ihren Lo¨sungsversuchen bei Programmieraufgaben zu geben. Dies ist notwendig: Eigene Aktivita¨t ist wichtig fu¨r den Lernerfolg [Ko15], und gerade in selbstgesteuerten Lernszenarien sind Ru¨ckmeldungen fu¨r die Nutzer von immenser Bedeutung, um ihren Lernfortschritt einscha¨tzen und ihre weiteren Schritte planen zu ko¨nnen [BW95]. Problematisch ist die automatisierte Berechnung von Feedback auf Lernerlo¨sungen u.a. deshalb, weil Programmieraufgaben oft viele verschiedene Lo¨sungsmo¨glichkeiten (unterschiedlicher Qualita¨t) haben. Es besteht somit die Herausforderung, ein ggf. fehlerhaftes vom Nutzer geschriebenes Programm nicht nur auf Korrektheit zu pru¨fen, sondern auch daru¨ber hinaus lernfo¨rderliche Ru¨ckmeldungen zu generieren, welche die vom Nutzer vermutlich favorisierte Lo¨sungsstrategie ebenso beru¨cksichtigen wie mo¨gliche Fehler in der aktuellen Lernerlo¨sung. Nachfolgend werden vier Mo¨glichkeiten zur Generierung von Feedback vorgestellt, die auf unterschiedlichen Prinzipien beruhen. Zu jedem Ansatz werden dabei empirische Erkenntnisse diskutiert. Der erste Ansatz zielt dabei nicht prima¨r auf Online-Lernszenarien, sondern auf ”klassische“ universita¨re Programmierkurse. Ziel des GATE-Systems [SOP11] ist es, Studierende, Tutoren und Dozenten beim U¨ bungsbetrieb zu unterstu¨tzen. Das GATE-System kombiniert aufgabenunabha¨ngige Syntaxtests und aufgabenspezifische Funktionstests (als Feedback fu¨r Studierende) mit Plagiatserkennungsverfahren (als Feedback fu¨r Tutoren). Ergebnisse zeigen, dass sowohl Tutoren als auch Studierende Vorteile durch den Einsatz des Systems hatten und dass mit dem Konzept studentischer Tests vor Abgabeschluss durchaus Qualita¨tssteigerungen erreicht werden konnten. Der zweite vorgestellte Ansatz ist in der Online-Lehre verwendbar, wurde aber auch im Rahmen von Programmierkursen an Universita¨ten eingesetzt und evaluiert [LP12]. Hier ist dem System (INCOM) fu¨r jede Aufgabe eine feste Menge von Lo¨sungsstrategien bekannt (z.B. unterschiedliche rekursive und iterative Verfahren). Fu¨r jede dieser abstrakten Strategien lassen sich mittels bekannter allgemeiner Regeln (z.B. arithmetische Gesetze, Freiheiten bei Reihenfolgen von Kommandos) eine Vielzahl von korrekten Lo¨sungsmo¨glichkeiten generieren. Eine Lernerlo¨sung wird im INCOM-System mittels einer KI-gestu¨tzten Heuristik u¨ber eine gewichtete Constraint-Logik mit allen bekannten Lo¨sungsstrategien und deren Varianten verglichen, um so die Strategie zu bestimmen, die der Nutzer vermutlich verfolgte. Auf Basis der Unterschiede zwischen der a¨hnlichsten Musterlo¨sung und der (fehlerhaften) Lernerlo¨sung kann dann Feedback gegeben werden.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Der dritte vorgestellte Ansatz setzt kollaborative Filteralgorithmen und Peer Reviews im
E-Learning ein und wurde zur Klausurvorbereitung in Informatikkursen erfolgreich
eingesetzt [LP09]. Ergebnisse von kontrollierten Laborstudien mit dem CiTUC-System
belegen die grundsa¨tzliche Eignung des Verfahrens im Sinne einer hohen Korrelation von
Peer-Review-Ergebnissen mit Expertenbewertungen von Lernerlo¨sungen. Probleme bei
der praktischen Nutzung des CiTUC-Systems ergaben sich in der Motivation der
Studierenden zur kontinuierlichen und sinnvollen Nutzung des Systems bei freiwilliger
Teilnahme – vor der Klausur wurde das System jedoch intensiv verwendet und sowohl durch den
U¨ bungsleiter als auch durch die Studierenden als hilfreich angesehen.</p>
      <p>Im vierten vorgestellten Ansatz stehen Visualisierungen von Lo¨sungsra¨umen im
Mittelpunkt. Hier wird auf die formale Analyse der Korrektheit von Lernerlo¨sungen
(insbesondere der semantischen Korrektheit) komplett verzichtet. Stattdessen werden
Lernerlo¨sungen und deren Zwischenschritte sowie verschiedene Musterlo¨sungen u¨ber A¨
hnlichkeitsmetriken auf Basis von Codestruktur und Stichworten miteinander verglichen. Die
resultierenden A¨ hnlichkeiten werden verwendet, um den Raum aller Lo¨sungen visuell zu
strukturieren und Nutzern so Orientierungshilfen zu geben – z.B. dahingehend, wie nah
sie an Musterlo¨sungen sind oder ob ihre eigene Lo¨sung ein ”Einzelga¨nger“ ist. Geeignete
Feedbackmechanismen in diesem Szenario sind z.B. in [Gr14] beschrieben.
Literaturverzeichnis</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>