Tekmovanje ACM iz računalništva in informatike

Anketa o 16. 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 68 izpolnjenih anketnih obrazcev iz prve skupine, 25 iz druge in 16 iz tretje skupine. Ker je letošnje tekmovanje potekalo v celoti prek interneta, smo tudi anketo izvedli prek spletne strani 1ka.si.

Nekaj opažanj

O nalogah:

Programersko znanje:

Katere programske jezike so uporabljali:

JezikŠt. tekmovalcev, ki so ga uporabljali
2021 2020 2019 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 IIIIII IIIIII IIIIII IIIIIIIII
Pascal 4 2 2 4 3 52 2.521 1 1 614 343 4.552 421 1.522 8.521 655 232013 17
C 850.5 3.53 1040.5 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++ 1311.518.5 26.5814 21.57.518 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 1 3 2 10.5  1 0.5   11  22   2  1   1       
nič 3 2 3 21 23 41 42 2   2 11  15  1    1  3   12  32   
VB 1 1 1                    1  1      
C# 64 63 122 116 76 1251 165 121.52 180.5  1713 423  0.51       3  0.5       
Java 175 1543 1551 21.58.54 2832 2465 2263.5 2321.5 1881 176.51 653 594 8811 9.53   2.5  3  0.5   
Python 4315.54 48203 36.526.56.5 38110.5 4211 29⅓12 261 166 168  255 206  122  40.5  61   
Newtonscript  0.5  0.5              
JavaScript 12 2 0.5 1 1 1                  
Batch 1                  
Julia 1                  
Swift 1                  
psevdokoda 3 21 51 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
I64351
II22132
III12140

Č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
I533413988
II16116670
III1437320

Č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
I24237
II12112
III2211
SkupinaTi ustreza število nalog?
rad bi več nalograd bi manj nalognalog je ravno prav
I21743
II11014
III0312
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
I014102286011
II165084001
III0110101011

Poznavanje algoritmov in podatkovnih struktur

SkupinaAli poznaš naslednje podatkovne strukture?
drevohash tabelaseznam s kazalci (linked list)sklad (stack)vrsta (queue)
I38%31%41%40%43%
II52%44%56%48%52%
III88%81%75%75%94%
SkupinaAli poznaš naslednje algoritme?
EvklidovEratostenovo rešetoformula za vektorski produktrekurzijadinamično programiranjeiskanje v širino (po grafu)
I75%66%28%46%29%20%
II83%68%52%36%28%36%
III100%88%63%81%81%69%
SkupinaAli poznaš naslednje algoritme za urejanje?
bubble sortinsertion sortselection sortquicksortradix sortheap shortShell sortmerge sort
I40%26%25%26%0%0%1%0%
II64%36%20%36%0%0%0%4%
III83%56%50%72%6%0%0%17%
SkupinaAli poznaš zapis z velikim O za časovno in prostorsko zahtevnost?
O-zapis
I45%
II67%
III88%

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.831.481.671.511.171.911.220.52
II1.961.601.841.761.521.921.520.72
III2.001.942.002.002.002.001.941.19
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I1.921.921.830.591.081.560.710.750.370.34
II1.961.921.960.761.441.680.800.880.400.56
III2.002.002.001.381.811.811.751.621.561.44

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
I88%62%80%69%48%95%43%15%
II96%72%92%84%61%92%68%28%
III100%94%100%100%100%100%94%44%
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I95%95%89%21%36%68%23%29%9%11%
II96%92%96%28%64%76%36%32%12%20%
III100%100%100%56%81%81%75%69%69%56%

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
I43230
II13102
III1240
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
I6150
II2230
III1600

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
assembly100
AutoHotKey100
basic300
C1052
C#654
C++171011
C/C++011
go001
HTML400
java1713
JavaScript1034
kotlin101
pascal730
PHP610
python362016
R210
SQL100

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
I61
  • /
  • /
  • /
  • C
  • C++
  • Javascript
  • Ne
  • Ne
  • Ne
  • Ne
  • Ne
  • Ne
  • Ne
  • Ne.
  • Ni potrebno
  • Po mojem da ni treba
  • brainfuck
  • java
  • Če jezika ne poznaš, ti deklaracija po mojem ne bi koristila.
