User Tools

Site Tools


codeq:hints

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
codeq:hints [2015/07/06 19:46]
timmy created
codeq:hints [2016/01/19 13:52] (current)
timotej
Line 1: Line 1:
 ====== Namigi ====== ====== Namigi ======
  
-===== Statični namigi =====+{{:codeq:codeq_ikone_demo.pdf|Primeri vizualnih namigov}}
  
-Te namige poda administrator za vsako nalogo. Prikažejo se ob določenih triggerjih.+===== Prolog =====
  
-  * Glede na število neuspelih oddaj +{{:codeq:img-810131658-0001.pdf|}} 
-    * po N (npr. N = 3) neuspelih poskusih omogočimo prvi namig (prikaže se napis/ikona "namig je na voljo"+ 
 +{{:codeq:img-810131802-0001.pdf|}} 
 + 
 +{{:codeq:img-810131827-0001.pdf|}} 
 + 
 +{{:codeq:img-810131839-0001.pdf|}} 
 + 
 +{{:codeq:img-116193005-0001.pdf|}} 
 + 
 +{{:codeq:img-116193010-0002.pdf|}} 
 + 
 +{{:codeq:img-116220737-0001.pdf|}} 
 + 
 +{{:codeq:img-116220754-0001.pdf|}} 
 + 
 +===== Python ===== 
 + 
 +{{:codeq:naloge_prvisklop.odt|}} 
 + 
 +{{:codeq:naloge_drugisklop.odt|}} 
 + 
 +[[codeq:Tretji sklop|Tretji sklop]] 
 + 
 +===== Prikaz ===== 
 + 
 +Glede na način prikaza ločimo tri tipe namigov: 
 + 
 +  * znotraj urejevalnika 
 +    * "popover" namig 
 +      * 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 ''paret'' in prikažemo sporočilo "Ali si mislil ''parent''?" 
 +    * "autocomplete" oziroma predlaganje sprememb 
 +      * 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 ("streaming") oknu 
 +    * 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 "Predlagaj popravek" 
 +  * 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 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 "stopnji" namigov je trenutno - prvi namig je res le "namig", zadnji pa praktično že poda rešitev. Mogoče lahko z barvo (zelena/rumena/rdeča) nakažemo stopnjo namiga.+===== Vprašanja ===== 
 + 
 +  * ali uporabnika tikamo ali vikamo? 
 +  * gumb "prikaži več" ob namigu? 
 +  * ko uporabnik zahteva namig, ali zmeraj najprej testiramo program? (zelo verjetno ja) 
 +  * kje / kdaj / kako se izpisujejo protiprimeri - failed unit testi / naključno generirani? 
 + 
 +===== Razno ===== 
 + 
 +Še nekaj idej: 
 +  * Sistem uporabniku pove, na kateri "stopnji" namigov je trenutno - prvi namig je res le "namig", zadnji pa praktično že poda rešitev. Mogoče lahko z barvo (zelena/rumena/rdeča) prikažemo stopnjo namiga. 
 +  * pri predikatih za delo z množicami izriši Vennova diagrama za pravilno in uporabnikovo rešitev. 
  
-===== Dinamični namigi ===== 
codeq/hints.1436204784.txt.gz · Last modified: 2015/07/06 19:46 by timmy