Tekmovanje ACM iz računalništva in informatike

Anketa o 12. 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 83 izpolnjenih anketnih obrazcev iz prve skupine, 16 iz druge in 10 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
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 IIIIIIIII
Pascal 4 0⅓3 52 2.521 1 1 614 343 4.552 421 1.522 8.521 655 232013 17
C 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++ 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č 23 41 42 2   2 11  15  1    1  3   12  32   
VB 1 1 1                    1  1      
C# 76 1251 165 121.52 180.5  1713 423  0.51       3  0.5       
Java 2832 2465 2263.5 2321.5 1881 176.51 653 594 8811 9.53   2.5  3  0.5   
Python 4211 29⅓12 261 166 168  255 206  122  40.5  61   
Newtonscript  0.5  0.5              
JavaScript 1 1 1                  
Batch 1                  
Julia 1                  
psevdokoda 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
I75162
II17332
III6101

Č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
I484020766
II22108341
III631420

Č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
I3861
II6113
III114
SkupinaTi ustreza število nalog?
rad bi več nalograd bi manj nalognalog je ravno prav
I6461
II2513
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
I0304534250
II1230112100
III010031001

Potekmovalne dejavnosti

SkupinaKakšne potekmovalne dejavnosti bi te zanimale?
izletpoletna šolapraksa na IJSpredstavitve novih tehnologijpredavanja o algoritmihreševanje nalogiskanje štipendijeiskanje podjetja
I2922253227213235
II67878488
III22225533

Drugi predlogi

Poznavanje algoritmov in podatkovnih struktur

SkupinaAli poznaš naslednje podatkovne strukture?
drevohash tabelaseznam s kazalci (linked list)sklad (stack)vrsta (queue)
I58%33%30%55%44%
II75%67%70%65%75%
III75%43%88%88%100%
SkupinaAli poznaš naslednje algoritme?
EvklidovEratostenovo rešetoformula za vektorski produktrekurzijadinamično programiranjeiskanje v širino (po grafu)
I80%71%44%35%21%9%
II75%58%42%54%42%55%
III75%75%50%75%75%57%
SkupinaAli poznaš naslednje algoritme za urejanje?
bubble sortinsertion sortselection sortquicksortradix sortheap shortShell sortmerge sort
I33%30%30%27%0%1%1%4%
II68%44%40%48%0%4%4%8%
III38%50%25%63%0%13%0%0%
SkupinaAli poznaš zapis z velikim O za časovno in prostorsko zahtevnost?
O-zapis
I42%
II61%
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.801.491.731.541.141.671.010.44
II2.001.802.001.831.641.881.541.00
III2.002.002.002.001.712.001.430.86
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I1.951.951.780.570.931.200.490.450.290.28
II2.002.001.831.331.961.480.791.080.830.67
III2.002.002.001.001.431.431.001.140.860.86

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
I81%62%84%69%43%73%32%10%
II100%84%100%88%72%92%67%38%
III100%100%100%100%71%100%57%29%
SkupinaKatere od naštetih jezikovnih konstruktov
in programerskih prijemov znaš uporabljati?
zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrhash_ mapmappriority_ queue
I96%95%85%16%35%47%16%10%5%5%
II100%100%92%54%96%61%29%46%30%21%
III100%100%100%43%57%43%43%57%43%29%

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
I61220
II9150
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
I70121
II2220
III611

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
bash101
basic120
C1020
C#11100
C++14117
C/C++010
HTML610
java2654
JavaScript310
julia100
lua200
pascal413
PHP830
python33102
ruby100
SQL100
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
I72
  • C++
  • C++ vedno in vselej :)
  • Ne vem.
  • brainfuck
  • da
  • java
  • java
  • julia, haskell
  • lua
  • lua
  • ni potrebno
6
  • psevdo koda
  • v pascalu [ampak saj so že tudi v pascalu...]
2945
II25
  • C++
