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

O nalogah:

Programersko znanje:

Katere programske jezike so uporabljali:

JezikŠt. tekmovalcev, ki so ga uporabljali
2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2004 2003
IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIIIIII
Pascal 4 0⅓3 52 2.521 1 1 614 343 4.552 421 1.522 8.521 655 232013 17
C 540.5 432.5 4⅓12 31 3.56 27  721 72  661 9.53.50.5 4.5112.5 5.5116.5 4161.5 137.51 4
C++ 18.51311 231015.5 2889 2799.5 194.510.5 1712.57 25169 23.5198 3317.513 26.5212.5 17.5119.5 71415.5 13510.5 5 6 5
PHP 3 2 10.5  1 0.5   11  22   2  1   1       
nič 21 23 41 42 2   2 11  15  1    1  3   12  32   
VB 1 1 1                    1  1      
C# 116 76 1251 165 121.52 180.5  1713 423  0.51       3  0.5       
Java 21.58.54 2832 2465 2263.5 2321.5 1881 176.51 653 594 8811 9.53   2.5  3  0.5   
Python 38110.5 4211 29⅓12 261 166 168  255 206  122  40.5  61   
Newtonscript  0.5  0.5              
JavaScript 0.5 1 1 1                  
Batch 1                  
Julia 1                  
psevdokoda 31 5 5 61 10 6   3 2   4   8    

Opombe:

Sledijo podrobni rezultati ankete. Opombe v oglatih oklepajih [takole] so moje.

Vprašanja za vse skupine

Kje si izvedel za to tekmovanje?

SkupinaKje si izvedel za to tekmovanje?
od mentorjana spletni straniod prijatelja/sošolcadrugače
I77030
II31224
III8001

Če na spletni strani, na kateri?

Če drugače, kako?

Kje si se naučil programirati?

SkupinaKje si se naučil programirati?
samv šoli pri poukuna krožkihna tečajihpoletna šolakje drugje
I564220144
II27199432
III704121

Če drugje, kje?

Čas reševanja in število nalog

SkupinaTi ustreza čas reševanja nalog?
rad bi več časarad bi manj časačasa je ravno prav
I5850
II8224
III105
SkupinaTi ustreza število nalog?
rad bi več nalograd bi manj nalognalog je ravno prav
I6353
II4426
III033
SkupinaVseh devet kombinacij časa in nalog
več časa, več nalogveč časa, enako nalogveč časa, manj nalogenako časa, več nalogenako časa, enako nalogenako časa, manj nalogmanj časa, več nalogmanj časa, enako nalogmanj časa, manj nalog
I1222461350
II0533201110
III001032000

Potekmovalne dejavnosti

SkupinaKakšne potekmovalne dejavnosti bi te zanimale?
izletpoletna šolapraksa na IJSpredstavitve novih tehnologijpredavanja o algoritmihreševanje nalogiskanje štipendijeiskanje podjetja
I2319192727172138
II1713191519151917
III13014432

Drugi predlogi

Poznavanje algoritmov in podatkovnih struktur

SkupinaAli poznaš naslednje podatkovne strukture?
drevohash tabelaseznam s kazalci (linked list)sklad (stack)vrsta (queue)
I58%41%39%47%43%
II73%54%68%65%57%
III78%89%89%100%100%
SkupinaAli poznaš naslednje algoritme?
EvklidovEratostenovo rešetoformula za vektorski produktrekurzijadinamično programiranjeiskanje v širino (po grafu)
I80%71%47%57%30%24%
II84%62%62%68%44%24%
III100%89%67%100%78%88%
SkupinaAli poznaš naslednje algoritme za urejanje?
bubble sortinsertion sortselection sortquicksortradix sortheap shortShell sortmerge sort
I41%26%24%25%0%0%1%4%
II84%57%46%57%3%5%0%11%
III89%78%56%89%11%11%0%22%
SkupinaAli poznaš zapis z velikim O za časovno in prostorsko zahtevnost?
O-zapis
I48%
II67%
III89%

Opomba pri algoritmih za urejanje: na anketnem obrazcu so bili navedeni prvi štirje. Ostale štiri (od radix sorta naprej) smo torej šteli le tam, kjer so jih tekmovalci sami od sebe vpisali v rubriko „kakšnega drugega“.

Programersko znanje

Pri vsakem konstruktu so bili možni trije odgovori: „ne poznam“, „da, slabo“ in „da, dobro“.

Naslednja tabela kaže uteženo povprečje, pri čemer smo odgovore pretvorili v števila takole: „ne“ = 0; „da, slabo“ = 1; „da, dobro“ = 2.

SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
standardni vhod/izhoddatotekearray 1-Darray 2-Darray (večdim.)podprogramrekurzijakazalci
I1.901.611.851.701.441.821.460.73
II1.941.832.001.941.822.001.781.17
III2.002.002.002.002.002.002.001.33
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I1.931.931.860.931.151.320.600.710.520.43
II2.002.001.861.111.711.641.111.060.890.75
III2.002.001.561.782.001.331.561.561.671.89

Tu pa je odstotek ljudi, ki so izbrali odgovor „da, dobro“:

SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
standardni vhod/izhoddatotekearray 1-Darray 2-Darray (večdim.)podprogramrekurzijakazalci
I92%65%89%74%64%87%57%21%
II94%86%100%94%85%100%81%51%
III100%100%100%100%100%100%100%56%
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I94%93%89%34%46%55%16%26%14%15%
II100%100%89%44%83%75%43%39%31%28%
III100%100%78%89%100%67%78%78%78%89%

Kako vpliva tvoje znanje matematike/angleščine na programiranje in učenje računalništva?

SkupinaKako vpliva tvoje znanje matematike na programiranje in učenje računalništva?
zadošča mojim potrebamobčutim pomanjkljivosti, a se znajdemje preskromno, da bi koristilo
I50254
II2881
III450
SkupinaKako vpliva tvoje znanje angleščine na programiranje in učenje računalništva?
zadošča mojim potrebamobčutim pomanjkljivosti, a se znajdemje preskromno, da bi koristilo
I7550
II3520
III810

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.

JezikSkupina
IIIIII
assembly010
bash100
basic200
batch100
C731
C#2180
C++22176
C/C++020
HTML310
java29114
JavaScript633
pascal232
perl010
PHP831
python39162
ruby200
scratch110
SQL110
swift020

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?“

SkupinaAli 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?
DaNeDaNe
ŠteviloPredlogiŠteviloPredlogi
I67
  • C#
  • Niti ne.
  • VB.net
  • Vseeno (delam v C++).
  • java
  • ni potrebno
