Tekmovanje ACM iz računalništva in informatike

Anketa o 14. 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 85 izpolnjenih anketnih obrazcev iz prve skupine, 36 iz druge in 16 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
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 IIIIIIIII
Pascal 2 4 0⅓3 52 2.521 1 1 614 343 4.552 421 1.522 8.521 655 232013 17
C 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++ 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 3 2 10.5  1 0.5   11  22   2  1   1       
nič 3 21 23 41 42 2   2 11  15  1    1  3   12  32   
VB 1 1 1                    1  1      
C# 122 116 76 1251 165 121.52 180.5  1713 423  0.51       3  0.5       
Java 1551 21.58.54 2832 2465 2263.5 2321.5 1881 176.51 653 594 8811 9.53   2.5  3  0.5   
Python 36.526.56.5 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 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
I80043
II33012
III12031

Č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
I51381910710
II291012352
III1078102

Č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
I24543
II10118
III526
SkupinaTi ustreza število nalog?
rad bi več nalograd bi manj nalognalog je ravno prav
I22344
II1621
III084
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
I0111013210113
II1450161010
III013033002

Potekmovalne dejavnosti

SkupinaKakšne potekmovalne dejavnosti bi te zanimale?
izletpoletna šolapraksa na IJSpredstavitve novih tehnologijpredavanja o algoritmihreševanje nalogiskanje štipendijeiskanje podjetja
I3728213835343438
II161613171481414
III53616833

Drugi predlogi

Poznavanje algoritmov in podatkovnih struktur

SkupinaAli poznaš naslednje podatkovne strukture?
drevohash tabelaseznam s kazalci (linked list)sklad (stack)vrsta (queue)
I42%41%45%31%41%
II74%59%62%68%74%
III94%63%81%94%88%
SkupinaAli poznaš naslednje algoritme?
EvklidovEratostenovo rešetoformula za vektorski produktrekurzijadinamično programiranjeiskanje v širino (po grafu)
I78%70%23%23%24%22%
II78%74%56%65%41%44%
III88%88%75%75%63%67%
SkupinaAli poznaš naslednje algoritme za urejanje?
bubble sortinsertion sortselection sortquicksortradix sortheap shortShell sortmerge sort
I36%20%19%26%0%0%0%2%
II67%33%19%22%0%3%3%6%
III94%69%69%81%0%19%6%44%
SkupinaAli poznaš zapis z velikim O za časovno in prostorsko zahtevnost?
O-zapis
I26%
II73%
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.881.511.721.491.221.530.990.57
II1.841.691.941.881.591.911.690.75
III2.001.882.002.001.882.002.001.19
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I1.921.941.780.761.031.330.560.510.420.34
II1.941.941.941.091.441.530.961.090.940.68
III2.002.002.001.441.691.751.471.331.441.56

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
I91%64%82%67%55%67%41%21%
II88%75%97%91%69%94%78%25%
III100%94%100%100%88%100%100%44%
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I94%94%84%33%44%56%21%16%12%11%
II97%97%94%41%59%66%44%41%28%19%
III100%100%100%62%75%75%67%60%56%69%

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
I60241
II23112
III1230
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
I7870
II3140
III1510

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
bash010
basic010
C412
C#2071
C++321614
C/C++010
go010
HTML200
java16105
JavaScript714
lua010
Matlab001
pascal1131
PHP501
python362510
R110
React Native100
ruby100
scratch210
swift110

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
I70
  • C#
  • C#
  • C++
  • PHP
  • assembly
  • ruby
10
  • pascal
  • python
2547
II29
  • java
