Skip to content
Snippets Groups Projects
Commit 063f9c4b authored by Yorick Behme's avatar Yorick Behme
Browse files

Update 23 files

- /appx/.DS_Store
- /appx/artemis_integration.md
- /appx/beispiel_optimierung.md
- /appx/feedback_nuterbefragung.md
- /appx/modelfileuntersuchung.md
- /appx/modellauswertung.md
- /appx/modelluntersuchung.md
- /appx/modellvergleich.md
- /appx/poc_nutzerbefragung.md
- /appx/promptuntersuchung.md
- /src/__pycache__/ai_generator.cpython-312.pyc
- /src/__pycache__/generator.cpython-312.pyc
- /src/__pycache__/generator_manager.cpython-312.pyc
- /src/__pycache__/prompt_manager.cpython-312.pyc
- /src/__pycache__/prompts.cpython-312.pyc
- /src/__pycache__/ui_elements.cpython-312.pyc
- /src/__pycache__/ui_main.cpython-312.pyc
- /src/__pycache__/ui_settings.cpython-312.pyc
- /src/__pycache__/ui_testgenerator.cpython-312.pyc
- /src/__pycache__/validator.cpython-312.pyc
- /src/__pycache__/validator_manager.cpython-312.pyc
- /src/ui_main.py
- /src/ui_settings.py
parent 2843795b
No related branches found
No related tags found
No related merge requests found
Showing
with 0 additions and 10425 deletions
File deleted
This diff is collapsed.
This diff is collapsed.
### **Feedback Nutzerbefragung**
## **Auswertungstabelle**
### Aufgabe 1-3 Ergebnisüberischt
| **Aufgabe** | **Antwort** | **richtige Antworten** | **Prozent** |
|---------------------|-------------------|-----------------------|-------------|
| Aufgabe 1 | 4 | 8/10 | 80.00% |
| Aufgabe 2 | 2 | 8/10 | 80.00% |
| Aufgabe 3 | 6/3 | 9/10 | 90.00% |
## Ergebnisse der Umfrage zur Feedback-Qualität
| **Frage** | **Proband 1** | **Proband 2** | **Proband 3** | **Proband 4** | **Proband 5** | **Proband 6** | **Proband 7** | **Proband 8** | **Proband 9** | **Proband 10** | **Durchschnitt** |
|-----------------------------------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|----------------|------------------|
| Wie hilfreich war Feedback zu „add(0, 1)“? | 1 | 1 | 2 | 3 | 1 | 1 | 1 | 4 | 1 | 1 | 1,7 |
| Wie verständlich war Feedback zu „add(-2, 3)“?| 1 | 1 | 2 | 2 | 3 | 1 | 1 | 3 | 2 | 1 | 1,8 |
| Wie hilfreich war Feedback zu Kommazahlen? | 2 | 2 | 2 | 3 | 3 | 2 | 1 | 3 | 4 | 1 | 2,3 |
---
## **Einleitungstext**
Testfeedback Fragebogen
Mit diesem Fragebogen möchte ich herausfinden, wie hilfreich KI-generiertes Feedback zu Programmiertests in der ArTEMiS-Lernumgebung für Programmieranfänger*innen ist. Programmiertests sind kurze Codeabschnitte, die überprüfen, ob ein anderer Code wie erwartet funktioniert.
Falls dir Begriffe wie „Codeabschnitt“ und „Programmiertest“ noch kompliziert vorkommen, keine Sorge – diese Umfrage ist genau für dich gemacht!
Bitte beantworte die Fragen so genau und ehrlich wie möglich.
Vielen Dank für deine Teilnahme!
---
## **Aufgaben der Teilnehmenden**
Deine Aufgabe
Stell dir vor, du sollst einen Programmiercode schreiben, der zwei Zahlen addiert (Additionsfunktion). Damit deine Lösung als korrekt gilt, müssen alle Programmiertests bestanden werden. Du erhältst jedoch Fehlermeldungen, diese sind in den folgenden Fragen aufgeführt. Kannst du herausfinden, warum dein Code nicht funktioniert?
---
## **Hinweis-Einschub**
Feedback-Nachrichten
Werfen wir nun einen genaueren Blick auf die Feedback-Nachrichten, die jeweils am Anfang der Fehlermeldung nach ‘AssertionError:’ in den ersten drei Fragen zu finden sind.
(VORSICHT: Die Fragen unterscheiden sich, bitte lies sie dir genau durch!)
---
## **Frage 1**
**Warum funktioniert dein Code nicht?**
AssertionError: 0 != 1 : ‚add‘ soll mit ‚0‘ addieren können. Stelle sicher, dass der Code ‚0‘ korrekt behandelt. Hast du getestet, ob ‚0‘ als Teil der Addition funktioniert?
self = < behavior.behavior_test.TestAddFunctionBehavior testMethod=test_add_zero_and_integer >
def test_add_zero_and_integer(self):
"""
Prüft, ob ‚add‘ die Zahl ‚0‘ korrekt addiert.
"""
> self.assertEqual(
add(0, 1), 1,
"’add‘ soll mit ‚0‘ addieren können. Stelle sicher, dass der Code ‚0‘ korrekt behandelt. Hast du getestet, ob ‚0‘ als Teil der Addition funktioniert?“
)
Antwortoptionen:
1 Weil sehr große Zahlen falsch addiert wurden.
2 Weil eine positive und eine negative Zahl falsch addiert wurden.
3 Weil zwei positive Zahlen falsch addiert wurden.
4 Weil 0 nicht richtig addiert wurde.
5 Weil nur eine Zahl, statt zwei Zahlen eingegeben wurde.
6 Keine der Optionen ist richtig.
7 Ich weiß es nicht.
Proband 1: 4
Proband 2: 4
Proband 3: 7
Proband 4: 7
Proband 5: 4
Proband 6: 4
Proband 7: 4
Proband 8: 4
Proband 9: 4
Proband 10: 4
---
## **Frage 2**
**Warum funktioniert dein Code nicht?**
AssertionError: 3 != 1 : ‚add‘ soll eine negative und eine positive Zahl addieren können. Achte darauf, dass Vorzeichen korrekt verarbeitet werden. Wie behandelst du Vorzeichen in deinem Code?
self = < behavior.behavior_test.TestAddFunctionBehaviortestMethod=test_add_positive_and_negative_integer >
def test_add_positive_and_negative_integer(self):
"""
Prüft, ob ‚add‘ eine positive und eine negative Zahl korrekt addiert.
"""
> self.assertEqual(
add(-2, 3), 1,
"’add‘ soll eine negative und eine positive Zahl addieren können. Achte darauf, dass Vorzeichen korrekt verarbeitet werden. Wie behandelst du Vorzeichen in deinem Code?“
)
Antwortoptionen:
1 Weil sehr große Zahlen falsch addiert wurden.
2 Weil eine positive und eine negative Zahl falsch addiert wurden.
3 Weil zwei positive Zahlen falsch addiert wurden.
4 Weil 0 nicht richtig addiert wurde.
5 Weil nur eine Zahl, statt zwei Zahlen eingegeben wurde.
6 Keine der Optionen ist richtig.
7 Ich weiß es nicht.
Proband 1: 2
Proband 2: 2
Proband 3: 1
Proband 4: 7
Proband 5: 2
Proband 6: 2
Proband 7: 2
Proband 8: 2
Proband 9: 2
Proband 10: 2
---
## **Frage 3**
**Warum funktioniert dein Code nicht?**
AssertionError: 4.5 != 4.0 : ‚add‘ soll mit Kommazahlen umgehen können. Überprüfe, ob Fließkommazahlen korrekt summiert werden. Wird das Ergebnis auf die richtige Genauigkeit geprüft?
self = < behavior.behavior_test.TestAddFunctionBehavior testMethod=test_add_two_floats >
def test_add_two_floats(self):
"""
Prüft, ob ‚add‘ zwei Kommazahlen korrekt addiert.
"""
> self.assertEqual(
add(1.5, 2.5), 4.0,
"’add‘ soll mit Kommazahlen umgehen können. Überprüfe, ob Fließkommazahlen korrekt summiert werden. Wird das Ergebnis auf die richtige Genauigkeit geprüft?“
)
Antwortoptionen:
1 Weil sehr große Zahlen falsch addiert wurden.
2 Weil eine positive und eine negative Zahl falsch addiert wurden.
3 Weil zwei positive Zahlen falsch addiert wurden.
4 Weil 0 nicht richtig addiert wurde.
5 Weil nur eine Zahl, statt zwei Zahlen eingegeben wurde.
6 Keine der Optionen ist richtig.
7 Ich weiß es nicht.
Proband 1: 6
Proband 2: 6
Proband 3: 3
Proband 4: 7
Proband 5: 3
Proband 6: 3
Proband 7: 6
Proband 8: 6
Proband 9: 6
Proband 10: 6
---
## **Frage 4**
**Wie hilfreich fandest du diesen Satz, um bei der ersten Frage herauszufinden, warum dein Code nicht funktioniert?**
‚add‘ soll mit ‚0‘ addieren können. Stelle sicher, dass der Code ‚0‘ korrekt behandelt. Hast du getestet, ob ‚0‘ als Teil der Addition funktioniert?
Antwortoptionen:
1 Sehr hilfreich
2 Hilfreich
3 Neutral
4 eher nicht hilfreich
5 Gar nicht Hilfreich
Proband 1: 1
Proband 2: 1
Proband 3: 2
Proband 4: 3
Proband 5: 1
Proband 6: 1
Proband 7: 1
Proband 8: 4
Proband 9: 1
Proband 10: 1
---
## **Frage 5**
**Wie verständlich findest du diesen Satz aus Frage zwei?**
‚add‘ soll eine negative und eine positive Zahl addieren können. Achte darauf, dass Vorzeichen korrekt verarbeitet werden. Wie behandelst du Vorzeichen in deinem Code?
1 Sehr verständlich
2 verständlich
3 Neutral
4 eher nicht verständlich
5 Gar nicht verständlich
Proband 1: 1
Proband 2: 1
Proband 3: 2
Proband 4: 2
Proband 5: 3
Proband 6: 1
Proband 7: 1
Proband 8: 3
Proband 9: 2
Proband 10: 1
---
## **Frage 6**
**Wie hilfreich würdest du diesen Satz aus Frage drei finden, um an einer Lösung der Aufgabe weiterzuarbeiten?**
‚add‘ soll mit Kommazahlen umgehen können. Überprüfe, ob Fließkommazahlen korrekt summiert werden. Wird das Ergebnis auf die richtige Genauigkeit geprüft?
1 Sehr hilfreich
2 Hilfreich
3 Neutral
4 eher nicht hilfreich
5 Gar nicht Hilfreich
Proband 1: 2
Proband 2: 2
Proband 3: 2
Proband 4: 3
Proband 5: 3
Proband 6: 2
Proband 7: 1
Proband 8: 3
Proband 9: 4
Proband 10: 1
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
### **Proof Of Concept Nutzerbefragung**
## **Auswertungstabelle**
| **Proband 1** | **Proband 2** | **Proband 3** | **Proband 4** | **Proband 5** | **Proband 6** |
|---------------|---------------|---------------|---------------|---------------|---------------|
| 4 | 1 | 4 | 4 | 4 | 5 |
| 3 | 1 | 4 | 3 | 4 | 3 |
| 3 | 1 | 5 | 3 | 4 | 4 |
| 4 | 1 | 4 | 5 | 5 | 4 |
| 4 | 1 | 4 | 4 | 4 | 4 |
---
## **Einleitungstext**
ArTEMiS-Tests Fragebogen
Dieser Fragebogen dient dazu, die Benutzerfreundlichkeit und Qualität der von einer KI entwickelten Tests für Python-Programmieraufgaben in der ArTEMiS-Lernumgebung zu bewerten. Bitte lies dir die unten stehenden Tasks durch und bearbeitet anschließend die entsprechenden Aufgaben in der ArTEMiS-Lernumgebung. Achtet dabei besonders auf das Feedback der bereitgestellten Tests und nimm dir anschließend kurz Zeit, die Fragen zu beantworten.
Vielen Dank für dein Feedback – es hilft, die Qualität der Tests weiter zu verbessern!
---
## **Aufgaben der Teilnehmenden**
Tasks
1. Bearbeite die Aufgabe 1: ‘Listenlänge berechnen’, versuche dabei zunächst einen Fehler auszulösen und orientiere dich anschließend an dem Testfeedback, um eine vollständige Lösung zu entwickeln.
2. Bearbeite die Aufgabe 2: ‘Listenausgabe’ versuche dabei zunächst alle Existenztests abzudecken und anschließend nacheinander die Tests der rekursiven und der iterativen Funktion zu erfüllen.
3. (Optional) Löse die Aufgabe 3: ‘Rechtecks Umfang Berechnung’ und überprüfe mithilfe der Tests dein Ergebnis.
---
## **Frage 1**
**Hattest du das Gefühl, dass die Tests hilfreich waren?**
Antwortoptionen:
1 Überhaupt nicht hilfreich
2 Wenig hilfreich
3 Neutral
4 Hilfreich
5 Sehr hilfreich
Proband 1: 4
Proband 2: 1
Proband 3: 4
Proband 4: 4
Proband 5: 4
Proband 6: 5
---
## **Frage 2**
**Wie verständlich war das Feedback der Tests formuliert?**
Antwortoptionen:
1 Überhaupt nicht verständlich
2 Wenig verständlich
3 Neutral
4 Verständlich
5 vollkommen verständlich
Proband 1: 3
Proband 2: 1
Proband 3: 4
Proband 4: 3
Proband 5: 4
Proband 6: 3
---
## **Frage 3**
**Konntest du das Feedback nutzen, um deine Lösung zu verbessern?**
Antwortoptionen:
1 Überhaupt nicht nutzbar
2 Wenig nutzbar
3 Neutral
4 Gut nutzbar
5 Sehr gut nutzbar
Proband 1: 3
Proband 2: 1
Proband 3: 5
Proband 4: 3
Proband 5: 4
Proband 6: 4
---
## **Frage 4**
**Wie gut deckten die Tests die Anforderungen der Aufgabe ab?**
Antwortoptionen:
1 Überhaupt nicht
2 Kaum
3 Teilweise
4 Größtenteils
5 Vollständig
Proband 1: 4
Proband 2: 1
Proband 3: 4
Proband 4: 5
Proband 5: 5
Proband 6: 4
---
## **Frage 5**
**Wie zufrieden bist du mit den Tests insgesamt?**
Antwortoptionen:
1 Überhaupt nicht zufrieden
2 Wenig zufrieden
3 Neutral
4 Zufrieden
5 Sehr zufrieden
Proband 1: 4
Proband 2: 1
Proband 3: 4
Proband 4: 4
Proband 5: 4
Proband 6: 4
---
## **Frage 6**
**Was hat dir an den Tests besonders gut gefallen?**
Freitextfeld:
Proband 1:
-
Proband 2:
- Kleine Aufgaben, bei den man einfach ausprobieren kann
- Regt zum Ausprobieren an
Proband 3:
-Die kürze der Aufgaben
-Das Feedback umzusetzen
-Die einfachen Möglichkeiten z.B. mit Chatgpt diese Aufgaben zu lösen.
-Übersichtlichkeit der Aufgabenstellungen
Proband 4:
Die Tests waren vor allem in den ersten beiden Aufgaben sehr präzise formuliert und haben mir dabei geholfen, die Aufgaben effektiv zu lösen sowie effizient die fehlerhaften Stellen in meinem Code aufzuspüren.
Proband 5:
Einfacher Satz und nicht lang/kompliziert
Proband 6:
-
---
## **Frage 7**
**Welche Verbesserungsvorschläge hast du für die Tests?**
Freitextfeld:
Proband 1:
-
Proband 2:
- Für komplette Anfänger nicht geeignet
- Ich konnte mit den Aufgaben und daher mit den Hinweisen nichts anfangen
- Ohne das nötige Hintergrundwissen kommt man nicht weiter
- Vorher Erklärungen der Aufgaben und der Funktionen (was bedeutet das Ganze?)
- z.B. Video Tutorials oder ähnliches als Einstieg
Proband 3:
-Fehlercodes verbessert darstellen
-Genauer hervorheben, an welcher Stelle der Fehler ist
-Übersichtlichkeit der Hilfestellungen und Zugänglichkeit der Informationen zur Lösung des Problemes
Proband 4:
Vor allem in der letzten Aufgabe fehlten mir Tests in Bezug auf die verwendeten Datentypen. Zudem empfand ich die Formulierung der Tests teilweise als unverständlich/undurchsichtig und ich konnte mit den angegebenen Fehlermeldungen nicht viel anfangen.
Proband 5:
Die entscheidenen Stellen habe ich nicht gleich gesehen. Vielleicht kann der Testcode außenrum weg.
Proband 6:
Hab sie nicht immer gleich verstanden.
This diff is collapsed.
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment