Tekmovanje ACM iz računalništva in informatike

Anketa o 10. 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 78 izpolnjenih anketnih obrazcev iz prve skupine, 21 iz druge in 8 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
2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2004 2003
IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIIIIII
Pascal 52 2.521 1 1 614 343 4.552 421 1.522 8.521 655 232013 17
C 31 3.56 27  721 72  661 9.53.50.5 4.5112.5 5.5116.5 4161.5 137.51 4
C++ 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č 41 42 2   2 11  15  1    1  3   12  32   
VB 1 1 1                    1  1      
C# 165 121.52 180.5  1713 423  0.51       3  0.5       
Java 2263.5 2321.5 1881 176.51 653 594 8811 9.53   2.5  3  0.5   
Python 261 166 168  255 206  122  40.5  61   
Newtonscript  0.5  0.5              
JavaScript 1 1                  
Batch 1                  
psevdokoda 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
I64275
II16041
III6102

Č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
I453422556
II1467122
III822121

Č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
I151040
II5111
III205
SkupinaTi ustreza število nalog?
rad bi več nalograd bi manj nalognalog je ravno prav
I51248
II0215
III106
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
I21030337352
II0320110010
III110050000

Potekmovalne dejavnosti

SkupinaKakšne potekmovalne dejavnosti bi te zanimale?
izletpoletna šolapraksa na IJSpredstavitve novih tehnologijpredavanja o algoritmihreševanje nalogiskanje štipendijeiskanje podjetja
I2626193028212735
II73438145
III11213321

Drugi predlogi

Poznavanje algoritmov in podatkovnih struktur

SkupinaAli poznaš naslednje podatkovne strukture?
drevohash tabelaseznam s kazalci (linked list)sklad (stack)vrsta (queue)
I36%25%22%33%42%
II48%38%57%57%43%
III100%75%100%100%100%
SkupinaAli poznaš naslednje algoritme?
EvklidovEratostenovo rešetoformula za vektorski produktrekurzijadinamično programiranjeiskanje v širino (po grafu)
I79%68%28%21%17%7%
II67%57%57%43%42%28%
III86%57%100%86%86%71%
SkupinaAli poznaš naslednje algoritme za urejanje?
bubble sortinsertion sortselection sortquicksortradix sortheap shortShell sortmerge sort
I37%26%23%19%0%3%0%3%
II57%24%48%52%0%0%0%0%
III63%75%75%63%0%0%0%38%
SkupinaAli poznaš zapis z velikim O za časovno in prostorsko zahtevnost?
O-zapis
I31%
II55%
III86%

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.591.321.621.340.991.420.830.64
II1.891.632.001.681.391.741.470.94
III2.002.002.002.002.002.002.001.71
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I1.881.891.580.620.731.040.370.430.290.24
II2.002.001.790.791.111.220.890.780.610.56
III2.002.001.711.671.712.001.711.501.331.50

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
I76%52%80%59%39%62%31%24%
II89%74%100%79%56%74%63%33%
III100%100%100%100%100%100%100%71%
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I91%92%76%23%26%41%10%12%5%5%
II100%100%89%32%50%56%33%33%28%22%
III100%100%86%67%86%100%86%67%50%67%

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
I52223
II1641
III350
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
I6781
II2010
III800

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
basic310
C320
C#1740
C++1685
HTML410
java1883
JavaScript431
lua100
objective C100
pascal541
PHP922
python1814

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++, C#, pythonu in javi)?
Ali predlagaš (še) kak drug jezik?
So ti prišle deklaracije v pythonu kaj prav?
DaNeDaNe
ŠteviloPredlogiŠteviloPredlogi
I54
  • Go
  • Po mojem je edini smisel deklaracij return tip, ker so parametri opisani v navodilih.
  • Vseeno mi je.
  • java
  • java (je že)
  • nope
  • pascal
  • python 3
18
  • Scratch
  • mogoče v Schratchu
  • v javi
959
II17
  • java
3
  • C++
  • pascal
217

„V rešitvah nalog trenutno objavljamo izvorno kodo v C-ju. 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-ju)?
Ali predlagaš (še) kak drug jezik?
DaNe(Prazno)
ŠteviloPredlogiŠteviloPredlogiŠteviloPredlogi
I31
  • C#
  • C#, C++
  • C++
  • C++
  • C++
  • C++
  • java
  • pascal
  • python
  • python
37
  • C#
  • C#, java
  • C++
  • C++
  • Scratch
  • java
  • java
  • java
  • java
  • java
  • java
  • java
  • java
  • java
  • java, C#
  • java, python
  • mogoče v Schratchu
  • pascal
  • pascal
  • python
  • python
  • python
  • python
  • python
  • python
  • python