0
    916

    „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
    I39
    • C / pascal
    • C#
    • C# and python would be nice for people who don't do C++.
    • C#, java, lua
    • C, mogoče python
    • Ne.
    • da, npr. v pythonu
    • da, v javi
    • java
    • java
    • java
    • java
    • java, python
    • javascript
    • python
    • python
    • python
    • python
    • python
    • v pascalu ali pythonu
    37
    • java
    • java
    • java
    • java
    • java
    • java
    • java
    • java
    • java
    • java, python
    • pascal
    • psevdokoda
    • python
    • python
    • python
    • python
    • python
    • python
    • python
    • python
    • python
    • python
    • python
    7
    • python
    II20
    • java
    • java
    • python
    • python
    5
    • C
    • C
    • C#
    • python
    • python 3
    0
      III5
        1
        • java
        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. Zaokrožanje temperature217477022.8910911.512
          2. Najlepši esej2163322013.11979.18
          3. Pomanjkanje sendvičev815439003.0311411.611
          4. Prehod za pešce6173012463.1410815.118
          5. Pike za tisočice3102930213.381019.19.5

          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. Zaokrožanje temperature6589
          2. Najlepši esej7537
          3. Pomanjkanje sendvičev9564
          4. Prehod za pešce95012
          5. Pike za tisočice13507
          NalogaDolžina besedila Razumljivost besedila
          prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
          1. Zaokrožanje temperature07032.0464901.12
          2. Najlepši esej17001.9964701.10
          3. Pomanjkanje sendvičev26822.0069101.01
          4. Prehod za pešce96301.88531541.32
          5. Pike za tisočice16912.0066401.06

          * 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. Zaokrožanje temperature366328
          2. Najlepši esej455812
          3. Pomanjkanje sendvičev59634
          4. Prehod za pešce51459
          5. Pike za tisočice51738
          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. Zaokrožanje temperature10010466
          2. Najlepši esej02210956
          3. Pomanjkanje sendvičev00210366
          4. Prehod za pešce02831751
          5. Pike za tisočice025321249
          NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
          1. Zaokrožanje temperature713
          2. Najlepši esej712
          3. Pomanjkanje sendvičev339
          4. Prehod za pešce1219
          5. Pike za tisočice1614

          Mnenja o 1. nalogi (Zaokrožanje temperature)

          Mnenja o 2. nalogi (Najlepši esej)

          Mnenja o 3. nalogi (Pomanjkanje sendvičev)

          Mnenja o 4. nalogi (Prehod za pešce)

          Mnenja o 5. nalogi (Pike za tisočice)

          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 (Zaokrožanje temperature)

          2. naloga (Najlepši esej)

          3. naloga (Pomanjkanje sendvičev)

          4. naloga (Prehod za pešce)

          5. naloga (Pike za tisočice)

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

          1. naloga (Zaokrožanje temperature)

          2. naloga (Najlepši esej)

          3. naloga (Pomanjkanje sendvičev)

          4. naloga (Prehod za pešce)

          5. naloga (Pike za tisočice)

          Druga skupina

          Mnenje o nalogah:

          NalogaZahtevnost naloge Povprečna zahtevnost Točke
          prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
          1. Zvončki011010203.57259.212
          2. Rastlinjak41061102.833211.010
          3. Labirint02136003.193214.517
          4. Šifriranje1378203.50289.510
          5. Neskončna pokrajina10271014.47143.40

          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. Zvončki9102
          2. Rastlinjak1171
          3. Labirint3123
          4. Šifriranje7111
          5. Neskončna pokrajina1054
          NalogaDolžina besedila Razumljivost besedila
          prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
          1. Zvončki11632.1012721.52
          2. Rastlinjak01812.0517201.11
          3. Labirint01812.0518101.05
          4. Šifriranje21611.9515221.32
          5. Neskončna pokrajina41221.896582.11

          * 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. Zvončki10308
          2. Rastlinjak10054
          3. Labirint16101
          4. Šifriranje12132
          5. Neskončna pokrajina12402
          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. Zvončki02122315
          2. Rastlinjak01002117
          3. Labirint02100315
          4. Šifriranje03211213
          5. Neskončna pokrajina4382154
          NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
          1. Zvončki33
          2. Rastlinjak41
          3. Labirint60
          4. Šifriranje63
          5. Neskončna pokrajina113

          Mnenja o 1. nalogi (Zvončki)

          Mnenja o 2. nalogi (Rastlinjak)

          Mnenja o 4. nalogi (Šifriranje)

          Mnenja o 5. nalogi (Neskončna pokrajina)

          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 (Zvončki)

          2. naloga (Rastlinjak)

          3. naloga (Labirint)

          4. naloga (Šifriranje)

          5. naloga (Neskončna pokrajina)

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

          1. naloga (Zvončki)

          2. naloga (Rastlinjak)

          4. naloga (Šifriranje)

          5. naloga (Neskončna pokrajina)

          Tretja skupina

          Mnenje o nalogah:

          NalogaZahtevnost naloge Povprečna zahtevnost Točke
          prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
          1. Back from the Klondike0241002.861457.494
          2. Trojane0023023.60813.80
          3. V soju žarometov0014003.801122.410
          4. Najkrajša pot0003214.4012.90
          5. Listi0004024.00920.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. Back from the Klondike061
          2. Trojane412
          3. V soju žarometov131
          4. Najkrajša pot402
          5. Listi033
          NalogaDolžina besedila Razumljivost besedila
          prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
          1. Back from the Klondike0702.007001.00
          2. Trojane1601.866001.00
          3. V soju žarometov1401.801401.80
          4. Najkrajša pot0502.004101.20
          5. Listi1401.803111.60

          * 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. Back from the Klondike5020
          2. Trojane4101
          3. V soju žarometov3010
          4. Najkrajša pot4001
          5. Listi4001
          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. Back from the Klondike0001024
          2. Trojane3001021
          3. V soju žarometov1110121
          4. Najkrajša pot1041000
          5. Listi2000102
          NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
          1. Back from the Klondike10
          2. Trojane04
          3. V soju žarometov31
          4. Najkrajša pot01
          5. Listi20

          Mnenja o 2. nalogi (Trojane)

          Mnenja o 5. nalogi (Listi)

          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 (Back from the Klondike)

          3. naloga (V soju žarometov)

          5. naloga (Listi)

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

          2. naloga (Trojane)

          3. naloga (V soju žarometov)

          4. naloga (Najkrajša pot)

          [H kazalu. | Na vrh te strani.]