Tekmovanje ACM iz računalništva in informatike

Anketa o 9. 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 84 izpolnjenih anketnih obrazcev iz prve skupine, 13 iz druge in 13 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
2014 2013 2012 2011 2010 2009 2008 2007 2006 2004 2003
IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIII IIIIIIIII
Pascal 2.521 1 1 614 343 4.552 421 1.522 8.521 655 232013 17
C 3.56 27  721 72  661 9.53.50.5 4.5112.5 5.5116.5 4161.5 137.51 4
C++ 194.510.5 1712.57 25169 23.5198 3317.513 26.5212.5 17.5119.5 71415.5 13510.5 5 6 5
PHP 2 10.5  1 0.5   11  22   2  1   1       
nič 42 2   2 11  15  1    1  3   12  32   
VB 1 1                    1  1      
C# 121.52 180.5  1713 423  0.51       3  0.5       
Java 2321.5 1881 176.51 653 594 8811 9.53   2.5  3  0.5   
Python 166 168  255 206  122  40.5  61   
Newtonscript  0.5  0.5              
JavaScript 1                  
Batch 1                  
psevdokoda 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
I76053
II11224
III11011

Č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
I553421957
II855332
III923420

Č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
I71064
II308
III524
SkupinaTi ustreza število nalog?
rad bi več nalograd bi manj nalognalog je ravno prav
I61064
II217
III119
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
I0703546334
II110161000
III041130020

Potekmovalne dejavnosti

SkupinaKakšne potekmovalne dejavnosti bi te zanimale?
izletpoletna šolapraksa na IJSpredstavitve novih tehnologijpredavanja o algoritmihreševanje nalogiskanje štipendijeiskanje podjetja
I2727233333183648
II35526245
III22425655

Drugi predlogi

Poznavanje algoritmov in podatkovnih struktur

SkupinaAli poznaš naslednje podatkovne strukture?
drevohash tabelaseznam s kazalci (linked list)sklad (stack)vrsta (queue)
I45%27%40%31%27%
II46%31%62%46%54%
III85%85%92%85%92%
SkupinaAli poznaš naslednje algoritme?
EvklidovEratostenovo rešetoformula za vektorski produktrekurzijadinamično programiranjeiskanje v širino (po grafu)
I79%64%38%25%28%17%
II85%69%62%54%46%17%
III92%85%54%62%69%75%
SkupinaAli poznaš naslednje algoritme za urejanje?
bubble sortinsertion sortselection sortquicksortradix sortheap shortShell sortmerge sort
I57%21%23%24%0%1%0%6%
II77%54%31%31%0%8%0%15%
III69%46%46%77%0%0%0%23%
SkupinaAli poznaš zapis z velikim O za časovno in prostorsko zahtevnost?
O-zapis
I27%
II62%
III100%

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.711.431.591.411.081.730.840.71
II1.921.771.851.621.541.691.421.15
III1.921.921.921.921.851.851.621.77
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I1.941.951.790.841.081.120.510.440.320.22
II2.001.851.831.151.311.311.080.920.540.62
III1.921.921.921.621.851.621.461.311.381.31

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
I75%62%76%62%46%81%32%25%
II92%77%92%77%62%85%58%31%
III92%92%92%92%85%85%69%77%
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I95%96%85%28%40%42%17%15%13%8%
II100%92%92%46%54%46%46%38%15%31%
III92%92%92%69%85%77%62%54%62%54%

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
I55280
II940
III670
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
I7382
II1210
III1210

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
C511
C#1825
C++27610
HTML400
java2253
JavaScript533
lua100
objective C100
pascal435
PHP933
python1234

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++, 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
I72
  • C# ni bilo posebej navedenih. [Letos pravzaprav v prvi skupini ni bilo sploh nobeni deklaracij, ki bi bile specifične za kakšen konkreten programski jezik.]
  • C++
  • C++
  • C++/C
  • PHP
  • batch
  • da, javascript
  • java
  • lua
  • pascal
6
  • python 3
869
II11
  • java
  • lua
  • pascal