8
    II13
    • java
    • pascal
    • python
    7
    • C#
    • C++
    • C++
    • C++ ali java
    • pascal
    • v javi/C#
    1
      III6
      • python
      • python
      1
      • C++ xD
      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:

        NalogaZahtevnost naloge Povprečna zahtevnost Točke
        prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
        1. Delni izid0162812643.1310210.210
        2. Kompresija319355312.9210012.115
        3. znajdi.se042826433.48979.29
        4. Dva od petih153615443.329111.816
        5. Kontrolne vsote0110242444.20686.33

        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. Delni izid94115
        2. Kompresija2529
        3. znajdi.se153413
        4. Dva od petih10409
        5. Kontrolne vsote212118
        NalogaDolžina besedila Razumljivost besedila
        prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
        1. Delni izid46021.9755921.20
        2. Kompresija36121.98521021.22
        3. znajdi.se26122.0056811.15
        4. Dva od petih25842.03491141.30
        5. Kontrolne vsote135252.39203771.80

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

        NalogaNaloga je bila
        zanimivadolgočasnaže znanapovprečna
        1. Delni izid403118
        2. Kompresija415018
        3. znajdi.se52407
        4. Dva od petih398213
        5. Kontrolne vsote361617
        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. Delni izid02412749
        2. Kompresija00310850
        3. znajdi.se227351036
        4. Dva od petih211011743
        5. Kontrolne vsote9101922923
        NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
        1. Delni izid1612
        2. Kompresija174
        3. znajdi.se143
        4. Dva od petih410
        5. Kontrolne vsote1033

        Mnenja o 1. nalogi (Delni izid)

        Mnenja o 2. nalogi (Kompresija)

        Mnenja o 3. nalogi (znajdi.se)

        Mnenja o 4. nalogi (Dva od petih)

        Mnenja o 5. nalogi (Kontrolne vsote)

        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 (Delni izid)

        2. naloga (Kompresija)

        3. naloga (znajdi.se)

        4. naloga (Dva od petih)

        5. naloga (Kontrolne vsote)

        Drugi odgovori

        Katera naloga ti je bila najmanj všeč in zakaj?

        1. naloga (Delni izid)

        2. naloga (Kompresija)

        3. naloga (znajdi.se)

        4. naloga (Dva od petih)

        5. naloga (Kontrolne vsote)

        Drugi odgovori

        Druga skupina

        Mnenje o nalogah:

        NalogaZahtevnost naloge Povprečna zahtevnost Točke
        prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
        1. It's raining cubes01105303.53208.16
        2. Strahopetni Hektor02124103.212411.413
        3. Polaganje plošč1394203.33257.47
        4. Kodiranje0294313.44189.010
        5. Golovec13112103.122313.317

        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. It's raining cubes5103
        2. Strahopetni Hektor2151
        3. Polaganje plošč3132
        4. Kodiranje693
        5. Golovec2150
        NalogaDolžina besedila Razumljivost besedila
        prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
        1. It's raining cubes21311.9410511.44
        2. Strahopetni Hektor21511.9411611.44
        3. Polaganje plošč11612.0015211.22
        4. Kodiranje21422.0013411.33
        5. Golovec31401.8214121.29

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

        NalogaNaloga je bila
        zanimivadolgočasnaže znanapovprečna
        1. It's raining cubes10304
        2. Strahopetni Hektor11114
        3. Polaganje plošč7325
        4. Kodiranje8305
        5. Golovec11212
        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. It's raining cubes12111312
        2. Strahopetni Hektor11200212
        3. Polaganje plošč11111111
        4. Kodiranje21210011
        5. Golovec11200113
        NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
        1. It's raining cubes18
        2. Strahopetni Hektor30
        3. Polaganje plošč22
        4. Kodiranje12
        5. Golovec104

        Mnenja o 1. nalogi (It's raining cubes)

        Mnenja o 5. nalogi (Golovec)

        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 (It's raining cubes)

        2. naloga (Strahopetni Hektor)

        3. naloga (Polaganje plošč)

        4. naloga (Kodiranje)

        5. naloga (Golovec)

        Katera naloga ti je bila najmanj všeč in zakaj?

        1. naloga (It's raining cubes)

        3. naloga (Polaganje plošč)

        4. naloga (Kodiranje)

        5. naloga (Golovec)

        Drugi odgovori

        Tretja skupina

        Mnenje o nalogah:

        NalogaZahtevnost naloge Povprečna zahtevnost Točke
        prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
        1. Nurikabe0051103.43628.60
        2. Analiza signala0141013.001052.567
        3. Mafijski semenj0141013.00927.317
        4. Trgovanje z zrni1003214.6027.70
        5. Razcep niza0013124.00716.10

        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. Nurikabe331
        2. Analiza signala142
        3. Mafijski semenj241
        4. Trgovanje z zrni313
        5. Razcep niza034
        NalogaDolžina besedila Razumljivost besedila
        prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
        1. Nurikabe0702.004301.43
        2. Analiza signala1601.866011.29
        3. Mafijski semenj0602.006001.00
        4. Trgovanje z zrni1601.866011.29
        5. Razcep niza1501.835011.33

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

        NalogaNaloga je bila
        zanimivadolgočasnaže znanapovprečna
        1. Nurikabe6100
        2. Analiza signala4101
        3. Mafijski semenj6000
        4. Trgovanje z zrni4200
        5. Razcep niza5100
        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. Nurikabe0112122
        2. Analiza signala0010042
        3. Mafijski semenj1002212
        4. Trgovanje z zrni2030020
        5. Razcep niza3010030
        NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
        1. Nurikabe42
        2. Analiza signala21
        3. Mafijski semenj10
        4. Trgovanje z zrni02
        5. Razcep niza02

        Mnenja o 1. nalogi (Nurikabe)

        Mnenja o 2. nalogi (Analiza signala)

        Mnenja o 3. nalogi (Mafijski semenj)

        Mnenja o 4. nalogi (Trgovanje z zrni)

        Mnenja o 5. nalogi (Razcep niza)

        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?

        1. naloga (Nurikabe)

        2. naloga (Analiza signala)

        3. naloga (Mafijski semenj)

        Katera naloga ti je bila najmanj všeč in zakaj?

        1. naloga (Nurikabe)

        2. naloga (Analiza signala)

        4. naloga (Trgovanje z zrni)

        5. naloga (Razcep niza)

        [H kazalu. | Na vrh te strani.]