moodlemoot 2019, debreceni egyetem, informatikai kar, június 24 … · 2019-06-25 · Óraszám:...
TRANSCRIPT
![Page 1: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/1.jpg)
MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24-25.
![Page 2: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/2.jpg)
Óraszám: 2/hét (labor)
Nyelv: Python
Létszám: 100+
Szint: zömében teljesen kezdők
Cél
◦ A félév végére a hallgatók legyenek képesek egyszerű programok megírására, tesztelésére, a saját hibáinak javítására.
A siker kulcsa
◦ Gyakorlás, gyakorlás, gyakorlás
![Page 3: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/3.jpg)
W3Schools
Codingbat
Codewars
Codeacademy
...
Egy kezdő szintű Codewars kata
![Page 4: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/4.jpg)
ProgCont (DE-IK)◦ programozási versenyeken szokásos visszajelzés
(elfogadva, időtúllépés, hibás eredmény, futási hiba, fordítási hiba)
ProgContR (DE-IK)◦ ProgContra épülő játékosított alkalmazás
![Page 5: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/5.jpg)
Programkódok futtatását lehetővé tevő Moodle kérdéstípus
Több programnyelvet is támogat
◦ Python
◦ Java
◦ C
◦ C++
◦ Pascal
◦ PHP
◦ SQL
◦ …
Open source
![Page 6: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/6.jpg)
Testreszabható kiértékelési mód és visszajelzés
A Moodle-tól örökölt előnyök
◦ A hallgatónak nem kell külső oldalakra regisztrálni
◦ Tanulmányi rendszerrel való összeköttetés ( neptun beíratás )
◦ ZH íratás lehetősége
◦ Egy helyen elérhető az összes segédanyag, gyakorlóanyag
◦ Támogatja a hallgatói teljesítmény követését (egyéni és csoport szinten is)
◦ Támogatja a hallgatóval való kapcsolattartást
Csak rajtunk áll, hogy a gyakorló illeszkedjen a tematikához
![Page 7: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/7.jpg)
A forráskódok futtatására
szolgáló szerver
Ubuntu 18.04.1 LTS
job engine
Python 3.7
Moodle szerver
CodeRunner plug-in
![Page 8: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/8.jpg)
![Page 9: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/9.jpg)
Beállítások◦ pl.: programnyelv, kiértékelés módja, kimenet megjelenítése
◦ meghatározza a kérdéshez tartozó alapértelmezett sablont
A kérdés
A válasz
Tesztesetek◦ Input adatok
◦ Tesztelő kódrészek
◦ Elvárt kimenet
A sablon
![Page 10: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/10.jpg)
http://coderunner.org.nz/pluginfile.php/145/mod_page/content/2/coderunnerarchitecture.png
![Page 11: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/11.jpg)
Az input-output kezelése a feladat része
Sablon: alapértelmezett
Kiértékelés: Pontos egyezés szerint (alapértelmezés)
Csak tökéletes megoldásra jár pont
![Page 12: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/12.jpg)
Ha nagyon sok a teszteset, érdemes átállítani.
Csak hibátlan megoldásra jár pont.
A hallgató úgy fogja látni az eredményt, mintha ő maga
gépelte volna be az inputokat.
![Page 13: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/13.jpg)
Legyenek pontos előírások az üzenetek formázására.
![Page 14: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/14.jpg)
Javasolt az "Answer" mező kitöltése után generáltatni
A kérdés szövege alatt példaként megjelenik a teszteset.
A feladat része a standard inputról történő beolvasás, ezért kitöltjük.
Elrejthetünk teszteseteket (csalások megelőzése)
![Page 15: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/15.jpg)
Ha megadjuk:◦ automatikusan generálható lesz az elvárt válasz a tesztekhez
◦ a diákok a teszt beállításától függően láthatják ezt a megoldást
![Page 16: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/16.jpg)
Feladat mentése (a hiányzó válaszok miatt, sikertelen lesz)
A felugró táblázatban kattintsunk a << jelekre
Mentsük el. Kész a feladat.
![Page 17: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/17.jpg)
A feladat szövege
A példaként megjelölt tesztesetekből automatikusan
generált táblázat
![Page 18: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/18.jpg)
A hallgató a válasz mezőbe beírhatja a megoldását
Az Ellenőrzés gombra kattintva kérheti a kiértékelést
![Page 19: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/19.jpg)
értesül arról, hogy legalább egy rejtett tesztesetre is hibás a válasza
kiemelheti az elvárt és a kapott kimenet közti különbséget
![Page 20: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/20.jpg)
![Page 21: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/21.jpg)
![Page 22: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/22.jpg)
A korábban látott módon generáltathatjuk, ha nem akarjuk
kézzel megadni.
Nem vár el adatbekérést a feladat, ezért ez üresen marad.
Csak az n értékét kell átírni a különböző tesztesetek
előállításához.
![Page 23: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/23.jpg)
A válasz egy részét előre megadható.
![Page 24: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/24.jpg)
A beadott megoldás:
def sn(n):return n*(n+1)/2
Kiértékelés módja:"Exact match"
Megj.: A "Nearly exact match" is ugyanezt eredményezné.
![Page 25: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/25.jpg)
Válasz mező tartalmának elemzésére◦ „Old meg while ciklussal...”,
◦ „A megoldás során ne használd a math modult…”
A kiértékelés megváltoztatására◦ részpontok osztása
◦ közelítő megoldások elfogadása abs(exp – got)<eps
Tesztestek generálására ◦ véletlen értékekkel való tesztelés
◦ …
![Page 26: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/26.jpg)
Tesztesetenkénti
{{ STUDENT_ANSWER }}
{{ TEST.testcode }}
Kombinált
{{ STUDENT_ANSWER }}
SEPARATOR = "#<ab@17943918#@>#"
{% for TEST in TESTCASES %}
{{ TEST.testcode }}
{% if not loop.last %}
print(SEPARATOR)
{% endif %}
{% endfor %}
A válasz mező tartalma szövegszerűen
behelyettesítődik
Egy konkrét teszteset kerül be a programba
Az összes teszteset bekerül
a programba
![Page 27: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/27.jpg)
A válasz
def sn(n):return n*(n+1)/2
Tesztesetenként egy-egy program Egyetlen program
![Page 28: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/28.jpg)
A kérdés típusnál jelöljük be a "Customise" mezőt
Tesztesetenkénti sablon
Pontos egyezés szerinti értékelés
A szokott módon adjuk meg a◦ feladatleírást
◦ teszteseteket
◦ válasz mezők tartalmát
![Page 29: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/29.jpg)
Írjuk felül az eredeti template-et:
__student_answer__ = """{{ STUDENT_ANSWER | e('py') }}"""
if " while " not in __student_answer__:
print("A feladatot while ciklussal kell megoldanod!")
exit(0)
{{ STUDENT_ANSWER }}
{{ TEST.testcode }}
![Page 30: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/30.jpg)
A beadott megoldás:
def sn(n):return n*(n+1)//2
Minden tesztesethez külön program tartozik(per-test sabon)
![Page 31: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/31.jpg)
A beadott megoldás:
def sn(n):return n*(n+1)//2
![Page 32: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/32.jpg)
A kérdés típusnál jelöljük be a "Customise" mezőt
Vegyük ki a pipát az "All-or-nothing" grading elől
![Page 33: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/33.jpg)
Tesztesetenkénti sablont fogunk használni◦ IsCombinator: False
Az általunk megadott sablon végzi majd a pontozást:
◦ Template grader
![Page 34: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/34.jpg)
A korábban látott módon generáltathatjuk, ha nem akarjuk
kézzel megadni.
A sablon kialakításától függ. A sablonba most ez kerül:
n = {{ TEST.testcode }}
![Page 35: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/35.jpg)
Meghívja a hallgató által írt függvényt
Összeveti az eredményt és az elvárt eredményt
Kiírja a visszajelzést tartalmazó táblázat egy sorát a standard outputra.
A táblázat szokásos oszlopai:
◦ Iscorrect: helyes, helytelen, részben helyes
◦ Input: a tesztadat
◦ Got: a diák megoldásának eredménye
◦ Expected: az elvárt eredmény
◦ Fraction: a tesztesre kapott pont
![Page 36: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/36.jpg)
import json
{{ STUDENT_ANSWER }}
n = {{ TEST.testcode }}got = sn(n)exp = {{ TEST.expected }}
mark = 0if got == exp and type(got) is int:
mark = 1elif abs(got - exp) < 0.00001:
mark = 0.8
print(json.dumps({'iscorrect' : mark, 'input': n, 'got': str(got), 'expected': str(exp), 'fraction': mark}))
1: helyes0: helytelen0<mark<1: részben helyes
A saját pontozónk Az akutális tesztesetre
adott pontszám
![Page 37: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/37.jpg)
a hallgató függvénye
az 1. teszteset
az 1. tesztesetre elvárt válasz
![Page 38: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/38.jpg)
A feladat szövege kikötötte, hogy a válasz legyen egész típusú
Csak részpont jár
![Page 39: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/39.jpg)
A kérdés típusnál jelöljük be a "Customise" mezőt
Adjuk meg a feladatleírást
Töltsük ki a "preload answer" és "answer" mezőket, ha akarjuk
Teszteseteken NE adjunk meg
![Page 40: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/40.jpg)
Az általunk megadott sablon végzi majd a pontozást:
◦ Template grader
A sablont majd le kell cserélnünk
![Page 41: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/41.jpg)
Létrehozza a visszajelzést tartalmazó táblázat fejlécét
Generálja a tesztesetet
Minden tesztesetre:◦ kiértékeli a hallgató megoldását
◦ kiszámolja a helyes eredményt
◦ összeveti az eredményt és az elvárt eredményt
◦ hozzáfűzi az adott tesztesetre vonatkozó sort a táblázathoz
Kiírja az összeredményt és a visszajelző táblázatot a standard outputra
![Page 42: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/42.jpg)
import jsonimport random
header = ['iscorrect', 'got', 'expected', 'input']rows = [header]
{{ STUDENT_ANSWER }}
NUM_TEST = 100 mark = 0for i in range(NUM_TEST):
n = random.randint(0, 1000)exp = n*(n+1)//2got = sn(n)iscorrect = got == expif iscorrect: mark += 1row = [iscorrect, str(got), str(exp), 'n: '+str(n)]rows.append(row)
print(json.dumps({'fraction': mark / NUM_TEST, 'testresults': rows}))
a táblázat fejlécéneklétrehozása
A kapott és az elvárt eredmény hasonlítása
A pontozása tesztesetre
vonatkozó sor
a visszajelző táblázat kiírása
![Page 43: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/43.jpg)
Beadandó feladatok
◦ 5-10 feladatot tartalmazó teszteket hoztunk létre
◦ Időzítés: kb. 2 hetente
◦ Határidő: 2-2,5 hét
◦ Sikeres ZH-k esetén javíthatott a jegyen
2. ZH
◦ 6 feladatból álló teszt (sikeres: 50%-tól)
◦ Részpontok: nem voltak
Vizsgaidőszaki javító
◦ 7 feladatból álló teszt (sikeres: 60%-tól)
◦ Részpontok: nincsenek
![Page 44: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/44.jpg)
Teszt kiválasztása
Próbálkozások
Egy pontszámra kattintva a hozzá tartozó próbálkozás és előzményei is megtekinthető
![Page 45: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/45.jpg)
témakör Tesztindítások száma ( x /121) pontok eloszlása (0-max)
alapvető I/O, aritmetikai operátorok, kifejezések
120 (0 üres)
elágaztató utasítások 118 (2 üres)
ciklusok 115 (0 üres)
sztringkezelés 112 (0 üres)
függvények 110 (0 üres)
listák 101 (33 üres)
![Page 46: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/46.jpg)
szeptember október november december
1200
400
0
Fela
datb
eküld
ések s
zám
a
1. ZH
2. ZH
800
![Page 47: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/47.jpg)
Önálló megoldás nyomokban fordult elő
Együttműködések:
◦ elakadás után kér segítséget „valahonnan”
◦ közös munka
On-line fórumokon megosztott megoldások
◦ copy + paste, illetve kismértékben átírt kódrészek
![Page 48: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/48.jpg)
A „válasz előzménye” figyelésével
◦ elsőre megoldott bonyolultabb feladatok
◦ rossz irányba induló próbálkozás után elsőre hibátlan válasz
◦ jó megoldás utáni további beküldések
Plágium szűrés nincs
Kezdő szintű feladatoknál egyébként sem hatékony
![Page 49: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/49.jpg)
Gyakorló feladatok: 8-14 feladat témakörönként
Időzítés: 1-2 hetente (miután gyakorlaton vettük a témát)
Határidő: -
A jegybe nem számított bele
![Page 50: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/50.jpg)
témakör tesztindítások száma ( x /127) pontok eloszlása (0-max)
tömb 175 (8 üres)
mátrix, háromszögmátrix
172 (22 üres)
halmaz 159 (16 üres)
soros táblázat 169 (9 üres)
sor, verem 161 (14 üres)
láncolt lista 175 (13 üres)
binárisfa 173 (15 üres)
![Page 51: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/51.jpg)
2. ZH
február március április május
800
600
400
200
0
vizsgaidőszakijavító
fela
datb
eküld
ések s
zám
a
1. ZH
![Page 52: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/52.jpg)
+ A hallgatók használják, legalább a ZH-k előtt önként gyakorolnak
+ Követhettük a hallgatók tevékenységét => egyedi visszajelzést adhattunk
+ A ZH kijavítja önmagát
- A kérdések létrehozása és tesztelése időigényes
- A hallgatók követése időigényes
- A csalások szűrése nehéz
![Page 53: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/53.jpg)
Köszönjük ◦ lelkes Moodle üzemeltetőnknek, Vágvölgyi Csabának a CodeRunner plug-in
telepítését és beállítását
◦ a DE IK-nak az erőforrások biztosítását
◦ a DE IK rendszergazdai csoportjának a kódok futtatására szolgáló virtuális szerver kialakítását, a szükséges telepítések elvégzését
![Page 54: MoodleMoot 2019, Debreceni Egyetem, Informatikai Kar, június 24 … · 2019-06-25 · Óraszám: 2/hét (labor) Nyelv: Python Létszám: 100+ Szint: zömében teljesen kezdők él](https://reader034.vdocuments.site/reader034/viewer/2022043005/5f8c24673c244f7e7b1ef115/html5/thumbnails/54.jpg)
Moodlehttps://moodle.org
CodeRunnerhttps://github.com/trampgeek/moodle-qtype_coderunner/blob/master/Readme.md
Codingbathttps://www.codecademy.com
Codewarshttps://www.codewars.com/
CodeAcademyhttps://www.codecademy.com
ProgCont feladatkiértékelő rendszerhttps://progcont.hu
W3Schools (python)https://www.w3schools.com/python/
A hivatkozások utolsó megtekintése: 2019.06.20.