Tekmovanje ACM iz računalništva in informatike
Anketa o 13. 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 80 izpolnjenih anketnih obrazcev iz prve skupine, 37 iz druge in 9 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, v povprečju še malo bolj kot lani. 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 v primerjavi s samouki še manj kot prejšnja leta). Slaba četrtina tekmovalcev pa se je naučila programirati (tudi) 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 visok, vendar malo nižji kot lani. 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. javo). Pri tem vprašanju smo imeli tudi nekaj trolov, ki so si zaželeli brainfucka :)
-
Pri vprašanju o izvorni kodi rešitev (ki jih letos objavljamo v C++, za prvo skupino pa tudi v pythonu) je delež tekmovalcev, ki pravijo, da jih ne razumejo, podoben kot prejšnja leta. V prvi skupini je takih malo manj kot polovica tekmovalcev. Mogoče bi jih bilo manj, če ne bi mi v anketi pozabili omeniti, da so rešitve za prvo skupino zdaj objavljene tudi v pythonu. 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, na drugem mestu je java, sledi C/C++ in nato C#. V drugih dveh skupinah je java redkejša, najpogostejši jezik pa je C/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. Nekaj tekmovalcev je vseeno imelo težave s shranjevanjem. 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,32 v prvi skupini, 3,19 v drugi in 3,59 v tretji skupini.
Te vrednosti so podobne tistim iz prejšnjih let, le v drugi skupini so se jim zdele naloge malo lažje kot ponavadi.
V I. skupini se je zdela tekmovalcem malo težja predvsem naloga 1.5 (brzinomer), kar je pri nalogah tega tipa običajno. Pri tej nalogi je bilo tudi največ komentarjev, da je besedilo predolgo in nerazumljivo. Najlažja se jim je zdela naloga 1.1 (Collatz++).
V II. skupini se jim je zdela težka predvsem naloga 2.3 (cevi), ki jo je največ tekmovalcev razglasilo za pretežko. Pri tej nalogi je sicer tako, da je težka na prvi pogled, dokler se ne domislimo, da je smiselno cevi obravnavati sistematično od zgoraj navzdol in od leve proti desni. Najlažja v II. skupini se jim je zdela naloga 2.5 (jabolka), kar je lepo, ker gre za realnočasovno nalogo, kakršne se tekmovalcem ponavadi zdijo težje (je pa res, da je ta naloga zelo lahka).
Pri III. skupini se je zdela tekmovalcem najtežja naloga 3.2 (pravokotnik), kar niti ni presenetljivo, saj gre za geometrijsko nalogo. Najlažji pa sta se jim zdeli 3.1 (buteljke) in 3.5 (posredne volitve).
-
Č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 skoraj tako močna kot lani in s tem močnejša kot običajno (R2 = 0,67, v prejšnjih letih 0,70, 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.1 (križci in krožci), 2.3 (cevi) in 3.3 (tekoči trak). (Pri nalogi 2.1 sicer ni nujno, da človeku vzame veliko časa, vendar so si mnogi tekmovalci otežili delo s tem, da so s copy + paste razmnožili velik del programa na štiri kopije, za vsako smer posebej).
-
Komentarjev, da jim je neka naloga že znana, je bilo letos približno toliko kot lani; največ jih je bilo pri nalogi 2.1 (križci in krožci). Ocene zanimivosti nalog so v prvi skupini 2,69 (če je 1 = dolgočasna, 2 = povprečna, 3 = zanimiva), v drugi 2,72 in v tretji 2,68. V prvi skupini je ta ocena podobna kot v prejšnjih letih, v drugi in tretji pa je malo višja kot ponavadi. Kot bolj zanimive naloge izstopajo 1.2 (Alfa Bravo), 2.2 (popravljanje testov) in 3.5 (posredne volitve). 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 odstopa naloga 1.5 (brzinomer), ki se je zdela precej tekmovalcem predolga, nekaj podobnih pripomb je bilo tudi pri 3.1 (buteljke). Mnenj, da je kakšno besedilo prekratko, je bilo letos zelo malo.
-
Z razumljivostjo besedila nalog so tekmovalci večinoma zadovoljni, v drugi skupini še malo bolj kot prejšnja leta. Kot težje razumljive so ocenili predvsem naloge 1.5 (brzinomer; ta v tem pogledu izrazito izstopa), 2.2 (popravljanje testov), 2.4 (palačinke) in 3.3 (tekoči trak).
-
Pri vprašanjih „katera naloga ti je najbolj všeč?“ in „katera naloga ti je najmanj všeč?“ je bila v prvi skupini tekmovalcem daleč najmanj všeč naloga 1.5 (brzinomer), glasovi za najbolj všeč pa so precej razpršeni med 1.1 (Collatz++), 1.2 (Alfa Bravo) in 1.4 (pisalni stroj). V drugi skupini je bila najbolj priljubljena 2.5 (jabolka), kot izrazito nepriljubljena pa izstopa 2.3 (cevi). V tretji skupini jim je bila najbolj všeč naloga 3.5 (posredne volitve), najmanj pa 3.3 (tekoči trak).
Programersko znanje:
Vprašanja o programerskem znanju so dajala podobne rezultate kot lani. Zlasti v prvi in tretji skupini (pravijo, da) znajo malo več kot lani.
Stvari, ki jih poznajo slabše, so približno iste kot v prejšnjih letih: kazalci, naštevni tipi in operatorji na bitih; v 1. in 2. skupini tudi podatkovne strukture. Znanje rekurzije je letos boljše kot ponavadi.
- Tudi poznavanje algoritmov in podatkovnih struktur je podobno kot v prejšnjih letih; 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++, nato pa C#. 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 je java.
Drugi jeziki so redki, podobno kot že prejšnja leta. Pascala tokrat prvič ni uporabljal nihče (tudi basica in PHPja ne).
Za razliko od nekaterih prejšnjih let tokrat ni nihče risal diagramov poteka.
Jezik | Št. tekmovalcev, ki so ga uporabljali | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2018 | 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 | 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 | 5 | 4 | 0.5 | 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++ | 18.5 | 13 | 11 | 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 | 1 | 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# | 11 | 6 | 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 | 21.5 | 8.5 | 4 | 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 | 38 | 11 | 0.5 | 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 | 0.5 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||
Batch | 1 | ||||||||||||||||||||||||||||||||||||||||||
Julia | 1 | ||||||||||||||||||||||||||||||||||||||||||
psevdokoda | 3 | 1 | 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#; v letih 2015–18 tudi VB.net; od 2018 naprej tudi python.
- 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 ali pa sploh ničesar). 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
.
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 | 77 | 0 | 3 | 0 |
II | 31 | 2 | 2 | 4 |
III | 8 | 0 | 0 | 1 |
Če na spletni strani, na kateri?
- Arduino
- C#
- C#
- C#, pascal, go, javascript, PHP
- C#, PHP, python, C
- C++, javascript, SQL
- C++, kotlin, PHP, MySQL
- C++, PHP
- C++, Visual Basic, javascript
- HTML, CSS, javascript
- HTML, CSS, javascript, java
- HTML, PHP, CSS
- java
- java, HTML :), PHP
- java, PHP, javascript
- javascript
- javascript
- javascript, node.js, C, java
- javascript, python, PHP, lua in še kakšen se najde
- lua, C++, C#, basic
- Ne, razen če HTML in CSS štejeta?
- Nope.
- Objective C, javascript
- PHP
- PHP
- PHP, bash
- PHP, C#, Visual Basic, javascript
- PHP, C++
- PHP, HTML, java, C, VB script, batch
- PHP, javascript
- PHP, javascript
- python, batch (DOS), razne grafične zadeve
- python, F, AVR assembly, javascript, PHP, x32 assembly
- python, java (ampak zelo zelo redko)
- react (JS), graphql, HTML, batch, sh
- x
- C++, C, ruby, javascript, brainfuck
- C, C++, C#, python
- forth, lisp, haskell, racket, brainfuck, HTML, javascript
- GameMaker Studio script ;)
- haskell, java, C#, prolog, brainfuck
- HTML, CSS, javascript
- HTML, CSS, Objective C, javascript
- java, C#, C, pascal, julia, ruby, lua
- ne samo C++
- Nekaj malega javascripta, HTML in jave.
- PHP (R.I.P.)
- PHP in HTML
- PHP, java, python
- python, java, PSQL (MySQL)
- Scratch (če ta šteje), C
- java, pascal, VB.net
- C#
- Niti ne.
- VB.net
- Vseeno (delam v C++).
- java
- ni potrebno
- C
- V C++ je dovolj, ker ne poznam nobenega drugega jezika.
- brainfuck
- brainfuck, assembly
- java
- java
- javascript
- C
- C
- C#
- C#
- C#
- C#
- C# (toda poleg C++, ne namesto)
- C#/java
- Recimo v pythonu.
- java
- java
- java
- java
- java, C#
- python
- python
- python
- C#
- C#
- java
- java
- java
- java
- java
- java
- python
- python
- python
- python
- python
- python
- python
- python 3
- python in C++
- python, C#
- python, VB.net
- brainfuck
- java
- java ali python
- javascript
- python
- python
- python
- python
- C
- C#
- java
- java
- python
- python, java
- C
- java :)
- Rad bi prej vedel, da je na voljo python. [Žal smo morali razmeroma pozno preiti na drug ocenjevalni sistem, kjer je bil podprt nabor jezikov drugačen kot na prejšnjem.]
- prolog
- Bila mi je zanimiva in zabavna za pričetek.
- Ker je bila zame najlažja.
- Ker je vzela najmanj časa.
- Ker sem jo rešil celo.
- Lahka.
- Zanimiva matematika.
- Zanimiva naloga.
- Zaradi rekurzije in ker je bolj zahtevna.
- Ker je bilo treba malo več razmisliti za jo rešiti.
- Ker mi je bila dovolj zanimiva, pritegnila me je fonetična abeceda. Bila mi je tudi dovolj jasna in razumljiva, zato nisem imela posebnih težav.
- Ker mi je kodiranje zelo všeč.
- Največji miselni izziv, zanimiva tematika, življenjska uporabnost.
- Ne vem.
- Nisem vedel, da imajo palčki svojo tajno službo :D
- Pač.
- Popravljanje napak v nekem inputu je zelo uporabna stvar.
- Rad delam s stringi (nizi) in se mi je zato zdela najbolj zanimiva.
- Uporabnost.
- Zaradi možnosti sklepanja.
- Zelo mi je bilo všeč, da se kodne besede niso nujno popolnoma ujemale in si moral preveriti ujemanje.
- Ker je rešena lahko na zanimive načine.
- Ker ni preveč natvezena.
- Naloga je bila relativno lahka, navodilo je bilo kratko in razumljivo in kar hitro sem jo rešil.
- Zaradi uporabnosti.
- ...
- Bila je praktična in zanimiva.
- Ker je bil zanimiv problem. Škoda, da je bila samo opisna.
- Ker je bila najbolj razumljiva.
- Ker je bila najkompleksnejša.
- Ker je zelo zanimiva.
- Ker obstaja zelo hitra rešitev.
- Ker se mi zdi, da je zahtevala, da dobro razumemo, kaj delamo.
- Nagradi logično razmišljanje. Za rešitev naloge je dovolj preprost računski algoritem, ne pa zelo zahtevni programski algoritmi.
- Največji izziv.
- Opisovanje.
- Prioritiziran algoritem čez ostalo.
- Rad imam matematične naloge in ne toliko vsakdanjih.
- Zdela se mi je najbolj zanimiva, ker jo je bilo možno narediti na zelo kratek način z nekaj razmišljanja.
- Zdela se mi je preprosta, a zanimiva.
- Delovala mi je zelo funkcionalno.
- Najbolj praktična naloga.
- Po njej me je najmanj bolela glava.
- Preveč dela.
- Preveč zakomplicirana navodila (naloga je bila vseeno primeren izziv in zanimiva).
- Bila je preveč lahka.
- Ne znam.
- Preveč pisanja/kopiranja.
- Ker je bila preetžka.
- Ker je nisem znal xD
- Ker je vzela preveč časa.
- Nisem imel znanja za rešitev te naloge.
- Nisem popolnoma razumel, kaj naloga želi od mene. Kar pa sem razumel, mi ni uspelo rešiti.
- Preveč matematike.
- Težko razumljiva.
- Ker je bilo treba opisati postopek.
- Ker je nisem razumel.
- Najmanj razumljiva navodila.
- Nejasna navodila in zahtevnost.
- Nisem je razumel.
- Nisem točno vedela, kaj bi naredila, zato sem bila hkrati tudi zmedena.
- Opisna.
- Opisovanje.
- Besedila je bilo preveč in ne veš, kaj točno moraš izpisati/vračati.
- Ker iz navodil nisem razumel ničesar.
- Ker je bila pretežka.
- Ker je nisem razumela.
- Ker ni bila razumljiva.
- Ker se mi je zdela najtežja.
- Ker se nisem mogel spomniti bolj učinkovitega načina.
- Kratka.
- Nerazumljiva, ne piše, kaj je vhod, besedilo nejasno.
- Nerazumljiva.
- Nerazumljivo besedilo.
- Nisem je dobro razumel, veliko časa sem porabil za branje in razumevanje naloge.
- Nisem je prav dobro razumel.
- Nisem je razumel.
- Nisem je zelo dobro razumel.
- Nisem čisto prepričan, če naloga od mene zahteva res samo par if stavkov.
- Predolga, nerazumljiva.
- Prelahka.
- Pretežka.
- Saj nisem imel podane pozicije kazalca in me je to kar motilo.
- Sem napisal pri 5. nalogi, zakaj [To je odgovor, ki se začne z "Delno nerazumljivo besedilo" itd.]
- Slabo razumljiva.
- Sumljivo lahka. Ves čas sem mislil, da sem nekaj izpustil v navodilu.
- Za moje osebne pojme je bila naloga nerazumljiva in posledično pretežka.
- Zdela se je prelahka, z nekaj triki.
- Čudno besedilo.
- (ni navedel naloge) Vse so bile super.
- (ni navedel naloge) Vse so mi bile všeč.
- Bila je razumljiva in hitro sem našel dobro rešitev.
- Bila mi je izziv za reševanje.
- Ker je bila zanimiva.
- Ker mi je všeč tak tip nalog.
- Ker je bilo treba razmisliti in ni bila pretežka.
- Ker je profesor car, popravlja 10^8 testov.
- Ker sem bil vesel, ko sem spoznal, kaj moram narediti.
- Ker sem se počutil kot genij, ko sem ugotovil, kaj hoče od mene.
- Zahtevnost, odkriti vzorec, ki se ga da zapisati v kodi.
- Zanimiva.
- Ker je bila najtežja in sem moral dobro premisliti, kako bi se je lotil.
- Ker mi je predstavljala težek izziv.
- Potreboval sem nekaj časa, da sem prišel do (vsaj meni) optimalne rešitve.
- Dosti logičnega razmišljanja.
- Malo bolj sproščena tema od ostalih.
- Saj je imela palačinke in ker ni bilo ogromno kode potrebne.
- Zanimivo besedilo, hkrati pa tudi ravno prav težka.
- Bila je najbolj razumljiva in deli kode so bili že napisani.
- Imela je najbolj zanimivo rešitev.
- Ker bi bila lahko uporabljena tudi v resničnem življenju. Všeč mi je tudi koncept z že podanimi funkcijami.
- Ker imajo palačinke preveč sladkorja, jabolka pa samo glikozo.
- Ker imam rad robote <3
- Najkrajša.
- Uporabnost v praksi.
- (ni navedel naloge) Nimam izbrane.
- Ker mi je vzela preveč časa.
- Na videz lahka, vendar nisem imel dovolj časa, pa tudi dobrih rešitev nisem našel.
- Nezanimiva, klasika.
- Ni mi bil všeč moj pristop reševanja.
- Zelo dolgo sem porabil, da sem ugotovil, kaj moram narediti.
- Bila je super, a je res nisem znal tako v redu.
- Kdo je šel to sestavit? Nimam pojma, kako bi se lotil.
- Ke ima nek smisel, vendar ni tako zanimiva kot ostale naloge in meni osebno opisovanje postopka ni zelo všeč.
- Ker mi še vedno predstavlja težek izziv :)
- Ker nimam pojma.
- Naloga tipa opiši :(
- Ne vem, kako naj bi rešil (a je bilo prav).
- Ne vem, preveč je za razmišljati :)
- Ni bila tako zanimiva in bila je pretežka.
- Ni me pritegnila.
- Preveč opisovanja postopka.
- Težka, dolgočasna (neuporabna).
- Težka.
- Težko razumljiva naloga in težko algoritmiko.
- Težko razumljivo besedilo, pisna naloga.
- Nisem je razumel.
- Slabo razumljiva, nisem razumel, kako točno naj bi se kup premešal.
- Težka razumljivost.
- Nejasna.
- (1, 3) 1 - ker je bila predolga in še kar lahka. Zahtevala je pozornost (da ne zafrknemo kakšnega predznaka, …). 3 - pretežka.
- (ni navedel naloge) Nimam izbrane.
- Znal sem jo rešiti.
- Nekaj posebnega.
- (ni navedel naloge) Ne vem.
- Geometrija.
- Samo bedna implementacija.
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 | |
assembly | 0 | 1 | 0 |
bash | 1 | 0 | 0 |
basic | 2 | 0 | 0 |
batch | 1 | 0 | 0 |
C | 7 | 3 | 1 |
C# | 21 | 8 | 0 |
C++ | 22 | 17 | 6 |
C/C++ | 0 | 2 | 0 |
HTML | 3 | 1 | 0 |
java | 29 | 11 | 4 |
JavaScript | 6 | 3 | 3 |
pascal | 2 | 3 | 2 |
perl | 0 | 1 | 0 |
PHP | 8 | 3 | 1 |
python | 39 | 16 | 2 |
ruby | 2 | 0 | 0 |
scratch | 1 | 1 | 0 |
SQL | 1 | 1 | 0 |
swift | 0 | 2 | 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 | 67 | 7 | 21 | 47 | ||
II | 34 | 2 | 11 | 25 |
„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 | 37 | 30 | 13 | |||
II | 27 | 9 | 1 | |||
III | 9 | 0 | 0 |
Vprašanje za tekmovalce 3. skupine: „Letos v 3. skupini podpiramo reševanje nalog v pascalu, C, C++, C#, javi in pythonu. 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. Collatz++ | 1 | 7 | 48 | 10 | 1 | 1 | 3.09 | 96 | 14.0 | 17 |
2. Alfa Bravo | 1 | 6 | 42 | 13 | 4 | 0 | 3.25 | 80 | 12.0 | 15 |
3. Sestavljanka | 0 | 12 | 34 | 12 | 7 | 1 | 3.22 | 84 | 9.8 | 11 |
4. Pisalni stroj | 1 | 6 | 36 | 16 | 5 | 1 | 3.33 | 83 | 7.8 | 8 |
5. Brzinomer | 7 | 4 | 24 | 14 | 10 | 6 | 3.71 | 86 | 9.0 | 8 |
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. Collatz++ | 5 | 47 | 11 |
2. Alfa Bravo | 13 | 40 | 6 |
3. Sestavljanka | 8 | 47 | 6 |
4. Pisalni stroj | 12 | 39 | 8 |
5. Brzinomer | 17 | 34 | 11 |
Naloga | Dolžina besedila | Razumljivost besedila | ||||||
---|---|---|---|---|---|---|---|---|
prekratko | primerno | predolgo | povprečje* | razumljivo | težko razumljivo | nerazumljivo | povprečje* | |
1. Collatz++ | 0 | 61 | 5 | 2.08 | 48 | 12 | 0 | 1.20 |
2. Alfa Bravo | 3 | 56 | 4 | 2.02 | 57 | 2 | 1 | 1.07 |
3. Sestavljanka | 2 | 59 | 2 | 2.00 | 51 | 9 | 2 | 1.21 |
4. Pisalni stroj | 0 | 59 | 3 | 2.05 | 49 | 12 | 0 | 1.20 |
5. Brzinomer | 1 | 36 | 26 | 2.40 | 25 | 28 | 10 | 1.76 |
* 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. Collatz++ | 47 | 1 | 2 | 13 |
2. Alfa Bravo | 50 | 2 | 3 | 5 |
3. Sestavljanka | 49 | 5 | 0 | 8 |
4. Pisalni stroj | 47 | 3 | 0 | 7 |
5. Brzinomer | 34 | 11 | 3 | 13 |
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. Collatz++ | 0 | 1 | 1 | 1 | 0 | 7 | 55 |
2. Alfa Bravo | 0 | 1 | 4 | 0 | 2 | 9 | 46 |
3. Sestavljanka | 2 | 1 | 6 | 2 | 1 | 6 | 46 |
4. Pisalni stroj | 2 | 1 | 7 | 1 | 4 | 4 | 46 |
5. Brzinomer | 2 | 3 | 6 | 2 | 3 | 6 | 41 |
Naloga | Katera naloga ti je bila najbolj všeč? | Katera naloga ti je bila najmanj všeč? |
---|---|---|
1. Collatz++ | 17 | 3 |
2. Alfa Bravo | 16 | 7 |
3. Sestavljanka | 7 | 7 |
4. Pisalni stroj | 17 | 12 |
5. Brzinomer | 7 | 31 |
Mnenja o 1. nalogi (Collatz++)
Katera naloga ti je bila najbolj všeč in zakaj?
1. naloga (Collatz++)
2. naloga (Alfa Bravo)
3. naloga (Sestavljanka)
4. naloga (Pisalni stroj)
5. naloga (Brzinomer)
Katera naloga ti je bila najmanj všeč in zakaj?
1. naloga (Collatz++)
2. naloga (Alfa Bravo)
3. naloga (Sestavljanka)
4. naloga (Pisalni stroj)
5. naloga (Brzinomer)
Drugi odgovori
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. Križci in krožci | 1 | 5 | 23 | 5 | 0 | 2 | 3.03 | 40 | 14.9 | 17 |
2. Popravljanje testov | 0 | 6 | 19 | 10 | 0 | 1 | 3.11 | 41 | 12.5 | 12.5 |
3. Cevi | 0 | 0 | 12 | 14 | 8 | 2 | 3.88 | 39 | 8.5 | 9.5 |
4. Palačinke | 1 | 6 | 18 | 8 | 0 | 3 | 3.09 | 42 | 10.1 | 11 |
5. Jabolka | 4 | 13 | 13 | 2 | 1 | 1 | 2.83 | 37 | 12.8 | 16 |
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. Križci in krožci | 12 | 18 | 4 |
2. Popravljanje testov | 4 | 27 | 3 |
3. Cevi | 14 | 16 | 4 |
4. Palačinke | 5 | 25 | 3 |
5. Jabolka | 4 | 21 | 4 |
Naloga | Dolžina besedila | Razumljivost besedila | ||||||
---|---|---|---|---|---|---|---|---|
prekratko | primerno | predolgo | povprečje* | razumljivo | težko razumljivo | nerazumljivo | povprečje* | |
1. Križci in krožci | 0 | 33 | 2 | 2.06 | 34 | 1 | 0 | 1.03 |
2. Popravljanje testov | 1 | 32 | 2 | 2.03 | 24 | 11 | 0 | 1.31 |
3. Cevi | 1 | 33 | 0 | 1.97 | 31 | 1 | 1 | 1.09 |
4. Palačinke | 0 | 32 | 3 | 2.09 | 26 | 6 | 3 | 1.34 |
5. Jabolka | 0 | 31 | 2 | 2.06 | 31 | 1 | 1 | 1.09 |
* 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. Križci in krožci | 22 | 2 | 4 | 6 |
2. Popravljanje testov | 31 | 0 | 2 | 2 |
3. Cevi | 26 | 2 | 1 | 6 |
4. Palačinke | 22 | 3 | 3 | 5 |
5. Jabolka | 22 | 2 | 2 | 6 |
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. Križci in krožci | 1 | 0 | 0 | 1 | 2 | 1 | 31 |
2. Popravljanje testov | 0 | 1 | 0 | 1 | 0 | 2 | 31 |
3. Cevi | 2 | 1 | 4 | 3 | 2 | 7 | 18 |
4. Palačinke | 0 | 0 | 1 | 1 | 2 | 3 | 28 |
5. Jabolka | 0 | 0 | 1 | 0 | 0 | 1 | 29 |
Naloga | Katera naloga ti je bila najbolj všeč? | Katera naloga ti je bila najmanj všeč? |
---|---|---|
1. Križci in krožci | 7 | 4 |
2. Popravljanje testov | 7 | 2 |
3. Cevi | 3 | 17 |
4. Palačinke | 4 | 3 |
5. Jabolka | 10 | 2 |
Mnenja o 1. nalogi (Križci in krožci)
Katera naloga ti je bila najbolj všeč in zakaj?
1. naloga (Križci in krožci)
2. naloga (Popravljanje testov)
3. naloga (Cevi)
4. naloga (Palačinke)
5. naloga (Jabolka)
Drugi odgovori
Katera naloga ti je bila najmanj všeč in zakaj?
1. naloga (Križci in krožci)
2. naloga (Popravljanje testov)
3. naloga (Cevi)
4. naloga (Palačinke)
5. naloga (Jabolka)
Drugi odgovori
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. Buteljke | 0 | 2 | 4 | 1 | 1 | 1 | 3.13 | 8 | 37.5 | 5 |
2. Pravokotnik | 0 | 0 | 1 | 3 | 4 | 1 | 4.38 | 4 | 6.6 | 0 |
3. Tekoči trak | 0 | 0 | 2 | 5 | 1 | 0 | 3.88 | 7 | 19.4 | 0 |
4. Knjige | 0 | 0 | 4 | 3 | 0 | 0 | 3.43 | 12 | 34.4 | 20 |
5. Posredne volitve | 0 | 0 | 6 | 1 | 0 | 0 | 3.14 | 11 | 49.4 | 80 |
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. Buteljke | 1 | 5 | 3 |
2. Pravokotnik | 2 | 3 | 3 |
3. Tekoči trak | 3 | 2 | 2 |
4. Knjige | 2 | 4 | 0 |
5. Posredne volitve | 2 | 4 | 1 |
Naloga | Dolžina besedila | Razumljivost besedila | ||||||
---|---|---|---|---|---|---|---|---|
prekratko | primerno | predolgo | povprečje* | razumljivo | težko razumljivo | nerazumljivo | povprečje* | |
1. Buteljke | 0 | 7 | 2 | 2.22 | 8 | 1 | 0 | 1.11 |
2. Pravokotnik | 0 | 7 | 1 | 2.13 | 7 | 1 | 0 | 1.13 |
3. Tekoči trak | 0 | 6 | 1 | 2.14 | 6 | 0 | 1 | 1.29 |
4. Knjige | 0 | 6 | 0 | 2.00 | 5 | 0 | 0 | 1.00 |
5. Posredne volitve | 0 | 7 | 0 | 2.00 | 6 | 1 | 0 | 1.14 |
* 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. Buteljke | 5 | 0 | 0 | 3 |
2. Pravokotnik | 4 | 2 | 0 | 2 |
3. Tekoči trak | 4 | 1 | 0 | 1 |
4. Knjige | 4 | 0 | 2 | 0 |
5. Posredne volitve | 6 | 0 | 1 | 0 |
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. Buteljke | 0 | 1 | 1 | 2 | 0 | 0 | 4 |
2. Pravokotnik | 1 | 0 | 4 | 1 | 0 | 1 | 1 |
3. Tekoči trak | 1 | 1 | 3 | 2 | 1 | 0 | 0 |
4. Knjige | 0 | 0 | 1 | 1 | 0 | 3 | 2 |
5. Posredne volitve | 0 | 1 | 0 | 1 | 0 | 2 | 2 |
Naloga | Katera naloga ti je bila najbolj všeč? | Katera naloga ti je bila najmanj všeč? |
---|---|---|
1. Buteljke | 1 | 0 |
2. Pravokotnik | 0 | 2 |
3. Tekoči trak | 0 | 2 |
4. Knjige | 1 | 1 |
5. Posredne volitve | 3 | 1 |
Mnenja o 1. nalogi (Buteljke)
Katera naloga ti je bila najbolj všeč in zakaj?
4. naloga (Knjige)
5. naloga (Posredne volitve)
Drugi odgovori
Katera naloga ti je bila najmanj všeč in zakaj?
2. naloga (Pravokotnik)
3. naloga (Tekoči trak)