Programmieraufgabe
Beim Aufgabentyp Programmieraufgabe handelt es sich um eine spezielle Eingabeaufgabe. Der Teilnehmer gibt Programmcode ein, welcher entweder durch definierte Testfälle oder eine Rahmendatei mit entsprechendem Rückgabewert bewertet wird. Die automatische Prüfung erfolgt durch eine Schnittstelle zur Serveranwendung VPL. Es werden die Programmiersprachen C, C++, Haskell, Pascal, Java, JavaScript, Mathlab/Octave und Phyton3 unterstützt.
Für die Nutzung dieses Aufgabentyps ist eine Lizenzierung notwendig.
Aufgabe
Funktion | Beschreibung |
---|---|
Aufgabenstellung | Für die Aufgabenstellung steht Ihnen ein WYSIWYG-Editor zur Verfügung. Dies ermöglicht Ihnen die freie Gestaltung und die Möglichkeit zur Integration von Medien und Formeln einbinden. |
Punkte | Angezeigt wird die maximale Punktzahl für die Aufgabe. Um diese zu ändern, wechseln Sie in den Tab Bewertung. |
Antworten
Die Beantwortung einer Programmieraufgabe erfolgt durch die Eingabe von Programmcode. Dem Teilnehmer steht hierfür ein Code Editor mit Syntax-Highlighting zur Verfügung. Der Autor muss die gewünschte Programmiersprache wählen und kann eine automatische Auswertung aktivieren.
Folgende Konfigurationsoptionen stehen Ihnen im Bereich Antworten zur Verfügung:
Funktion | Beschreibung |
---|---|
Automatische Auswertung | Durch die Aktivierung wird die Programmieraufgabe automatisch ausgewertet. Es kann gewählt werden, ob die Bewertung durch Fallprüfung oder den Rückgabewert der Rahmendatei erfolgen soll. Erfolgt keine Aktivierung der automatischen Auswertung, wird die Aufgabe für die Manuelle Bewertung gekennzeichnet und der Teilnehmer erhält während der Testdurchführung bzw. in der Ergebnisansicht einen entsprechenden Hinweis. |
Programmiersprache | Wählen Sie die erwartete Programmiersprache für die Eingabe und Auswertung der Aufgabe. Es werden die Programmiersprachen C, C++, Haskell, Pascal, Java, JavaScript, Mathlab/Octave, Phython2 und Phyton3 unterstützt. |
Bewertung
Ist die automatische Auswertung aktiviert, kann gewählt werden, wie die Bewertung erfolgen soll. Es stehen folgende Optionen zur Verfügung:
- Fallprüfung: Bewertet wird nach Anzahl der korrekten Testfälle. Der Teilnehmer erhält Prozentanteile der maximalen Punktzahl pro korrektem Testfall.
- Rückgabewert der Rahmendatei: Bewertet wird durch die Rahmendatei. Der Programmcode liefert als Bewertung einen Prozentwert als Konsolenausgabe ("Grade :=>> 100").
Funktion | Beschreibung |
---|---|
Fallprüfung | Ist zur Bewertung die Option "Fallprüfung" gewählt, wird Ihnen ein entsprechendes Eingabefeld für die Testfälle angezeigt. Die Testfälle müssen in VPL-Syntax eingegeben werden. Jeder Testfall muss wie folgt beschrieben werden:
Es können beliebig viele Testfälle definiert werden. Die Bewertung erfolgt entsprechend der Anzahl der korrekten Testfälle. Für den durch den Teilnehmer geschriebenen Programmcode wird geprüft, ob die definierte Ausgabe (Output) mit entsprechender Eingabe (Input) erreicht wird. Die Anzahl erfolgreicher Testfälle im Verhältnis zur Gesamtanzahl ergibt die Bewertung. Die Punktzahl berechnet sich prozentual, auf die durch den Autor definierte maximale Punktzahl. Die VPL Dokumentation gibt einen Überblick zur VPL Syntax und zeigt im Abschnitt Creating automated tests weitere Beispiele auf. |
Rahmendatei | Rahmendatei als Teilantwort Die Rahmendatei kann unabhängig von der Bewertungsoption genutzt werden, wenn nur ein Teil des Programmcodes vom Nutzer als Antwort eingegeben werden soll. Durch den Platzhalter {LEARNERRESPONSE} definieren Sie, die Stelle an der die spätere Teilnehmereingabe eingefügt wird. Wird keine Rahmendatei definiert, wird der Programmcode des Teilnehmers alleinig ausgeführt. Rahmendatei als Bewertungsmöglichkeit Die Rahmendatei kann zusätzlich zur Bewertung genutzt werden. Ist als Bewertungsoption "Rückgabewert der Rahmendatei" aktiviert, muss der Programmcode die Bewertung als Prozentwert als Konsolenausgabe ausgeben. Die Rückgabe muss dabei in folgendem Format erfolgen: "Grade :=>> 100" Die Bewertungsstufe (Grade) gibt einen Prozentwert an. Die Punktzahl berechnet sich anschließend prozentual, auf die durch den Autor definierte maximale Punktzahl. Beispiel: Ausgabe „Grade :=>> 75“ : Das Ergebnis entspricht den Anforderungen zu 75%. Bei einer maximalen Punktzahl von 10 Punkten erhält der Teilnehmer 7,5 Punkte
Beispiel für die Rückgabe if (correct) { std::out << „Grade :=<< 100“ << std::endl; } else { std::out << „Grade :=<< 100“ << std::endl; } Erstellen Sie mit Hilfe der Funktionsicons weitere Rahmendateien ... hier noch was nettes |
Lösung und Vordefinierter Inhalt
Funktion | Beschreibung |
---|---|
Lösung | Der Lösungshinweis wird dem Teilnehmer als Musterlösung angezeigt. Die Musterlösung wird dem Teilnehmer bspw. in einer Testdurchführung mit aktivierter Lösungsanzeige oder in der nachträglichen Ergebniseinsicht angezeigt. |
Vordefinierter Inhalt | Der in diesem Feld vordefinierte Inhalt wird dem Teilnehmer in der Testansicht im Lösungseingabefeld vorausgefüllt angeboten. Er kann dann durch den Nutzer überschrieben werden. |
Zusätzliche Informationen
Code Editor
Für die Eingabe von Programmcode steht dem Teilnehmer und dem Autor ein spezieller Code Editor auf Basis des ACE-Editors (https://ace.c9.io/) zur Verfügung. Dies ermöglicht insbesondere eine verbesserte Übersicht durch Syntax-Highlighting, spezifisches Ein- und Ausrücken und für Programmcode spezifische Bedienerunterstützung. Der Editor ist entsprechend der gewählten Programmiersprache vorkonfiguriert.
Ergebnisbericht (VPL Output)
)Die Ergebnisdaten enthalten die vollständige VPL Rückgabe als Textdatei. Diese Datei wird in der Datenarchivierung für jeden Testdurchlauf und jeden Teilnehmer gespeichert. Zukünftig ist eine direkte Anzeige in den Ergebnisansichten für den Bewerter geplant.
Anwendungsbeispiele
Um mögliche Grundeinstellungen und die Wirkungsweise der VPL-Schnittstelle nachzuvollziehen, stellen wir Ihnen hier einige Beispielinhalte bereit.
Sie finden je Programmiersprache eine Datei mit zwei Varianten einer Aufgabe: Einmal konfiguriert mit Rahmendatei und eine zweite Aufgabe konfiguriert mit Fallprüfung. Laden Sie sich die Beispielinhalte herunter und importieren Sie diese in Ihren Aufgabenpool. Wie Sie Aufgaben importieren, beschreibt der Abschnitt Inhalte erstellen oder importieren.
Beispielaufgaben mit Orientierung am sächsischen Lehrplan: