Tekmovanje ACM iz računalništva in informatike
Anketa o 12. tekmovanju ACM v znanju računalništva
[Kazalo: nekaj opažanj, statistike po skupinah, prva, druga, tretja skupina.]
Če bi rad kdo v zvezi s tem tekmovanjem še kaj povedal ali vprašal, naj nam piše na rtk-info@ijs.si.
Dobili smo 83 izpolnjenih anketnih obrazcev iz prve skupine, 16 iz druge in 10 iz tretje skupine. (Anketni obrazci za vse tri skupine v formatu PDF.)
Nekaj opažanj
Za tekmovanje so skoraj vsi tekmovalci izvedeli od mentorjev; podobno je bilo že v prejšnjih letih.
-
S trajanjem tekmovanja in številom nalog so večinoma kar zadovoljni. Nekaj ljudi si želi več časa pri enakem številu nalog ali pa manj nalog pri enakem času reševanja.
-
Še vedno je največ takih tekmovalcev, ki so se naučili programirati sami ali v šoli pri pouku (slednjih je letos malo manj kot samoukov). V prvi skupini je tudi precej ljudi, ki so se naučili programirati na krožkih in tečajih.
-
V opisu nalog za I. in II. skupino smo letos navajali deklaracije v pascalu, C/C++, C#, pythonu in javi. Delež tekmovalcev, ki deklaracije zdaj razume, je podobno visok ko tlani. Kot običajno pri vprašanju o tem, katere jezike bi še želeli videti v deklaracijah, nekaj tekmovalcev omenja jezike, ki so že tam (npr. C++ in javo).
-
Pri vprašanju o izvorni kodi rešitev (ki jih bomo od letos objavjali v C++) je delež tekmovalcev, ki pravijo, da jih ne razumejo, podoben kot prejšnja leta. V prvi skupini je takih skoraj polovica tekmovalcev. Izmed tistih, ki so napisali kak predlog glede jezika rešitev, jih je velika večina za python ali javo (glasovi za tadva jezika so približno izenačeni, python je v rahli prednosti).
-
Vprašanja o tem, katere programske jezike tekmovalci poznajo, so bila letos strukturirana enako kot prejšnja leta: pri vsakem jeziku naj bi tekmovalec tudi navedel, koliko programov je že napisal v njem in kako dolg je bil najkrajši od njih. V tabeli spodaj smo uporabili te odgovore tako, da tistih, ki so napisali v nekem jeziku 10 programov ali manj, in tistih, ki so napisali v njem le programe, dolge največ 20 vrstic, preprosto nismo šteli. Tako nam ne bodo meglili slike tisti, ki bi drugače našteli vse jezike, za katere so vsaj približno slišali.
V prvi skupini letos največ ljudi pozna python, drugo mesto si delita java in C/C++ (če štejemo C in C++ skupaj). V drugih dveh skupinah je java redkejša. V drugi skupini so približno izenačeni python, C++ in C#, v tretji pa je najpogostejši C++.
-
Pri vprašanju, ali so tekmovalci zadovoljni s sistemom za oddajo odgovorov prek računalnika (v I. in II. skupini), je bilo letos podobno malo pripomb kot lani. Težav s shranjevanjem letos, kot kaže, ni bilo, je pa še nekaj pripomb glede okornosti. Tako kot lani je velika večina tekmovalcev oddajala prek računalnika.
Tudi letos je precej tekmovalcev je želelo, da bi imeli v I. in II. skupini na računalnikih na voljo prevajalnike (in ne le urejevalnikov). Razlog, zakaj se v teh dveh skupinah izogibamo prevajalnikom, je predvsem ta, da hočemo s tem obdržati poudarek tekmovanja na snovanju algoritmov, ne pa toliko na lovljenju drobnih napak; in radi bi tekmovalce tudi spodbudili k temu, da se lotijo vseh nalog, ne pa da se zakopljejo v eno ali dve najlažji in potem večino časa porabijo za testiranje in odpravljanje napak v svojih rešitvah pri tistih dveh nalogah.
O nalogah:
-
V povprečju so se zdele tekmovalcem v vseh skupinah naloge še kar težke. Če pri vsaki nalogi pogledamo povprečje mnenj o zahtevnosti te naloge (1 = prelahka, 2 = lahka, 3 = primerna, 4 = težka, 5 = pretežka) in vzamemo povprečje tega po vseh petih nalogah, dobimo: 3,11 v prvi skupini, 3,51 v drugi in 3,73 v tretji skupini.
Te vrednosti so podobne tistim iz prejšnjih let, le v prvi skupini so se jim zdele naloge malo lažje kot ponavadi, v tretji pa malo težje.
V I. skupini se je zdela tekmovalcem malo težja predvsem naloga 1.5 (pike za tisočice), mogoče zato, ker niso toliko navajeni delati z nizi ali pa ker so si rešitev po nepotrebnem zakomplicirali bolj, kot bi bilo treba. Najlažja se jim je zdela naloga 1.1 (zaokrožanje temperature).
V II. skupini se jim je zdela težka predvsem naloga 2.5 (neskončna pokrajina), ki jo je največ tekmovalcev razglasilo za pretežko. Res je, da je ta naloga malo neobičajna, drugačna od ostalih in da je mnogi tekmovalci tudi niso dobro razumeli (pri tej nalogi je bilo veliko pripomb, da je težko razumljiva). Najlažja v II. skupini se jim je zdela naloga 2.2 (rastlinjak).
Pri III. skupini se je zdela tekmovalcem najtežja naloga 3.4 (najkrajša pot), najlažja pa 3.1 (Klondike).
-
Človek bi pričakoval, da tekmovalci pri nalogah, ki so se jim zdele težje, dosežejo manj točk. Podobno kot prejšnja leta smo računali korelacijski koeficient med tem, kako težka se je zdela naloga tekmovalcem, in tem, kolikšen delež točk so pri njej v povprečju dosegli; letos je ta korelacija najmočnejša doslej (R2 = 0,70, v prejšnjih letih 0,39, 0,57, 0,14, 0,52, 0,20, 0,11, pred tem več let okoli 0,4).
-
Pri vprašanju „ali se ti zdi, da je (ali: bi) naloga vzela preveč časa?“ je bil delež pritrdilnih odgovorov velik zlasti pri nalogah 2.5 (neskončna pokrajina), 3.2 (Trojane) in 3.4 (v soju žarometov).
-
Komentarjev, da jim je neka naloga že znana, je bilo letos več kot običajno, največ pri nalogah 1.2 (najlepši esej), 1.4 (prehod za pešce) in 2.2 (rastlinjak). Ocene zanimivosti nalog so v prvi skupini 2,65 (če je 1 = dolgočasna, 2 = povprečna, 3 = zanimiva), v drugi 2,61 in v tretji 2,82. V prvi skupini je ta ocena podobna kot v prejšnjih letih, v drugi in tretji pa je višja kot ponavadi. Kot bolj zanimive naloge izstopajo 1.3 (pomanjkanje sendvičev), 2.3 (labirint), 3.1 (Klondike) in 3.3 (v soju žarometov). Ob tem izboru se je težko upreti zaključku, da se tekmovalcem naloge zdijo zanimive predvsem, če so ovite v zanimivo zgodbico. :)
-
Tudi z dolžino besedila so bili večinoma zadovoljni; ocene so podobne kot prejšnja leta. Pri tem še najbolj odstopata nalogi 1.4 (prehod za pešce), ki se je zdela nekaj tekmovalcem prekratka, in 2.1 (zvončki), ki se je zdela nekaterim predolga. V tretji skupini so se zdela besedila nekaterim prekratka, nikomur pa predolga.
-
Z razumljivostjo besedila nalog so tekmovalci večinoma zadovoljni, v prvi skupini še malo bolj kot prejšnja leta, v drugi in tretji pa malo manj. Kot malo težje razumljive so ocenili predvsem naloge 1.4 (prehod za pešce), 2.1 (zvončki), 2.5 (neskončna pokrajina; o njej smo že govorili zgoraj), 3.3 (v soju žarometov).
-
Pri vprašanjih „katera naloga ti je najbolj všeč?“ in „katera naloga ti je najmanj všeč?“ je bila v prvi skupini tekmovalcem najbolj všeč naloga 1.3 (pomanjkanje sendvičev), glasovi za najmanj všeč pa so precej razpršeni med ostale štiri naloge, še največ jih ima 1.4 (prehod za pešce). V drugi skupini sta bili najbolj priljubljeni 2.3 (labirint) in 2.4 (šifriranje), kot izrazito nepriljubljena pa izstopa 2.5 (neskončna pokrajina). V tretji skupini jim je bila najbolj všeč naloga 3.3 (v soju žarometov), najmanj pa 3.2 (Trojane).
Programersko znanje:
Vprašanja o programerskem znanju so dajala podobne rezultate kot lani. V drugi skupini (pravijo, da) znajo malo več kot lani, v tretji pa malo manj, vendar je zaradi majhnega števila anket v tretji skupini vprašljivo, koliko se lahko zanesemo na te podatke.
Stvari, ki jih poznajo slabše, so približno iste kot v prejšnjih letih: rekurzija, kazalci, naštevni tipi in operatorji na bitih; v 1. in 2. skupini tudi strukture.
- Tudi poznavanje algoritmov in podatkovnih struktur je podobno kot v prejšnjih letih, v povprečju celo malo boljše; ampak pri teh rezultatih so v anketah iz leta v leto prisotna razna nihanja, ni pa videti kakšnega očitnega dolgoročnega trenda.
Katere programske jezike so uporabljali:
V prvi skupini je letos z občutno prednostjo najpogostejši jezik python, sledita mu java in C++; C# je letos redkejši kot prejšnja leta. V drugi skupini sta najpogostejša python in C++ (približno izenačena), ostali so redkejši. V tretji skupini je C++ daleč najpogostejši, na drugem mestu pa sta C in java.
Drugi jeziki so redki, podobno kot že prejšnja leta. Pascal so tokrat uporabljali le v prvi skupini, basica in PHPja pa sploh nihče.
Za razliko od nekaterih prejšnjih let tokrat ni nihče risal diagramov poteka.
Jezik | Št. tekmovalcev, ki so ga uporabljali | |||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 | 2008 | 2007 | 2006 | 2004 | 2003 | |||||||||||||||||||||||||||
I | II | III | I | II | III | I | II | III | I | II | III | I | II | III | I | II | III | I | II | III | I | II | III | I | II | III | I | II | III | I | II | III | I | II | III | I | II | III | III | |
Pascal | 4 | 0⅓ | 3 | 5 | 2 | 2.5 | 2 | 1 | 1 | 1 | 6 | 1 | 4 | 3 | 4 | 3 | 4.5 | 5 | 2 | 4 | 2 | 1 | 1.5 | 2 | 2 | 8.5 | 2 | 1 | 6 | 5 | 5 | 23 | 20 | 13 | 17 | |||||
C | 4 | 3 | 2.5 | 4⅓ | 1 | 2 | 3 | 1 | 3.5 | 6 | 2 | 7 | 7 | 2 | 1 | 7 | 2 | 6 | 6 | 1 | 9.5 | 3.5 | 0.5 | 4.5 | 11 | 2.5 | 5.5 | 11 | 6.5 | 4 | 16 | 1.5 | 13 | 7.5 | 1 | 4 | ||||
C++ | 23 | 10 | 15.5 | 28 | 8 | 9 | 27 | 9 | 9.5 | 19 | 4.5 | 10.5 | 17 | 12.5 | 7 | 25 | 16 | 9 | 23.5 | 19 | 8 | 33 | 17.5 | 13 | 26.5 | 2 | 12.5 | 17.5 | 11 | 9.5 | 7 | 14 | 15.5 | 13 | 5 | 10.5 | 5 | 6 | 5 | |
PHP | 3 | 2 | 1 | 0.5 | 1 | 0.5 | 1 | 1 | 2 | 2 | 2 | 1 | 1 | |||||||||||||||||||||||||||
nič | 2 | 3 | 4 | 1 | 4 | 2 | 2 | 2 | 1 | 1 | 1 | 5 | 1 | 1 | 3 | 1 | 2 | 3 | 2 | |||||||||||||||||||||
VB | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||
C# | 7 | 6 | 12 | 5 | 1 | 16 | 5 | 12 | 1.5 | 2 | 18 | 0.5 | 17 | 1 | 3 | 4 | 2 | 3 | 0.5 | 1 | 3 | 0.5 | ||||||||||||||||||
Java | 28 | 3 | 2 | 24 | 6 | 5 | 22 | 6 | 3.5 | 23 | 2 | 1.5 | 18 | 8 | 1 | 17 | 6.5 | 1 | 6 | 5 | 3 | 5 | 9 | 4 | 8 | 8 | 11 | 9.5 | 3 | 2.5 | 3 | 0.5 | ||||||||
Python | 42 | 11 | 29⅓ | 12 | 26 | 1 | 16 | 6 | 16 | 8 | 25 | 5 | 20 | 6 | 12 | 2 | 4 | 0.5 | 6 | 1 | ||||||||||||||||||||
Newtonscript | 0.5 | 0.5 | ||||||||||||||||||||||||||||||||||||||
JavaScript | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||||
Batch | 1 | |||||||||||||||||||||||||||||||||||||||
Julia | 1 | |||||||||||||||||||||||||||||||||||||||
psevdokoda | 5 | 5 | 6 | 1 | 10 | 6 | 3 | 2 | 4 | 8 |
Opombe:
- V 3. skupini se je dalo prvotno uporabljati le pascal, C, C++; od leta 2004 naprej tudi javo; od 2008 naprej tudi C#; od 2015 naprej tudi VB.net.
- Polovice in tretjine v gornji tabeli so posledica tega, da nekateri tekmovalci uporabljajo dva ali tri različne jezike (pri različnih nalogah) in jih potem štejemo delno k vsakemu.
- „Nič“ pomeni, da tekmovalec ni napisal nič izvorne kode (pač pa npr. odgovore v naravnem jeziku). Tekmovalce, ki so pisali le psevdokodo (čeprav so naloge zahtevale izvorno kodo v konkretnih programskih jezikih), od leta 2009 naprej štejemo posebej. Kot ponavadi je bila meja med psevdokodo in naravnim jezikom v nekaj primerih precej zabrisana.
- Tisti, ki v 1. in 2. skupini uporabljajo C++ namesto C, uporabljajo večinoma
le malo stvari, ki so specifične za C++ (in jih v C-ju ni), vendar pa raba teh stvari
skozi leta počasi narašča. To so ponavadi predvsem
vhodni in izhodni tokovi (
<iostream>
namesto<stdio.h>
,cin
incout
namestoprintf
inscanf
), vse več ljudi pa uporablja tudi razredastring
invector
. Letos je eden pisal celo v C++11 (in uporabljal npr.auto
).
Sledijo podrobni rezultati ankete. Opombe v oglatih oklepajih [takole] so moje.
Vprašanja za vse skupine
Kje si izvedel za to tekmovanje?
Skupina | Kje si izvedel za to tekmovanje? | |||
---|---|---|---|---|
od mentorja | na spletni strani | od prijatelja/sošolca | drugače | |
I | 75 | 1 | 6 | 2 |
II | 17 | 3 | 3 | 2 |
III | 6 | 1 | 0 | 1 |
Če na spletni strani, na kateri?
- C
- C#, GML
- C#, robot C
- C#, Visual Basic...
- C++
- C++, C, javascript
- C++, HTML, scratch
- C++, python, assembler :)
- da, javascript
- Da. Haskell, brainfuck, lua, crystal, logtalk, prolog, C, TeX
- HTML, CSS
- HTML, CSS, C#
- HTML, PHP, javascript, CSS
- HTML, PHP, javascript, java
- java, javascript
- javascript, naredil sem spletno stran
- MySQL
- Ne.
- nxc, assembly
- osnove assemblerja, jave, malo več (načeloma ne prog. jezikov) HTML, CSS
- PHP, mešanica C++ in C (Arduino)
- PHP, python, lua, C
- python
- python
- python
- python, bash
- python, PHP
- python, ruby, javascript (ECMA script), basic
- scratch - v šoli
- Some JS, HTML, obviously SQL (for SQLite and MySQL), VB…
- SQL, C++
- V mobilni igri programiranja "Hacked" :D
- VB.net, C++, C, C#, bash, lua
- Visual Basic.net, javascript, CSS, python
- [nečitljivo; mogoče "veliko"]
- bash, swift, java
- C#, PHP, HTML, CSS, javascript, lua
- C++
- C, HTML, Objective C, CSS, javascript, python
- java, HTML, CSS, jQuery, javascript
- java, javascript
- java, javascript
- java, JS, assembly, scratch :)
- javascript, HTML, C++, C
- Objective C, swift, javascript
- PHP, java, ruby
- python
- C#
- C#, lua
- Enkrat sem poskusil C++, a mi ni bil všeč, malo znam tudi javascript.
- javascript
- scratch, htime
- C++
- C++ vedno in vselej :)
- Ne vem.
- brainfuck
- da
- java
- java
- julia, haskell
- lua
- lua
- ni potrebno
- psevdo koda
- v pascalu [ampak saj so že tudi v pascalu...]
- C++
- C / pascal
- C#
- C# and python would be nice for people who don't do
C++. - C#, java, lua
- C, mogoče python
- Ne.
- da, npr. v pythonu
- da, v javi
- java
- java
- java
- java
- java, python
- javascript
- python
- python
- python
- python
- python
- v pascalu ali pythonu
- java
- java
- java
- java
- java
- java
- java
- java
- java
- java, python
- pascal
- psevdokoda
- python
- python
- python
- python
- python
- python
- python
- python
- python
- python
- python
- python
- java
- java
- python
- python
- C
- C
- C#
- python
- python 3
- java
- [Letos ni nihče predlagal kakšnega drugega jezika.]
- Ker je predstavila sorazmerno zapleten problem, za rešitev katerega pa nisi potreboval prenaprednega poznavanja jezika.
- Ker sta mi bili najbolj razumljivi.
- Lahka.
- Največ za razmišljati, najmanj za pisati.
- Zanimivo besedilo.
- Izredno rad se igram z nizi.
- Ker je bila zanimiva za rešiti in sem potreboval več časa za razmisliti.
- Ker sem se zanj naučil python v 20 min.
- Ker sta mi bili najbolj razumljivi.
- Zanimiv izziv.
- Zdela se mi je najbolj primerna.
- Bila je ravno prav težka in zanimiva.
- Izgleda težje, kot je v resnici.
- Kadar je govora o hrani, je vsaka naloga odlična!
- Ker je bila najbolj zanimiva.
- Ker je bila najlažja in zelo zanimiva.
- Ker je imela zanimivo zgodbo.
- Ker je naloga praktična, dolžina je primerna, prav tako razumevanje.
- Ker je nekaj uporabnega v življenju.
- Ker je vsebovala snov, ki se jo učimo.
- Maφjci + sendviči
- Najbolj podobno primeru iz realnega življenja.
- Najbolj zabavna.
- Naloga 3, saj sem jo reševal s knjižnicami, ki jih manj uporabljam, in je tudi vsebinsko imela zanimiv smisel.
- Naloga se mi je zdela zabavna za reševanje (program lahko izpiše tudi kaj zabavnega), to se mi zdi zelo pomembno tudi za motivacijo - naloge se kasneje naveličaš.
- Ostale naloge niso imele nobene uporabe.
- Rad imam sendviče in neskončne zanke. Predvsem sendviče.
- Rad rešujem podobne probleme.
- Radi imamo sendviče in zelo zabavna.
- Saj se je moralo razmišljati več kot pri ostalih.
- Zabavna za delati.
- Zanimiva, ne pretežka.
- Zanimiva, če bi imela malo več znanja/sintakse (za pascal ni bilo referenc), bi bila rešljiva (do konca).
- Zanimiva.
- Zato, ker večkrat uporablja ukaz za vhod.
- [nečitljivo]
- Dovolj zahtevna in zabavna.
- Enostavna in kratka naloga, ki sem jo rešil hitro.
- Ker je bila drugačna od ostalih, vsebovala je nevrste prekinitve. Tudi ker je bila kratka :)
- Ker je zanimiva.
- Kratka in zabavna.
- Nekaj novega - nisem še videl take naloge.
- V nalogo je bilo treba vključiti "event loop", kar je dober miselni izziv.
- Zanimiva.
- Zaradi možnosti goljufanja :)
- Bila je kratka in tudi zelo uporabna v realnem svetu.
- Izredno rad se igram z nizi.
- Je bila dokaj lahka.
- Ker je bila od vseh najtežja.
- Ker sem moral precej razmišljati in uporabiti dosti stvari.
- Meni je bila še najtežja in najbolj zanimiva med vsemi.
- Najbolj zanimiva in je zahtevala več logičnega razmišljanja kot obvladovanja in poznavanja sintakse prog. jezika.
- Največ razmišljanja.
- Največ za razmišljati, najmanj za pisati.
- Ni tako trivialna, kot izgleda na prvi pogled.
- Potrebno je bilo precej razmišljanja.
- Zanimiva.
- Zanimivo.
- Bila je najlažja in nekaj, kar sem že delal.
- Bila je že znana.
- Edini razlog je, da sem ves čas odkrival male napake (s podatkovnimi tipi).
- Ker se mi je zdela prelahka in zato tudi ne vem, če sem prav razumel navodila.
- Ker sem pozabil ukaz za zaokroževanje, round pa zaokroži samo parna števila.
- Ker sem takšno nalogo že poznal.
- Overused.
- Preveč se je bilo treba ukvarjati z raznimi zahtevanimi pogoji.
- Preveč časa sem porabil za razumevanje naloge.
- Vse (razen 4.) so bile dobre, 1. je bila malo dolgočasna (vsaj zame).
- Branje iz datotek mi ne gre.
- Ehm
- Ker je bila dolgočasna.
- Ker nerad delam s štetjem besed.
- Na koncu mi je zmanjkalo volje za reševanje.
- Nisem ljubitelj esej in prebiranja besed s programi.
- Nisem čisto dojela besede - kako naj binaredila nalogo.
- Nič posebnega.
- Pomanjkanje znanja.
- Zaradi mojega načina reševanja problema.
- Bila je preveč preprosta.
- Ker sem podobne naloge že reševal in mi ni prinesla dodatnega izziva.
- Preveč besedila in izpisovanja.
- Preveč pisanja za moje pojme.
- Sem že reševal podobne.
- Tudi ta mi je bila zelo všeč, ampak so mi bile ostale bolj.
- Veliko printa :)
- Če poznaš tabele, je ta naloga totalno prelahka za na državno tekmovanje.
- Ker je trajalo predolgo, preden sem jo sploh zastopil.
- Ker nisem popolnoma razumel besedila.
- Ker sta bili pretežki.
- Kr nekj
- Ne vidim uporabe takega programa.
- Ne znam dovolj.
- Nisem je razumel.
- Nisem prepričan pri uporabi že danih funkcij.
- Nisem razumel, kako bi se zadeve sploh lotil.
- Nisem razumel.
- Nisem znal.
- Prelahka oz. semo jo jaz narobe rešil, saj je vzela samo 5 min časa.
- Prelahka.
- Pretežka.
- Težko razumljiva.
- Težko razumljivo besedilo.
- Zdela se mi je prelahka, saj sem jo po vsej verjetnosti razumel narobe. To me je zmedlo.
- Zdi se mi, da je ta naloga celo za 1. stopnjo prelahka.
- [nečitljivo; mogoče "je pomanjkanje znanja"]
- Ker je enostavna, če veš določene funkcije, ki pa jih začetniki ne vedo.
- Ker je nisem znal.
- Ker se mi zdi, da je nisem ravno popolno rešil.
- Ker sem jo zelo težko razumela.
- Ker sta bili pretežki.
- Koncentracija mi je že upadla in sem se težko zbrala.
- Manipulacija nizov mi nikoli ni bila zanimiva tema, v C++ pa je takšna operacija še posebej zahtevna.
- Ni se mi zdela zanimiva.
- Težka.
- Zdela se mi je prelahka.
- Ker lahko opišem postopek in ni treba pisati programa.
- Ker je bila razumljiva in se jo je dalo rešiti.
- Ker sem jo znal rešiti.
- Najlažja.
- Ker je imela nek zanimiv problem in sem moral malo pomisliti, da sem napisal dober program.
- Ker mi je naloga nova in sem moral celo rešitev ugotoviti sam (ne poznam algoritma, ki bi tak problem rešil).
- Primerno težka in zanimiva.
- Všeč so mi taki načini nalog (pathfinding...).
- Zelo zanimiva zgodba.
- Ker sem jo znal, a sem se vseeno moral pošteno namučiti, da jo rešim.
- Odkril sem nov dosedaj meni še ne poznan način kodiranja.
- Rad imam take tipe nalog.
- Samo zaradi Janeza in konteksta.
- Za razmisliti.
- Šifriranje mi je všeč.
- Bila je zanimiva in predstavljala je izziv.
- Besedilo je bilo nerazumljivo in je bilo potrebno velikokrat prebrati.
- Nerazumljivo besedilo.
- Porabil sem ogromno časa in nisem tako spreten v psevdokodi.
- Bila je prelahka in ušablonjena (lansko leto je bila zelo podobna).
- Ne maram nalog s šifriranjem.
- Ni bila razumljiva, vzame preveč časa, potrebuješ veliko znanja.
- Nisem rešil.
- Ker je bila pretežka.
- Ker je nisem razumel.
- Ker je nisem znal rešiti.
- Nerazumljiva, problem ni bil definiran v celoti.
- Nerazumljiva.
- Nerazumljivo besedilo ter cilj.
- Nerazumljivo napisana.
- Pretežka.
- Težko razumljiva.
- Zahtevna, ker je bilo malo podatkov.
- Edina, ki sem jo razumel ter vsaj delno rešil...
- Fenwick tree <3
- Ker sem pri njej dobil nekaj točk :)
- Zanimiva.
- Težje dinamično programiranje.
- Zanimiva, treba je bilo bolj razmišljati kot programirati.
- Ni časovne omejitve.
- Ostale so bile boljše.
- Zelo slabo razumljiva.
- Nobene ravno nisem znal rešiti, ampak 3. sem najmanj razumel.
- Grafi so mi manj ljubi, svoje znanje glede njih moram izboljšati.
Katere programske jezike obvladaš?
V anketnem obrazcu je bilo prostora za tri jezike; pri vsakem naj bi tekmovalec tudi navedel, koliko programov je že napisal v njem in kako dolg je bil najdaljši od njih. Spodaj za vsako skupino piše, koliko tekmovalcev je navedlo posamezni jezik in pri tem niti število programov ni bilo manjše od 10 niti dolžina najdaljšega programa ni bila manjša od 20 vrstic.
Jezik | Skupina | ||
---|---|---|---|
I | II | III | |
bash | 1 | 0 | 1 |
basic | 1 | 2 | 0 |
C | 10 | 2 | 0 |
C# | 11 | 10 | 0 |
C++ | 14 | 11 | 7 |
C/C++ | 0 | 1 | 0 |
HTML | 6 | 1 | 0 |
java | 26 | 5 | 4 |
JavaScript | 3 | 1 | 0 |
julia | 1 | 0 | 0 |
lua | 2 | 0 | 0 |
pascal | 4 | 1 | 3 |
PHP | 8 | 3 | 0 |
python | 33 | 10 | 2 |
ruby | 1 | 0 | 0 |
SQL | 1 | 0 | 0 |
swift | 1 | 1 | 0 |
V anketi je bila tudi rubrika za naštevanje morebitnih ostalih programskih jezikov, v katerih je tekmovalec tudi že kdaj programiral. Tu so navedli naslednje jezike:
Prva skupina:
Druga skupina:
Tretja skupina:
Programski jeziki v opisih nalog in v rešitvah
„V besedilu nalog trenutno objavljamo deklaracije tipov in podprogramov v pascalu, C/C++, C#, pythonu in javi. Ali razumeš kakšnega od teh jezikov dovolj dobro, da razumeš te deklaracije v besedilu naših nalog? Ali bi raje videl, da bi objavljali deklaracije (tudi) v kakšnem drugem programskem jeziku?“
Skupina | Ali razumeš deklaracije v besedilu nalog (v pascalu, C/C++, pythonu in javi)? Ali predlagaš (še) kak drug jezik? | So ti prišle deklaracije v pythonu kaj prav? | ||||
---|---|---|---|---|---|---|
Da | Ne | Da | Ne | |||
Število | Predlogi | Število | Predlogi | |||
I | 72 | 6 | 29 | 45 | ||
II | 25 | 0 | 9 | 16 |
„V rešitvah nalog trenutno objavljamo izvorno kodo v C++. Ali razumeš C++ dovolj dobro, da si lahko kaj pomagaš z izvorno kodo v naših rešitvah? Ali bi raje videl, da bi izvorno kodo rešitev pisali v kakšnem drugem jeziku? Če da, v katerem?“
Skupina | Ali razumeš izvorno kodo v rešitvah (v C++)? Ali predlagaš (še) kak drug jezik? | |||||
---|---|---|---|---|---|---|
Da | Ne | (Prazno) | ||||
Število | Predlogi | Število | Predlogi | Število | Predlogi | |
I | 39 | 37 | 7 | |||
II | 20 | 5 | 0 | |||
III | 5 | 1 | 1 |
Vprašanje za tekmovalce 3. skupine: „Doslej smo v 3. skupini podpirali reševanje nalog v pascalu, C, C++, C#, javi in VB.net. Bi rad uporabljal kakšen drug programski jezik? Če da, katerega?“
Prva skupina
Mnenje o nalogah:
Naloga | Zahtevnost naloge | Povprečna zahtevnost | Točke | |||||||
---|---|---|---|---|---|---|---|---|---|---|
prelahka | lahka | primerna | težka | pretežka | ne vem | > 0 točk | povprečje | mediana | ||
1. Zaokrožanje temperature | 2 | 17 | 47 | 7 | 0 | 2 | 2.89 | 109 | 11.5 | 12 |
2. Najlepši esej | 2 | 16 | 33 | 22 | 0 | 1 | 3.11 | 97 | 9.1 | 8 |
3. Pomanjkanje sendvičev | 8 | 15 | 43 | 9 | 0 | 0 | 3.03 | 114 | 11.6 | 11 |
4. Prehod za pešce | 6 | 17 | 30 | 12 | 4 | 6 | 3.14 | 108 | 15.1 | 18 |
5. Pike za tisočice | 3 | 10 | 29 | 30 | 2 | 1 | 3.38 | 101 | 9.1 | 9.5 |
Opomba: „> 0 točk“ je število tekmovalcev, ki so pri tej nalogi dobili več kot 0 točk.
Pri vsaki nalogi je možnih 20 točk.
Za potrebe računanja povprečja smo mnenja o zahtevnosti prevedli v števila takole:
prelahka = 1, lahka = 2, primerna = 3, težka = 4, pretežka = 5.
Naloga | Vzela je (ali: bi) preveč časa | ||
---|---|---|---|
da | ne | ne vem | |
1. Zaokrožanje temperature | 6 | 58 | 9 |
2. Najlepši esej | 7 | 53 | 7 |
3. Pomanjkanje sendvičev | 9 | 56 | 4 |
4. Prehod za pešce | 9 | 50 | 12 |
5. Pike za tisočice | 13 | 50 | 7 |
Naloga | Dolžina besedila | Razumljivost besedila | ||||||
---|---|---|---|---|---|---|---|---|
prekratko | primerno | predolgo | povprečje* | razumljivo | težko razumljivo | nerazumljivo | povprečje* | |
1. Zaokrožanje temperature | 0 | 70 | 3 | 2.04 | 64 | 9 | 0 | 1.12 |
2. Najlepši esej | 1 | 70 | 0 | 1.99 | 64 | 7 | 0 | 1.10 |
3. Pomanjkanje sendvičev | 2 | 68 | 2 | 2.00 | 69 | 1 | 0 | 1.01 |
4. Prehod za pešce | 9 | 63 | 0 | 1.88 | 53 | 15 | 4 | 1.32 |
5. Pike za tisočice | 1 | 69 | 1 | 2.00 | 66 | 4 | 0 | 1.06 |
* Povprečja smo računali tako, kot da ima prvi možni odgovor vrednost 1, drugi 2 in tretji 3.
Naloga | Naloga je bila | |||
---|---|---|---|---|
zanimiva | dolgočasna | že znana | povprečna | |
1. Zaokrožanje temperature | 36 | 6 | 3 | 28 |
2. Najlepši esej | 45 | 5 | 8 | 12 |
3. Pomanjkanje sendvičev | 59 | 6 | 3 | 4 |
4. Prehod za pešce | 51 | 4 | 5 | 9 |
5. Pike za tisočice | 51 | 7 | 3 | 8 |
Naloga | Si jo rešil? | ||||||
---|---|---|---|---|---|---|---|
nisem (zmanjkalo časa) | nisem (zmanjkalo volje) | nisem (zmanjkalo znanja) | delno (zmanjkalo časa) | delno (zmanjkalo volje) | delno (zmanjkalo znanja) | rešil v celoti | |
1. Zaokrožanje temperature | 1 | 0 | 0 | 1 | 0 | 4 | 66 |
2. Najlepši esej | 0 | 2 | 2 | 1 | 0 | 9 | 56 |
3. Pomanjkanje sendvičev | 0 | 0 | 2 | 1 | 0 | 3 | 66 |
4. Prehod za pešce | 0 | 2 | 8 | 3 | 1 | 7 | 51 |
5. Pike za tisočice | 0 | 2 | 5 | 3 | 2 | 12 | 49 |
Naloga | Katera naloga ti je bila najbolj všeč? | Katera naloga ti je bila najmanj všeč? |
---|---|---|
1. Zaokrožanje temperature | 7 | 13 |
2. Najlepši esej | 7 | 12 |
3. Pomanjkanje sendvičev | 33 | 9 |
4. Prehod za pešce | 12 | 19 |
5. Pike za tisočice | 16 | 14 |
Mnenja o 1. nalogi (Zaokrožanje temperature)
Katera naloga ti je bila najbolj všeč in zakaj?
1. naloga (Zaokrožanje temperature)
2. naloga (Najlepši esej)
3. naloga (Pomanjkanje sendvičev)
4. naloga (Prehod za pešce)
5. naloga (Pike za tisočice)
Katera naloga ti je bila najmanj všeč in zakaj?
1. naloga (Zaokrožanje temperature)
2. naloga (Najlepši esej)
3. naloga (Pomanjkanje sendvičev)
4. naloga (Prehod za pešce)
5. naloga (Pike za tisočice)
Druga skupina
Mnenje o nalogah:
Naloga | Zahtevnost naloge | Povprečna zahtevnost | Točke | |||||||
---|---|---|---|---|---|---|---|---|---|---|
prelahka | lahka | primerna | težka | pretežka | ne vem | > 0 točk | povprečje | mediana | ||
1. Zvončki | 0 | 1 | 10 | 10 | 2 | 0 | 3.57 | 25 | 9.2 | 12 |
2. Rastlinjak | 4 | 10 | 6 | 1 | 1 | 0 | 2.83 | 32 | 11.0 | 10 |
3. Labirint | 0 | 2 | 13 | 6 | 0 | 0 | 3.19 | 32 | 14.5 | 17 |
4. Šifriranje | 1 | 3 | 7 | 8 | 2 | 0 | 3.50 | 28 | 9.5 | 10 |
5. Neskončna pokrajina | 1 | 0 | 2 | 7 | 10 | 1 | 4.47 | 14 | 3.4 | 0 |
Opomba: „> 0 točk“ je število tekmovalcev, ki so pri tej nalogi dobili več kot 0 točk.
Pri vsaki nalogi je možnih 20 točk.
Za potrebe računanja povprečja smo mnenja o zahtevnosti prevedli v števila takole:
prelahka = 1, lahka = 2, primerna = 3, težka = 4, pretežka = 5.
Naloga | Vzela je (ali: bi) preveč časa | ||
---|---|---|---|
da | ne | ne vem | |
1. Zvončki | 9 | 10 | 2 |
2. Rastlinjak | 1 | 17 | 1 |
3. Labirint | 3 | 12 | 3 |
4. Šifriranje | 7 | 11 | 1 |
5. Neskončna pokrajina | 10 | 5 | 4 |
Naloga | Dolžina besedila | Razumljivost besedila | ||||||
---|---|---|---|---|---|---|---|---|
prekratko | primerno | predolgo | povprečje* | razumljivo | težko razumljivo | nerazumljivo | povprečje* | |
1. Zvončki | 1 | 16 | 3 | 2.10 | 12 | 7 | 2 | 1.52 |
2. Rastlinjak | 0 | 18 | 1 | 2.05 | 17 | 2 | 0 | 1.11 |
3. Labirint | 0 | 18 | 1 | 2.05 | 18 | 1 | 0 | 1.05 |
4. Šifriranje | 2 | 16 | 1 | 1.95 | 15 | 2 | 2 | 1.32 |
5. Neskončna pokrajina | 4 | 12 | 2 | 1.89 | 6 | 5 | 8 | 2.11 |
* Povprečja smo računali tako, kot da ima prvi možni odgovor vrednost 1, drugi 2 in tretji 3.
Naloga | Naloga je bila | |||
---|---|---|---|---|
zanimiva | dolgočasna | že znana | povprečna | |
1. Zvončki | 10 | 3 | 0 | 8 |
2. Rastlinjak | 10 | 0 | 5 | 4 |
3. Labirint | 16 | 1 | 0 | 1 |
4. Šifriranje | 12 | 1 | 3 | 2 |
5. Neskončna pokrajina | 12 | 4 | 0 | 2 |
Naloga | Si jo rešil? | ||||||
---|---|---|---|---|---|---|---|
nisem (zmanjkalo časa) | nisem (zmanjkalo volje) | nisem (zmanjkalo znanja) | delno (zmanjkalo časa) | delno (zmanjkalo volje) | delno (zmanjkalo znanja) | rešil v celoti | |
1. Zvončki | 0 | 2 | 1 | 2 | 2 | 3 | 15 |
2. Rastlinjak | 0 | 1 | 0 | 0 | 2 | 1 | 17 |
3. Labirint | 0 | 2 | 1 | 0 | 0 | 3 | 15 |
4. Šifriranje | 0 | 3 | 2 | 1 | 1 | 2 | 13 |
5. Neskončna pokrajina | 4 | 3 | 8 | 2 | 1 | 5 | 4 |
Naloga | Katera naloga ti je bila najbolj všeč? | Katera naloga ti je bila najmanj všeč? |
---|---|---|
1. Zvončki | 3 | 3 |
2. Rastlinjak | 4 | 1 |
3. Labirint | 6 | 0 |
4. Šifriranje | 6 | 3 |
5. Neskončna pokrajina | 1 | 13 |
Mnenja o 1. nalogi (Zvončki)
Katera naloga ti je bila najbolj všeč in zakaj?
1. naloga (Zvončki)
2. naloga (Rastlinjak)
3. naloga (Labirint)
4. naloga (Šifriranje)
5. naloga (Neskončna pokrajina)
Katera naloga ti je bila najmanj všeč in zakaj?
1. naloga (Zvončki)
2. naloga (Rastlinjak)
4. naloga (Šifriranje)
5. naloga (Neskončna pokrajina)
Tretja skupina
Mnenje o nalogah:
Naloga | Zahtevnost naloge | Povprečna zahtevnost | Točke | |||||||
---|---|---|---|---|---|---|---|---|---|---|
prelahka | lahka | primerna | težka | pretežka | ne vem | > 0 točk | povprečje | mediana | ||
1. Back from the Klondike | 0 | 2 | 4 | 1 | 0 | 0 | 2.86 | 14 | 57.4 | 94 |
2. Trojane | 0 | 0 | 2 | 3 | 0 | 2 | 3.60 | 8 | 13.8 | 0 |
3. V soju žarometov | 0 | 0 | 1 | 4 | 0 | 0 | 3.80 | 11 | 22.4 | 10 |
4. Najkrajša pot | 0 | 0 | 0 | 3 | 2 | 1 | 4.40 | 1 | 2.9 | 0 |
5. Listi | 0 | 0 | 0 | 4 | 0 | 2 | 4.00 | 9 | 20.8 | 0 |
Opomba: „> 0 točk“ je število tekmovalcev, ki so pri tej nalogi dobili več kot 0 točk.
Pri vsaki nalogi je možnih 100 točk.
Za potrebe računanja povprečja smo mnenja o zahtevnosti prevedli v števila takole:
prelahka = 1, lahka = 2, primerna = 3, težka = 4, pretežka = 5.
Naloga | Vzela je (ali: bi) preveč časa | ||
---|---|---|---|
da | ne | ne vem | |
1. Back from the Klondike | 0 | 6 | 1 |
2. Trojane | 4 | 1 | 2 |
3. V soju žarometov | 1 | 3 | 1 |
4. Najkrajša pot | 4 | 0 | 2 |
5. Listi | 0 | 3 | 3 |
Naloga | Dolžina besedila | Razumljivost besedila | ||||||
---|---|---|---|---|---|---|---|---|
prekratko | primerno | predolgo | povprečje* | razumljivo | težko razumljivo | nerazumljivo | povprečje* | |
1. Back from the Klondike | 0 | 7 | 0 | 2.00 | 7 | 0 | 0 | 1.00 |
2. Trojane | 1 | 6 | 0 | 1.86 | 6 | 0 | 0 | 1.00 |
3. V soju žarometov | 1 | 4 | 0 | 1.80 | 1 | 4 | 0 | 1.80 |
4. Najkrajša pot | 0 | 5 | 0 | 2.00 | 4 | 1 | 0 | 1.20 |
5. Listi | 1 | 4 | 0 | 1.80 | 3 | 1 | 1 | 1.60 |
* Povprečja smo računali tako, kot da ima prvi možni odgovor vrednost 1, drugi 2 in tretji 3.
Naloga | Naloga je bila | |||
---|---|---|---|---|
zanimiva | dolgočasna | že znana | povprečna | |
1. Back from the Klondike | 5 | 0 | 2 | 0 |
2. Trojane | 4 | 1 | 0 | 1 |
3. V soju žarometov | 3 | 0 | 1 | 0 |
4. Najkrajša pot | 4 | 0 | 0 | 1 |
5. Listi | 4 | 0 | 0 | 1 |
Naloga | Si jo rešil? | ||||||
---|---|---|---|---|---|---|---|
nisem (zmanjkalo časa) | nisem (zmanjkalo volje) | nisem (zmanjkalo znanja) | delno (zmanjkalo časa) | delno (zmanjkalo volje) | delno (zmanjkalo znanja) | rešil v celoti | |
1. Back from the Klondike | 0 | 0 | 0 | 1 | 0 | 2 | 4 |
2. Trojane | 3 | 0 | 0 | 1 | 0 | 2 | 1 |
3. V soju žarometov | 1 | 1 | 1 | 0 | 1 | 2 | 1 |
4. Najkrajša pot | 1 | 0 | 4 | 1 | 0 | 0 | 0 |
5. Listi | 2 | 0 | 0 | 0 | 1 | 0 | 2 |
Naloga | Katera naloga ti je bila najbolj všeč? | Katera naloga ti je bila najmanj všeč? |
---|---|---|
1. Back from the Klondike | 1 | 0 |
2. Trojane | 0 | 4 |
3. V soju žarometov | 3 | 1 |
4. Najkrajša pot | 0 | 1 |
5. Listi | 2 | 0 |
Mnenja o 2. nalogi (Trojane)
Katera naloga ti je bila najbolj všeč in zakaj?
1. naloga (Back from the Klondike)
3. naloga (V soju žarometov)
5. naloga (Listi)
Katera naloga ti je bila najmanj všeč in zakaj?
2. naloga (Trojane)
3. naloga (V soju žarometov)
4. naloga (Najkrajša pot)