7
    2147
    II34
    • C
    • V C++ je dovolj, ker ne poznam nobenega drugega jezika.
    • brainfuck
    • brainfuck, assembly
    • java
    • java
    • javascript
    2
      1125

      „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?“

      SkupinaAli razumeš izvorno kodo v rešitvah (v C++)?
      Ali predlagaš (še) kak drug jezik?
      DaNe(Prazno)
      ŠteviloPredlogiŠteviloPredlogiŠteviloPredlogi
      I37
      • 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
      30
      • 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
      13
        II27
        • brainfuck
        • java
        • java ali python
        • javascript
        • python
        • python
        • python
        • python
        9
        • C
        • C#
        • java
        • java
        • python
        • python, java
        1
          III9
          • C
          • java :)
          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:

              NalogaZahtevnost naloge Povprečna zahtevnost Točke
              prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
              1. Collatz++174810113.099614.017
              2. Alfa Bravo164213403.258012.015
              3. Sestavljanka0123412713.22849.811
              4. Pisalni stroj163616513.33837.88
              5. Brzinomer7424141063.71869.08

              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.

              NalogaVzela je (ali: bi) preveč časa
              danene vem
              1. Collatz++54711
              2. Alfa Bravo13406
              3. Sestavljanka8476
              4. Pisalni stroj12398
              5. Brzinomer173411
              NalogaDolžina besedila Razumljivost besedila
              prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
              1. Collatz++06152.08481201.20
              2. Alfa Bravo35642.0257211.07
              3. Sestavljanka25922.0051921.21
              4. Pisalni stroj05932.05491201.20
              5. Brzinomer136262.402528101.76

              * Povprečja smo računali tako, kot da ima prvi možni odgovor vrednost 1, drugi 2 in tretji 3.

              NalogaNaloga je bila
              zanimivadolgočasnaže znanapovprečna
              1. Collatz++471213
              2. Alfa Bravo50235
              3. Sestavljanka49508
              4. Pisalni stroj47307
              5. Brzinomer3411313
              NalogaSi 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++01110755
              2. Alfa Bravo01402946
              3. Sestavljanka21621646
              4. Pisalni stroj21714446
              5. Brzinomer23623641
              NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
              1. Collatz++173
              2. Alfa Bravo167
              3. Sestavljanka77
              4. Pisalni stroj1712
              5. Brzinomer731

              Mnenja o 1. nalogi (Collatz++)

              Mnenja o 2. nalogi (Alfa Bravo)

              Mnenja o 3. nalogi (Sestavljanka)

              Mnenja o 4. nalogi (Pisalni stroj)

              Mnenja o 5. nalogi (Brzinomer)

              Kolikokrat si se že udeležil kakšnega tekmovanja iz računalništva pred tem tekmovanjem?

              Katerega leta si se udeležil prvega tekmovanja iz računalništva?

              Najboljša dosedanja uvrstitev na tekmovanjih iz računalništva (kje in kdaj)?

              Koliko časa že programiraš?

              Kakršne koli druge pripombe in predlogi. Kaj bi spremenil(a), popravil(a), odpravil(a) ipd., da bi postalo tekmovanje zanimivejše in bolj privlačno?

              Kaj ti je bilo pri tekmovanju všeč?

              Kaj te je najbolj motilo?

              Če imaš kaj vrstnikov, ki se tudi zanimajo za programiranje, pa se tega tekmovanja niso udeležili, kaj bi bilo po tvojem mnenju treba spremeniti, da bi jih prepričali k udeležbi?

              Kakšno je bilo tvoje mnenje o sistemu za oddajanje odgovorov prek računalnika?

              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:

              NalogaZahtevnost naloge Povprečna zahtevnost Točke
              prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
              1. Križci in krožci15235023.034014.917
              2. Popravljanje testov061910013.114112.512.5
              3. Cevi001214823.88398.59.5
              4. Palačinke16188033.094210.111
              5. Jabolka413132112.833712.816

              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.

              NalogaVzela je (ali: bi) preveč časa
              danene vem
              1. Križci in krožci12184
              2. Popravljanje testov4273
              3. Cevi14164
              4. Palačinke5253
              5. Jabolka4214
              NalogaDolžina besedila Razumljivost besedila
              prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
              1. Križci in krožci03322.0634101.03
              2. Popravljanje testov13222.03241101.31
              3. Cevi13301.9731111.09
              4. Palačinke03232.0926631.34
              5. Jabolka03122.0631111.09

              * Povprečja smo računali tako, kot da ima prvi možni odgovor vrednost 1, drugi 2 in tretji 3.

              NalogaNaloga je bila
              zanimivadolgočasnaže znanapovprečna
              1. Križci in krožci22246
              2. Popravljanje testov31022
              3. Cevi26216
              4. Palačinke22335
              5. Jabolka22226
              NalogaSi 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žci10012131
              2. Popravljanje testov01010231
              3. Cevi21432718
              4. Palačinke00112328
              5. Jabolka00100129
              NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
              1. Križci in krožci74
              2. Popravljanje testov72
              3. Cevi317
              4. Palačinke43
              5. Jabolka102

              Mnenja o 1. nalogi (Križci in krožci)

              Mnenja o 2. nalogi (Popravljanje testov)

              Mnenja o 3. nalogi (Cevi)

              Mnenja o 4. nalogi (Palačinke)

              Mnenja o 5. nalogi (Jabolka)

              Kolikokrat si se že udeležil kakšnega tekmovanja iz računalništva pred tem tekmovanjem?

              Katerega leta si se udeležil prvega tekmovanja iz računalništva?

              Najboljša dosedanja uvrstitev na tekmovanjih iz računalništva (kje in kdaj)?

              Koliko časa že programiraš?

              Kakršne koli druge pripombe in predlogi. Kaj bi spremenil(a), popravil(a), odpravil(a) ipd., da bi postalo tekmovanje zanimivejše in bolj privlačno?

              Kaj ti je bilo pri tekmovanju všeč?

              Kaj te je najbolj motilo?

              Če imaš kaj vrstnikov, ki se tudi zanimajo za programiranje, pa se tega tekmovanja niso udeležili, kaj bi bilo po tvojem mnenju treba spremeniti, da bi jih prepričali k udeležbi?

              Kakšno je bilo tvoje mnenje o sistemu za oddajanje odgovorov prek računalnika?

              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:

              NalogaZahtevnost naloge Povprečna zahtevnost Točke
              prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
              1. Buteljke0241113.13837.55
              2. Pravokotnik0013414.3846.60
              3. Tekoči trak0025103.88719.40
              4. Knjige0043003.431234.420
              5. Posredne volitve0061003.141149.480

              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.

              NalogaVzela je (ali: bi) preveč časa
              danene vem
              1. Buteljke153
              2. Pravokotnik233
              3. Tekoči trak322
              4. Knjige240
              5. Posredne volitve241
              NalogaDolžina besedila Razumljivost besedila
              prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
              1. Buteljke0722.228101.11
              2. Pravokotnik0712.137101.13
              3. Tekoči trak0612.146011.29
              4. Knjige0602.005001.00
              5. Posredne volitve0702.006101.14

              * Povprečja smo računali tako, kot da ima prvi možni odgovor vrednost 1, drugi 2 in tretji 3.

              NalogaNaloga je bila
              zanimivadolgočasnaže znanapovprečna
              1. Buteljke5003
              2. Pravokotnik4202
              3. Tekoči trak4101
              4. Knjige4020
              5. Posredne volitve6010
              NalogaSi 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. Buteljke0112004
              2. Pravokotnik1041011
              3. Tekoči trak1132100
              4. Knjige0011032
              5. Posredne volitve0101022
              NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
              1. Buteljke10
              2. Pravokotnik02
              3. Tekoči trak02
              4. Knjige11
              5. Posredne volitve31

              Mnenja o 1. nalogi (Buteljke)

              Mnenja o 2. nalogi (Pravokotnik)

              Mnenja o 5. nalogi (Posredne volitve)

              Kolikokrat si se že udeležil kakšnega tekmovanja iz računalništva pred tem tekmovanjem?

              Katerega leta si se udeležil prvega tekmovanja iz računalništva?

              Najboljša dosedanja uvrstitev na tekmovanjih iz računalništva (kje in kdaj)?

              Koliko časa že programiraš?

              Kakršne koli druge pripombe in predlogi. Kaj bi spremenil(a), popravil(a), odpravil(a) ipd., da bi postalo tekmovanje zanimivejše in bolj privlačno?

              Kaj ti je bilo pri tekmovanju všeč?

              Kaj te je najbolj motilo?

              Če imaš kaj vrstnikov, ki se tudi zanimajo za programiranje, pa se tega tekmovanja niso udeležili, kaj bi bilo po tvojem mnenju treba spremeniti, da bi jih prepričali k udeležbi?

              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)

              [H kazalu. | Na vrh te strani.]