Tekmovanje ACM iz računalništva in informatike

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

Č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
I402410234
II16176421
III612220

Č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
I3838
II1620
III005
SkupinaTi ustreza število nalog?
rad bi več nalograd bi manj nalognalog je ravno prav
I5440
II1620
III024
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
I1113332161
II0010182123
III000041000

Potekmovalne dejavnosti

SkupinaKakšne potekmovalne dejavnosti bi te zanimale?
izletpoletna šolapraksa na IJSpredstavitve novih tehnologijpredavanja o algoritmihreševanje nalogiskanje štipendijeiskanje podjetja
I1921141918162327
II811991071315
III43426533

Drugi predlogi

Poznavanje algoritmov in podatkovnih struktur

SkupinaAli poznaš naslednje podatkovne strukture?
drevohash tabelaseznam s kazalci (linked list)sklad (stack)vrsta (queue)
I46%31%44%32%47%
II46%41%55%45%52%
III71%86%100%86%100%
SkupinaAli poznaš naslednje algoritme?
EvklidovEratostenovo rešetoformula za vektorski produktrekurzijadinamično programiranjeiskanje v širino (po grafu)
I74%66%42%28%28%16%
II77%67%50%27%21%27%
III100%100%71%100%100%75%
SkupinaAli poznaš naslednje algoritme za urejanje?
bubble sortinsertion sortselection sortquicksortradix sortheap shortShell sortmerge sort
I32%17%15%24%0%2%2%0%
II45%6%13%19%0%0%0%0%
III57%43%57%71%0%0%0%29%
SkupinaAli poznaš zapis z velikim O za časovno in prostorsko zahtevnost?
O-zapis
I30%
II54%
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.661.561.621.421.231.481.020.72
II1.961.751.891.681.321.821.390.82
III2.002.002.002.001.862.002.001.43
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I1.841.861.770.711.041.040.750.450.390.30
II1.962.001.891.041.361.460.960.140.250.21
III2.002.001.711.431.711.571.501.431.571.57

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%67%78%58%50%66%38%22%
II96%79%93%75%54%86%61%25%
III100%100%100%100%86%100%100%57%
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I88%91%84%22%43%40%31%16%12%9%
II96%100%93%39%50%64%40%4%4%4%
III100%100%86%57%86%57%67%57%57%57%

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
I40190
II20110
III250
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
I5081
II2920
III600

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
basic110
C220
C#1851
C++19185
C/C++021
HTML200
java1280
JavaScript300
lua310
pascal465
PHP741
python1192

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
I50
  • C#
  • C#
  • C#
  • Visual Basic.NET ali pa C#
  • da, lua
  • java
  • java
  • java
  • lua
  • ni potrebno
7
  • C#
  • C#
  • C#
  • PHP
1441
II27
  • C++
  • MindFuck
  • basic (QuickBASIC / FreeBASIC)
  • java
  • lua
  • python 3.2
  • samo ukinite javo