2
    1117

    „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
    I63
    • C#
    • C#
    • C#
    • assembly
    • java
    • java
    • java
    • java
    • java
    14
    • C#
    • C#
    • java
    • java
    • java
    • pascal
    • python
    • python
    8
      II22
      • Python je vedno dobrodošel.
      • python
      • python
      • python
      • python
      • python
      9
      • C ali java...
      • java
      • java / python
      • python
      • python
      • python
      • python
      5
        III16
        • V redu je.
        • python
        • python
        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?“

            Dokler na to vprašanje odgovarjajo le troli, lahko verjetno sklepamo, da je sedanji nabor jezikov kar primeren :)

            Prva skupina

            Mnenje o nalogah:

            NalogaZahtevnost naloge Povprečna zahtevnost Točke
            prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
            1. Smučarski užitki0154410443.04979.610
            2. Razmazani seznam143226653.51696.25
            3. Veriga0316302244.00625.11
            4. Jezero2223610242.919610.110
            5. Stolpci in vrstice0121291673.90595.53

            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. Smučarski užitki124617
            2. Razmazani seznam204012
            3. Veriga371915
            4. Jezero55215
            5. Stolpci in vrstice272420
            NalogaDolžina besedila Razumljivost besedila
            prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
            1. Smučarski užitki16692.11502401.32
            2. Razmazani seznam356142.153824101.61
            3. Veriga158152.19462071.47
            4. Jezero065102.13611021.19
            5. Stolpci in vrstice26082.09541041.26

            * 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. Smučarski užitki414128
            2. Razmazani seznam4212217
            3. Veriga4512010
            4. Jezero483417
            5. Stolpci in vrstice468113
            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. Smučarski užitki022131058
            2. Razmazani seznam535331144
            3. Veriga10922641127
            4. Jezero003321553
            5. Stolpci in vrstice10514841426
            NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
            1. Smučarski užitki177
            2. Razmazani seznam1013
            3. Veriga721
            4. Jezero284
            5. Stolpci in vrstice1021

            Mnenja o 1. nalogi (Smučarski užitki)

            Mnenja o 2. nalogi (Razmazani seznam)

            Mnenja o 3. nalogi (Veriga)

            Mnenja o 4. nalogi (Jezero)

            Mnenja o 5. nalogi (Stolpci in vrstice)

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

            Zakaj si se odločil(a) sodelovati na tem tekmovanju?

            Česa si se na tem tekmovanju naučil(a)?

            Ali je udeležba na tem tekmovanju potrdila ali spremenila kakšne od tvojih pogledov na računalništvo?

            Ali bi udeležbo na tem tekmovanju priporočil(a) tudi drugim dijakom/dijakinjam? Zakaj oz. zakaj ne?

            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 (Smučarski užitki)

            2. naloga (Razmazani seznam)

            3. naloga (Veriga)

            4. naloga (Jezero)

            5. naloga (Stolpci in vrstice)

            Drugi odgovori

            Druga skupina

            Mnenje o nalogah:

            NalogaZahtevnost naloge Povprečna zahtevnost Točke
            prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
            1. Anagramska razdalja06222012.874615.518
            2. Zaboji04242012.934512.712
            3. Ograje01518513.93407.48
            4. Past za žvižgače06182132.934311.613
            5. Pekarna03184233.19328.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. Anagramska razdalja4189
            2. Zaboji3206
            3. Ograje1479
            4. Past za žvižgače4223
            5. Pekarna9154
            NalogaDolžina besedila Razumljivost besedila
            prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
            1. Anagramska razdalja13001.9729101.03
            2. Zaboji13001.9728211.13
            3. Ograje02912.0324501.17
            4. Past za žvižgače02812.0326401.13
            5. Pekarna110192.6014931.58

            * 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. Anagramska razdalja172110
            2. Zaboji21126
            3. Ograje21125
            4. Past za žvižgače21306
            5. Pekarna19105
            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. Anagramska razdalja00000228
            2. Zaboji11000127
            3. Ograje3336688
            4. Past za žvižgače01120125
            5. Pekarna40062314
            NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
            1. Anagramska razdalja53
            2. Zaboji60
            3. Ograje017
            4. Past za žvižgače111
            5. Pekarna97

            Mnenja o 1. nalogi (Anagramska razdalja)

            Mnenja o 2. nalogi (Zaboji)

            Mnenja o 3. nalogi (Ograje)

            Mnenja o 4. nalogi (Past za žvižgače)

            Mnenja o 5. nalogi (Pekarna)

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

            Zakaj si se odločil(a) sodelovati na tem tekmovanju?

            Česa si se na tem tekmovanju naučil(a)?

            Ali je udeležba na tem tekmovanju potrdila ali spremenila kakšne od tvojih pogledov na računalništvo?

            Ali bi udeležbo na tem tekmovanju priporočil(a) tudi drugim dijakom/dijakinjam? Zakaj oz. zakaj ne?

            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 (Anagramska razdalja)

            2. naloga (Zaboji)

            4. naloga (Past za žvižgače)

            5. naloga (Pekarna)

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

            1. naloga (Anagramska razdalja)

            3. naloga (Ograje)

            5. naloga (Pekarna)

            Tretja skupina

            Mnenje o nalogah:

            NalogaZahtevnost naloge Povprečna zahtevnost Točke
            prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
            1. Fitnes1661002.691957.888.5
            2. Telefonsko omrežje1028023.901115.00
            3. Transakcijski računi0225113.501020.60
            4. Nadzor0063103.50815.00
            5. Detektorji0021254.00411.20

            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. Fitnes0140
            2. Telefonsko omrežje363
            3. Transakcijski računi155
            4. Nadzor442
            5. Detektorji433
            NalogaDolžina besedila Razumljivost besedila
            prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
            1. Fitnes01312.0714001.00
            2. Telefonsko omrežje01202.0012001.00
            3. Transakcijski računi01012.0910101.09
            4. Nadzor01002.0010001.00
            5. Detektorji0732.307301.30

            * 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. Fitnes9014
            2. Telefonsko omrežje10101
            3. Transakcijski računi10100
            4. Nadzor8100
            5. Detektorji7201
            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. Fitnes21010310
            2. Telefonsko omrežje3241050
            3. Transakcijski računi1230023
            4. Nadzor0032231
            5. Detektorji1341003
            NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
            1. Fitnes31
            2. Telefonsko omrežje32
            3. Transakcijski računi31
            4. Nadzor11
            5. Detektorji24

            Mnenja o 1. nalogi (Fitnes)

            Mnenja o 2. nalogi (Telefonsko omrežje)

            Mnenja o 3. nalogi (Transakcijski računi)

            Mnenja o 4. nalogi (Nadzor)

            Mnenja o 5. nalogi (Detektorji)

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

            Zakaj si se odločil(a) sodelovati na tem tekmovanju?

            Česa si se na tem tekmovanju naučil(a)?

            Ali je udeležba na tem tekmovanju potrdila ali spremenila kakšne od tvojih pogledov na računalništvo?

            Ali bi udeležbo na tem tekmovanju priporočil(a) tudi drugim dijakom/dijakinjam? Zakaj oz. zakaj ne?

            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 najmanj všeč in zakaj?

            1. naloga (Fitnes)

            2. naloga (Telefonsko omrežje)

            5. naloga (Detektorji)

            Drugi odgovori

            [H kazalu. | Na vrh te strani.]