4
  • Ne
  • Želel bi vse v Javi, saj mi trenutno predstavlja edino okno v svet programiranja, :)
2441
II25
  • /
  • Ne briga me
  • Ne čutim potrebe
  • c#
  • python
  • vseeno mi je
0
    1114

    „V rešitvah nalog trenutno objavljamo izvorno kodo v C++, v prvi skupini pa tudi v pythonu. 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
    I50
    • /
    • C#
    • C, ker je bolj preorpst
    • Java
    • Java
    • Javascript
    • Ne
    • Ne
    • Ne
    • Ne
    • Ne
    • Ne
    • Ne.
    • java
    • java
    • morda C
    13
    • Java
    • Ne
    • Ne
    • Veliko željo imam, da bi za vse naloge sedaj in za nazaj napisali v JAVI, saj so večina v pythonu ali C++ in jih nato tisti, kateri se učimo Javo zelo težko razumemo, saj nimamo predznanja iz pythona. Hvala:)
    • java
    • pascal
    • python
    5
    • Ne
    II23
    • C#
    • Ne
    • Ne
    • Python ne bi škodil.
    • Razen Pythona, ne razumem nobenega jezika dovolj dobro, da bi razumel rešitev. Vendar pa rešitev ne gledam pogosto in ko jih, jih gledam zgolj površinsko in informativno, tako da v resnici ne potrebujem rešitve.
    • c#
    • c#
    • tudi v pythonu
    • zelel(a) bi videti, da bi pisali izvorno kodo resiev tudi za drugo skupino v pythonu
    2
    • C
    • V pythonu tudi za druge skupine.
    0
      III14
      • /
      • Ne
      • Ne
      • Ne.
      • Python v 3. Skupini
      • Whitespace
      2
      • java
      2

        Prva skupina

        Mnenje o nalogah:

        NalogaZahtevnost naloge Povprečna zahtevnost Točke
        prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
        1. Gesla110409313.108813.615.5
        2. Marsovci083816113.168111.011
        3. Rekonstrukcija poti0101425923.57708.78
        4. Kako dobri so virusni testi?1102911543.22323.40
        5. Zlaganje loncev172614493.31689.112

        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. Gesla144010
        2. Marsovci104113
        3. Rekonstrukcija poti22299
        4. Kako dobri so virusni testi?12434
        5. Zlaganje loncev133315
        NalogaDolžina besedila Razumljivost besedila
        prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
        1. Gesla15852.0657521.14
        2. Marsovci26032.02332651.56
        3. Rekonstrukcija poti25711.9853611.13
        4. Kako dobri so virusni testi?54872.032226101.79
        5. Zlaganje loncev35072.07431521.32

        * 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. Gesla465111
        2. Marsovci443014
        3. Rekonstrukcija poti51115
        4. Kako dobri so virusni testi?3310112
        5. Zlaganje loncev396312
        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. Gesla00352254
        2. Marsovci71243745
        3. Rekonstrukcija poti511095832
        4. Kako dobri so virusni testi?123470733
        5. Zlaganje loncev117662534
        NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
        1. Gesla1210
        2. Marsovci77
        3. Rekonstrukcija poti1510
        4. Kako dobri so virusni testi?617
        5. Zlaganje loncev59

        Mnenja o 1. nalogi (Gesla)

        Mnenja o 2. nalogi (Marsovci)

        Mnenja o 3. nalogi (Rekonstrukcija poti)

        Mnenja o 4. nalogi (Kako dobri so virusni testi?)

        Mnenja o 5. nalogi (Zlaganje loncev)

        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 (Gesla)

        2. naloga (Marsovci)

        3. naloga (Rekonstrukcija poti)

        4. naloga (Kako dobri so virusni testi?)

        5. naloga (Zlaganje loncev)

        Drugi odgovori

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

        1. naloga (Gesla)

        2. naloga (Marsovci)

        3. naloga (Rekonstrukcija poti)

        4. naloga (Kako dobri so virusni testi?)

        5. naloga (Zlaganje loncev)

        Drugi odgovori

        Druga skupina

        Mnenje o nalogah:

        NalogaZahtevnost naloge Povprečna zahtevnost Točke
        prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
        1. Sredinec07162002.803610.610
        2. Svetilka08133102.883510.29
        3. Pletenje puloverja00911413.79326.95
        4. Pangramski podniz0197623.78289.112
        5. Tetris00191234.50113.60

        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. Sredinec6181
        2. Svetilka3202
        3. Pletenje puloverja10123
        4. Pangramski podniz8134
        5. Tetris1078
        NalogaDolžina besedila Razumljivost besedila
        prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
        1. Sredinec02502.0025001.00
        2. Svetilka02502.0018701.28
        3. Pletenje puloverja02412.0424101.04
        4. Pangramski podniz02412.0424001.00
        5. Tetris02032.1318601.25

        * 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. Sredinec19024
        2. Svetilka15307
        3. Pletenje puloverja22201
        4. Pangramski podniz20003
        5. Tetris21001
        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. Sredinec00031321
        2. Svetilka10021319
        3. Pletenje puloverja41532410
        4. Pangramski podniz32440314
        5. Tetris12683144
        NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
        1. Sredinec71
        2. Svetilka12
        3. Pletenje puloverja54
        4. Pangramski podniz43
        5. Tetris310

        Mnenja o 1. nalogi (Sredinec)

        Mnenja o 2. nalogi (Svetilka)

        Mnenja o 3. nalogi (Pletenje puloverja)

        Mnenja o 4. nalogi (Pangramski podniz)

        Mnenja o 5. nalogi (Tetris)

        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 (Sredinec)

        2. naloga (Svetilka)

        3. naloga (Pletenje puloverja)

        4. naloga (Pangramski podniz)

        5. naloga (Tetris)

        Drugi odgovori

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

        1. naloga (Sredinec)

        2. naloga (Svetilka)

        3. naloga (Pletenje puloverja)

        4. naloga (Pangramski podniz)

        5. naloga (Tetris)

        Drugi odgovori

        Tretja skupina

        Mnenje o nalogah:

        NalogaZahtevnost naloge Povprečna zahtevnost Točke
        prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
        1. Kapniki12111003.002343.735.5
        2. Socialno omrežje0264303.531531.35.5
        3. Proizvodnja cepiva00410013.711815.210
        4. Virus v Timaniji0016624.38410.90
        5. Tja in spet nazaj0166113.50810.00

        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. Kapniki3111
        2. Socialno omrežje573
        3. Proizvodnja cepiva276
        4. Virus v Timaniji627
        5. Tja in spet nazaj465
        NalogaDolžina besedila Razumljivost besedila
        prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
        1. Kapniki01412.0713201.13
        2. Socialno omrežje01232.2010501.33
        3. Proizvodnja cepiva01312.0715001.00
        4. Virus v Timaniji01052.3311311.33
        5. Tja in spet nazaj01322.1312301.20

        * 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. Kapniki12111
        2. Socialno omrežje11103
        3. Proizvodnja cepiva13001
        4. Virus v Timaniji10003
        5. Tja in spet nazaj12012
        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. Kapniki0102367
        2. Socialno omrežje2432034
        3. Proizvodnja cepiva2344151
        4. Virus v Timaniji7561011
        5. Tja in spet nazaj5332151
        NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
        1. Kapniki61
        2. Socialno omrežje11
        3. Proizvodnja cepiva31
        4. Virus v Timaniji19
        5. Tja in spet nazaj10

        Mnenja o 1. nalogi (Kapniki)

        Mnenja o 2. nalogi (Socialno omrežje)

        Mnenja o 3. nalogi (Proizvodnja cepiva)

        Mnenja o 4. nalogi (Virus v Timaniji)

        Mnenja o 5. nalogi (Tja in spet nazaj)

        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 (Kapniki)

        2. naloga (Socialno omrežje)

        3. naloga (Proizvodnja cepiva)

        4. naloga (Virus v Timaniji)

        5. naloga (Tja in spet nazaj)

        Drugi odgovori

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

        1. naloga (Kapniki)

        2. naloga (Socialno omrežje)

        3. naloga (Proizvodnja cepiva)

        4. naloga (Virus v Timaniji)

        Drugi odgovori

        [H kazalu. | Na vrh te strani.]