2
    39

    „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
    I42
    • C#
    • C#
    • C++
    • C++
    • java
    • java
    • java
    • java
    • java
    • java
    • java, PHP
    • psevdokoda
    • python
    • python
    38
    • C#
    • C#
    • C#
    • C#
    • C# ali java
    • C++
    • C++
    • batch
    • java
    • java
    • java
    • java
    • java
    • java
    • javascript
    • python
    • python
    • python
    • python
    • python
    • python
    • python
    • python
    • python
    • python
    4
      II8
      • python
      • python, C++
      5
      • java
      • pascal
      • python
      0
        III13
        • C++
        • C++
        • C++
        • C++
        • python :)
        • vseeno
        0
          0

            Vprašanje za tekmovalce 3. skupine: „Doslej smo v 3. skupini podpirali reševanje nalog v pascalu, C, C++, C# in javi. 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. Dnevnik2174411243.008410.410
            2. Proizvodnja čopičev1104813243.11828.69.5
            3. Pacifistični generali0326331443.76776.95
            4. Uniforme2133425413.29819.910
            5. Davek na ograjo0028311533.827510.713

            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. Dnevnik105612
            2. Proizvodnja čopičev10549
            3. Pacifistični generali303412
            4. Uniforme135110
            5. Davek na ograjo214114
            NalogaDolžina besedila Razumljivost besedila
            prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
            1. Dnevnik267102.10651021.18
            2. Proizvodnja čopičev56582.04542111.30
            3. Pacifistični generali450222.24303791.72
            4. Uniforme26972.0673311.06
            5. Davek na ograjo067102.1362841.22

            * 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. Dnevnik427721
            2. Proizvodnja čopičev507317
            3. Pacifistični generali429220
            4. Uniforme547313
            5. Davek na ograjo551209
            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. Dnevnik113011162
            2. Proizvodnja čopičev014161055
            3. Pacifistični generali3310361834
            4. Uniforme066031154
            5. Davek na ograjo5410541042
            NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
            1. Dnevnik176
            2. Proizvodnja čopičev145
            3. Pacifistični generali827
            4. Uniforme1111
            5. Davek na ograjo2423

            Mnenja o 1. nalogi (Dnevnik)

            Mnenja o 2. nalogi (Proizvodnja čopičev)

            Mnenja o 3. nalogi (Pacifistični generali)

            Mnenja o 4. nalogi (Uniforme)

            Mnenja o 5. nalogi (Davek na ograjo)

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

            2. naloga (Proizvodnja čopičev)

            3. naloga (Pacifistični generali)

            4. naloga (Uniforme)

            5. naloga (Davek na ograjo)

            Drugi odgovori

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

            1. naloga (Dnevnik)

            2. naloga (Proizvodnja čopičev)

            3. naloga (Pacifistični generali)

            4. naloga (Uniforme)

            5. naloga (Davek na ograjo)

            Drugi odgovori

            Druga skupina

            Mnenje o nalogah:

            NalogaZahtevnost naloge Povprečna zahtevnost Točke
            prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
            1. Vnos šifre1053113.67188.85
            2. Prenova ceste10100003.10163.92
            3. Skrivno sporočilo2332103.33189.712
            4. Potenciranje2232113.50218.910
            5. Tiskana vezja1144103.60195.05

            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. Vnos šifre353
            2. Prenova ceste271
            3. Skrivno sporočilo0100
            4. Potenciranje470
            5. Tiskana vezja361
            NalogaDolžina besedila Razumljivost besedila
            prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
            1. Vnos šifre1912.009201.18
            2. Prenova ceste1732.189111.27
            3. Skrivno sporočilo11001.918211.36
            4. Potenciranje0922.187221.55
            5. Tiskana vezja1912.0010101.09

            * 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. Vnos šifre10100
            2. Prenova ceste7102
            3. Skrivno sporočilo9020
            4. Potenciranje7202
            5. Tiskana vezja7013
            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. Vnos šifre0111315
            2. Prenova ceste0002117
            3. Skrivno sporočilo1210108
            4. Potenciranje0021018
            5. Tiskana vezja1110117
            NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
            1. Vnos šifre22
            2. Prenova ceste10
            3. Skrivno sporočilo01
            4. Potenciranje62
            5. Tiskana vezja14

            Mnenja o 1. nalogi (Vnos šifre)

            Mnenja o 2. nalogi (Prenova ceste)

            Mnenja o 3. nalogi (Skrivno sporočilo)

            Mnenja o 4. nalogi (Potenciranje)

            Mnenja o 5. nalogi (Tiskana vezja)

            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 (Vnos šifre)

            2. naloga (Prenova ceste)

            4. naloga (Potenciranje)

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

            1. naloga (Vnos šifre)

            3. naloga (Skrivno sporočilo)

            4. naloga (Potenciranje)

            5. naloga (Tiskana vezja)

            Drugi odgovori

            Tretja skupina

            Mnenje o nalogah:

            NalogaZahtevnost naloge Povprečna zahtevnost Točke
            prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
            1. Ljudožerci na premici0481002.771342.521
            2. Po Indiji z avtobusom1290002.911570.582
            3. Luči0042514.0927.90
            4. Bloki0472002.85531.30
            5. Poravnavanje desnega roba0173103.33621.30

            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. Ljudožerci na premici551
            2. Po Indiji z avtobusom1101
            3. Luči912
            4. Bloki571
            5. Poravnavanje desnega roba291
            NalogaDolžina besedila Razumljivost besedila
            prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
            1. Ljudožerci na premici01122.1511201.15
            2. Po Indiji z avtobusom01112.0810201.17
            3. Luči11101.9211101.08
            4. Bloki01122.1512011.15
            5. Poravnavanje desnega roba0932.258401.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. Ljudožerci na premici6007
            2. Po Indiji z avtobusom6105
            3. Luči5205
            4. Bloki5125
            5. Poravnavanje desnega roba7104
            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. Ljudožerci na premici0001336
            2. Po Indiji z avtobusom0001218
            3. Luči2450011
            4. Bloki2103215
            5. Poravnavanje desnega roba3302023
            NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
            1. Ljudožerci na premici30
            2. Po Indiji z avtobusom20
            3. Luči24
            4. Bloki27
            5. Poravnavanje desnega roba21

            Mnenja o 1. nalogi (Ljudožerci na premici)

            Mnenja o 2. nalogi (Po Indiji z avtobusom)

            Mnenja o 3. nalogi (Luči)

            Mnenja o 4. nalogi (Bloki)

            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 (Ljudožerci na premici)

            2. naloga (Po Indiji z avtobusom)

            3. naloga (Luči)

            4. naloga (Bloki)

            5. naloga (Poravnavanje desnega roba)

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

            3. naloga (Luči)

            4. naloga (Bloki)

            5. naloga (Poravnavanje desnega roba)

            [H kazalu. | Na vrh te strani.]