This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
codeq:hints [2015/07/06 20:28] timmy |
codeq:hints [2016/01/19 13:52] (current) timotej |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Namigi ====== | ====== Namigi ====== | ||
- | ===== Statični namigi ===== | + | {{: |
- | Te namige poda administrator za vsako nalogo. Prikažejo se ob določenih triggerjih. | + | ===== Prolog ===== |
- | * Glede na število neuspelih oddaj | + | {{: |
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Python ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | [[codeq: | ||
+ | |||
+ | ===== Prikaz ===== | ||
+ | |||
+ | Glede na način prikaza ločimo tri tipe namigov: | ||
+ | |||
+ | * znotraj urejevalnika | ||
+ | * " | ||
+ | * označimo del kode in prikažemo sporočilo (mehurček z besedilom), ko uporabnik z miško pokaže na označeno kodo (na tablicah ob kliku ali kako drugače) | ||
+ | * webapp dobi npr. (obseg, barva za highlight, besedilo) | ||
+ | * trenutno te namige generira AI, kadar zna popraviti program | ||
+ | * tudi tipkarske napake prikažemo na isti način; npr. pobarvamo besedo '' | ||
+ | * " | ||
+ | * prikaže meni možnih sprememb / popravkov | ||
+ | * zahteva jih uporabnik, npr. s posebnim gumbom; webapp pošlje kodo in lokacijo kurzorja | ||
+ | * webapp dobi seznam možnosti (obseg, nova koda) | ||
+ | * če uporabnik izbere neko možnost, se v editorju zamenja besedilo v obsegu z novo kodo | ||
+ | * v posebnem (" | ||
+ | * vsi namigi, ki niso vezani na lokacijo v kodi | ||
+ | * webapp dobi tag, za kateri namig gre, in vse potrebne parametre | ||
+ | * namigi lahko imajo posebne lastnosti | ||
+ | * če je v namigu testni primer, ga lahko uporabnik s klikom prenese v interpreter | ||
+ | * če je v namigu animacija (GIF oz. SVG), jo lahko uporabnik po koncu predvajanja znova zažene | ||
+ | |||
+ | ===== Triggerji ===== | ||
+ | |||
+ | * na zahtevo | ||
+ | * uporabnik klikne gumb "Daj mi namig" ali " | ||
+ | * glede na število neuspelih oddaj | ||
* po N (npr. N = 3) neuspelih poskusih omogočimo prvi namig (prikaže se napis/ikona "namig je na voljo" | * po N (npr. N = 3) neuspelih poskusih omogočimo prvi namig (prikaže se napis/ikona "namig je na voljo" | ||
* po 2*N neuspelih poskusih omogočimo drugi namig | * po 2*N neuspelih poskusih omogočimo drugi namig | ||
* … | * … | ||
- | * Glede na testne primere | + | * ob testiranju glede na testne primere |
* za vsak statični namig imamo nabor testnih primerov - če program ne reši pravilno nobenega od teh primerov, je namig ustrezen | * za vsak statični namig imamo nabor testnih primerov - če program ne reši pravilno nobenega od teh primerov, je namig ustrezen | ||
- | Sistem uporabniku pove, na kateri | + | ===== Vprašanja ===== |
+ | |||
+ | * ali uporabnika tikamo ali vikamo? | ||
+ | * gumb "prikaži več" | ||
+ | * ko uporabnik zahteva | ||
+ | * kje / kdaj / kako se izpisujejo protiprimeri - failed unit testi / naključno generirani? | ||
- | ===== Dinamični namigi | + | ===== Razno ===== |
- | Se zgenerirajo glede na konkretno vsebino uporabnikovega programa: | + | Še nekaj idej: |
+ | * Sistem uporabniku pove, na kateri " | ||
+ | * pri predikatih za delo z množicami izriši Vennova diagrama za pravilno in uporabnikovo rešitev. | ||
- | * tipkarske napake ('' | ||
- | * zaporedje popravkov (avtomatsko popravljanje programov glede na pogoste popravke) | ||
- | * code suggestions - kot v prejšnji točki, vendar le predlagamo nekaj tipičnih popravkov za dan program | ||
- | Ideja: pri predikatih za delo z množicami izriši Vennova diagrama za pravilno in uporabnikovo rešitev. |