0
    618

    „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
    I32
    • C#
    • C#
    • C#
    • C#
    • C++
    • C++
    • C++ ali java
    • Morda java ali C#, C++.
    • Nekaterim tekmovalcem bi koda v javi ali C# bolj koristila.
    • V pascalu in pythonu.
    • da, C++
    • java
    • python
    • python
    • python
    23
    • C#
    • C#
    • C#
    • C#
    • C++
    • PHP
    • da, E2
    • da, java
    • java :)
    • java
    • java
    • java
    • java
    • java
    • python
    • python
    • python
    4
      II22
      • C++
      • C++
      • C++, pascal
      • C++, saj je zelo podoben, le brez odvečne navlake
      • basic (QuickBASIC / FreeBASIC)
      • java
      • python
      • python
      4
      • C++
      • java
      • java/C++
      4
        III7
        • python
        • python
        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. Vandali314306022.905911.214
            2. Kolera021523943.805010.012
            3. Kino010356022.92708.09
            4. Iglični tiskalnik229231234.02467.94
            5. Dvigalo520234032.776813.517

            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. Vandali4418
            2. Kolera132515
            3. Kino7404
            4. Iglični tiskalnik182113
            5. Dvigalo1466
            NalogaDolžina besedila Razumljivost besedila
            prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
            1. Vandali15112.0050301.06
            2. Kolera041112.21351331.37
            3. Kino04922.0445411.12
            4. Iglični tiskalnik44172.06251971.65
            5. Dvigalo15022.0249221.11

            * 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. Vandali304513
            2. Kolera39417
            3. Kino295216
            4. Iglični tiskalnik37517
            5. Dvigalo39319
            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. Vandali01001943
            2. Kolera2012011128
            3. Kino00110346
            4. Iglični tiskalnik451613624
            5. Dvigalo10200743
            NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
            1. Vandali93
            2. Kolera1013
            3. Kino44
            4. Iglični tiskalnik419
            5. Dvigalo204

            Mnenja o 1. nalogi (Vandali)

            Mnenja o 2. nalogi (Kolera)

            Mnenja o 3. nalogi (Kino)

            Mnenja o 4. nalogi (Iglični tiskalnik)

            Mnenja o 5. nalogi (Dvigalo)

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

            2. naloga (Kolera)

            3. naloga (Kino)

            4. naloga (Iglični tiskalnik)

            5. naloga (Dvigalo)

            Drugi odgovori

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

            1. naloga (Vandali)

            2. naloga (Kolera)

            3. naloga (Kino)

            4. naloga (Iglični tiskalnik)

            5. naloga (Dvigalo)

            Drugi odgovori

            Druga skupina

            Mnenje o nalogah:

            NalogaZahtevnost naloge Povprečna zahtevnost Točke
            prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
            1. Binarni sef05118223.27215.33
            2. Sumljiva imenovanja16137103.15318.79
            3. Dekodiranje nizov07126213.11319.812
            4. Silhuete01615423.85244.82
            5. Ribič23137213.40336.87

            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. Binarni sef6166
            2. Sumljiva imenovanja4231
            3. Dekodiranje nizov7183
            4. Silhuete12104
            5. Ribič1224
            NalogaDolžina besedila Razumljivost besedila
            prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
            1. Binarni sef22501.9319801.30
            2. Sumljiva imenovanja02262.2120711.32
            3. Dekodiranje nizov02712.0424401.14
            4. Silhuete12432.0721341.39
            5. Ribič02702.0021411.23

            * 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. Binarni sef17324
            2. Sumljiva imenovanja15307
            3. Dekodiranje nizov17307
            4. Silhuete14526
            5. Ribič16425
            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. Binarni sef04310318
            2. Sumljiva imenovanja01101124
            3. Dekodiranje nizov00310222
            4. Silhuete12213514
            5. Ribič00110322
            NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
            1. Binarni sef56
            2. Sumljiva imenovanja95
            3. Dekodiranje nizov62
            4. Silhuete511
            5. Ribič44

            Mnenja o 1. nalogi (Binarni sef)

            Mnenja o 2. nalogi (Sumljiva imenovanja)

            Mnenja o 3. nalogi (Dekodiranje nizov)

            Mnenja o 4. nalogi (Silhuete)

            Mnenja o 5. nalogi (Ribič)

            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 (Binarni sef)

            2. naloga (Sumljiva imenovanja)

            3. naloga (Dekodiranje nizov)

            4. naloga (Silhuete)

            5. naloga (Ribič)

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

            1. naloga (Binarni sef)

            2. naloga (Sumljiva imenovanja)

            4. naloga (Silhuete)

            5. naloga (Ribič)

            Tretja skupina

            Mnenje o nalogah:

            NalogaZahtevnost naloge Povprečna zahtevnost Točke
            prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
            1. Moderna umetnost0330012.50878.397
            2. Kompleksnost števil0032103.67732.834
            3. Požar0032103.67525.730
            4. Številčenje0041103.50527.430
            5. Natrpan urnik0020133.67110.80

            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. Moderna umetnost061
            2. Kompleksnost števil240
            3. Požar321
            4. Številčenje150
            5. Natrpan urnik033
            NalogaDolžina besedila Razumljivost besedila
            prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
            1. Moderna umetnost0702.006101.14
            2. Kompleksnost števil1501.836001.00
            3. Požar0602.006001.00
            4. Številčenje0602.005001.00
            5. Natrpan urnik0422.333211.67

            * 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. Moderna umetnost6000
            2. Kompleksnost števil6000
            3. Požar5010
            4. Številčenje2003
            5. Natrpan urnik4001
            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. Moderna umetnost1001014
            2. Kompleksnost števil0100140
            3. Požar1203100
            4. Številčenje0002121
            5. Natrpan urnik4120001
            NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
            1. Moderna umetnost10
            2. Kompleksnost števil20
            3. Požar12
            4. Številčenje10
            5. Natrpan urnik02

            Mnenja o 3. nalogi (Požar)

            Mnenja o 4. nalogi (Številčenje)

            Mnenja o 5. nalogi (Natrpan urnik)

            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 (Moderna umetnost)

            2. naloga (Kompleksnost števil)

            3. naloga (Požar)

            4. naloga (Številčenje)

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

            3. naloga (Požar)

            5. naloga (Natrpan urnik)

            Drugi odgovori

            [H kazalu. | Na vrh te strani.]