Tekmovalni dnevi Instituta Jožef Stefan

Anketa o 4. tekmovanju IJS 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 55 izpolnjenih anketnih obrazcev iz prve skupine, 14 iz druge in 24 iz tretje. (Anketni obrazci za vse tri skupine v formatu PDF.)

Nekaj opažanj

O nalogah:

Programersko znanje:

Poznavanje algoritmov in podatkovnih struktur:

  • Zapis z velikim O pozna letos v prvi skupini več tekmovalcev kot lani, v drugih dveh pa malo manj.

  • V III. skupini pozna dobrih 80% tekmovalcev vsaj kakšnega od algoritmov za urejanje (največkrat bubble sort).

    Katere programske jezike so uporabljali:

    JezikŠt. tekmovalcev, ki so ga uporabljali
    2009 2008 2007 2006 2004 2003
    IIIIII IIIIII IIIIII IIIIII IIIIIIIII
    Pascal421 1.522 8.521 655 232013 17
    C 9.53.50.5 4.5112.5 5.5116.5 4161.5 137.51 4
    C++ 26.5212.5 17.5119.5 71415.5 13510.5 5 6 5
    PHP 22   2  1   1       
    nič 1    1  3   12  32   
    VB          1  1      
    C#       3  0.5       
    Java 8811 9.53   2.5  3  0.5   
    Python40.5  61   
    psevdokoda8    

    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
    I51031
    II11110
    III21011

    Č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
    I252712410
    II1244110
    III15111101

    Č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
    I12428
    II409
    III338
    SkupinaTi ustreza število nalog?
    rad bi več nalograd bi manj nalognalog je ravno prav
    I21528
    II049
    III185
    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
    I0752197022
    II031063000
    III021034102

    Potekmovalne dejavnosti

    SkupinaKakšne potekmovalne dejavnosti bi te zanimale?
    izletpoletna šolapraksa na IJSpredstavitve novih tehnologijpredavanja o algoritmihreševanje nalogiskanje štipendijeiskanje podjetja
    I1311111513102120
    II33553346
    III44322131

    Drugi predlogi

    Poznavanje algoritmov in podatkovnih struktur

    SkupinaAli poznaš naslednje podatkovne strukture?
    drevohash tabelaseznam s kazalci (linked list)sklad (stack)vrsta (queue)
    I42%17%40%42%27%
    II64%64%57%50%57%
    III75%57%63%71%58%
    SkupinaAli poznaš naslednje algoritme?
    EvklidovEratostenovo rešetoformula za vektorski produktrekurzijadinamično programiranjeiskanje v širino (po grafu)
    I74%58%43%19%19%6%
    II79%62%54%54%31%17%
    III70%65%48%57%35%44%
    SkupinaAli poznaš naslednje algoritme za urejanje?
    bubble sortinsertion sortselection sortquicksortradix sortheap shortShell sortmerge sort
    I45%31%38%22%0%0%0%0%
    II64%36%36%57%0%0%0%0%
    III75%46%46%42%0%0%0%0%
    SkupinaAli poznaš zapis z velikim O za časovno in prostorsko zahtevnost?
    O-zapis
    I34%
    II46%
    III48%

    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.781.651.731.500.981.520.940.82
    II1.931.792.002.001.571.931.640.71
    III1.951.951.951.841.671.861.681.14
    SkupinaKatere od naštetih jezikovnih konstruktov
    in programerskih prijemov znaš uporabljati?
    zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrmappriority_queue
    I1.881.841.690.601.181.040.610.170.10
    II2.002.001.860.861.171.360.790.500.20
    III2.002.002.001.271.451.410.910.470.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
    I80%69%78%66%38%64%31%26%
    II93%79%100%100%57%93%79%14%
    III95%95%95%84%81%91%73%41%
    SkupinaKatere od naštetih jezikovnih konstruktov
    in programerskih prijemov znaš uporabljati?
    zanka forzanka whilegnezdenje zankenumerated typesstruktureoperatorji na bitihshl shrmappriority_queue
    I92%88%78%18%43%42%24%2%0%
    II100%100%86%29%50%57%29%20%0%
    III100%100%100%45%68%59%41%18%19%

    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
    I37162
    II950
    III1491
    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
    I36153
    II1220
    III2130

    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
    ActionScript400
    assembly100
    basic303
    C602
    C#403
    C++20511
    C/C++101
    HTML100
    java1069
    JavaScript221
    logo300
    pascal607
    PHP7410
    python501

    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++ in pythonu. 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?“ [Opomba: letos smo objavili deklaracije tudi v javi, vendar smo to pozabili omeniti v anketnem vprašanju. Tako da, tisti tekmovalci, ki so napisali, da želijo deklaracije tudi v javi, so jih v bistvu že imeli.]

    SkupinaAli razumeš deklaracije v besedilu nalog
    (v pascalu, C/C++ in pythonu)?
    Ali predlagaš (še) kak drug jezik?
    So ti prišle deklaracije v pythonu kaj prav?
    DaNeDaNe
    ŠteviloPredlogiŠteviloPredlogi
    I40
    • C#
    • C#
    • java
    • java
    • java
    • java
    • java
    • java
    • java - saj je :)
    • piet
    11
    • PHP
    • java (tudi v javi so bili podprogrami)
    • java
    546
    II11
    • PHP
    • java
    • java
    3
    • java
    • java
    • java :)
    310

    „V rešitvah nalog trenutno objavljamo izvorno kodo v pascalu in C-ju. Ali razumeš kakšnega od teh jezikov 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?“ [Opomba: glede na to, kako malo tekmovalcev zadnja leta uporablja pascal, bomo z objavljanjem rešitev v pascalu letos prenehali.]

    SkupinaAli razumeš izvorno kodo v rešitvah (v pascalu in C/C++)?
    Ali predlagaš (še) kak drug jezik?
    DaNe
    ŠteviloPredlogiŠteviloPredlogi
    I32
    • C#
    • C++
    • C++
    • C++
    • C++, java
    • PHP
    • java
    • java
    • java
    • piet
    • python
    16
    • C#
    • C++
    • C++
    • C++
    • C++
    • C++ !!!
    • PHP
    • java
    • java
    • java
    • java
    • python
    • python
    II11
    • PHP
    • java
    • java
    • java
    • java
    • python
    2
    • java
    • java
    III18
    • C++
    • C++
    • java
    • java
    • java
    • java
    4
    • java
    • java
    • java
    • java

    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. Kolikokrat najmanjši211265012.905710.510
    2. Označevanje kovancev032118223.43517.25
    3. Citati052317003.27569.411
    4. Smrkci01923933.95438.27
    5. Železnica116171644.23325.01.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. Kolikokrat najmanjši2375
    2. Označevanje kovancev112210
    3. Citati7316
    4. Smrkci18187
    5. Železnica121416
    NalogaDolžina besedila Razumljivost besedila
    prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
    1. Kolikokrat najmanjši14301.9841011.05
    2. Označevanje kovancev43811.9339211.10
    3. Citati34101.9337511.16
    4. Smrkci13482.16231921.52
    5. Železnica426122.19191681.74

    * 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. Kolikokrat najmanjši213414
    2. Označevanje kovancev30625
    3. Citati255012
    4. Smrkci38302
    5. Železnica29605
    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. Kolikokrat najmanjši02101835
    2. Označevanje kovancev137031025
    3. Citati043111129
    4. Smrkci46814918
    5. Železnica7111301712
    NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
    1. Kolikokrat najmanjši122
    2. Označevanje kovancev94
    3. Citati51
    4. Smrkci138
    5. Železnica224

    Mnenja o 1. nalogi (Kolikokrat najmanjši)

    Mnenja o 2. nalogi (Označevanje kovancev)

    Mnenja o 4. nalogi (Smrkci)

    Mnenja o 5. nalogi (Železnica)

    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 (Kolikokrat najmanjši)

    2. naloga (Označevanje kovancev)

    3. naloga (Citati)

    4. naloga (Smrkci)

    5. naloga (Železnica)

    Drugi odgovori

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

    1. naloga (Kolikokrat najmanjši)

    2. naloga (Označevanje kovancev)

    3. naloga (Citati)

    4. naloga (Smrkci)

    5. naloga (Železnica)

    Drugi odgovori

    Druga skupina

    Mnenje o nalogah:

    NalogaZahtevnost naloge Povprečna zahtevnost Točke
    prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
    1. Soglasniški podnizi02100012.831613.015
    2. Kje sem že to posnel?0058003.621710.110
    3. Avtocesta0182103.25127.76
    4. UTF-50046213.83136.43
    5. break considered harmful0152403.75147.68

    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. Soglasniški podnizi183
    2. Kje sem že to posnel?532
    3. Avtocesta461
    4. UTF-5144
    5. break considered harmful462
    NalogaDolžina besedila Razumljivost besedila
    prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
    1. Soglasniški podnizi01302.0013001.00
    2. Kje sem že to posnel?01032.238401.33
    3. Avtocesta0842.336601.50
    4. UTF-50732.302732.08
    5. break considered harmful0922.187411.50

    * 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. Soglasniški podnizi7113
    2. Kje sem že to posnel?9004
    3. Avtocesta6101
    4. UTF-57104
    5. break considered harmful9102
    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. Soglasniški podnizi1000218
    2. Kje sem že to posnel?1012325
    3. Avtocesta0002108
    4. UTF-50121146
    5. break considered harmful2110107
    NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
    1. Soglasniški podnizi20
    2. Kje sem že to posnel?21
    3. Avtocesta33
    4. UTF-511
    5. break considered harmful45

    Mnenja o 3. nalogi (Avtocesta)

    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?

    2. naloga (Kje sem že to posnel?)

    3. naloga (Avtocesta)

    4. naloga (UTF-5)

    5. naloga (break considered harmful)

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

    2. naloga (Kje sem že to posnel?)

    3. naloga (Avtocesta)

    5. naloga (break considered harmful)

    Drugi odgovori

    Tretja skupina

    Mnenje o nalogah:

    NalogaZahtevnost naloge Povprečna zahtevnost Točke
    prelahkalahkaprimernatežkapretežkane vem> 0 točkpovprečjemediana
    1. Undo0295113.291344.511
    2. Žaba in lokvanji0176113.471332.934
    3. Otoki0029304.07629.810
    4. Strupi0017514.3100.00
    5. EPS (Emasculated Postscript)0014634.45348.547

    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. Undo673
    2. Žaba in lokvanji392
    3. Otoki625
    4. Strupi814
    5. EPS (Emasculated Postscript)418
    NalogaDolžina besedila Razumljivost besedila
    prekratkoprimernopredolgopovprečje*razumljivotežko razumljivonerazumljivopovprečje*
    1. Undo01702.0015101.06
    2. Žaba in lokvanji01402.0011301.21
    3. Otoki01202.009211.33
    4. Strupi0932.257221.55
    5. EPS (Emasculated Postscript)1632.201722.10

    * 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. Undo9106
    2. Žaba in lokvanji10202
    3. Otoki7102
    4. Strupi7201
    5. EPS (Emasculated Postscript)7100
    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. Undo0043417
    2. Žaba in lokvanji2222325
    3. Otoki3450112
    4. Strupi4522320
    5. EPS (Emasculated Postscript)5650001
    NalogaKatera naloga ti je bila najbolj všeč? Katera naloga ti je bila najmanj všeč?
    1. Undo51
    2. Žaba in lokvanji20
    3. Otoki11
    4. Strupi23
    5. EPS (Emasculated Postscript)26

    Mnenja o 1. nalogi (Undo)

    Mnenja o 2. nalogi (Žaba in lokvanji)

    Mnenja o 3. nalogi (Otoki)

    Mnenja o 4. nalogi (Strupi)

    Mnenja o 5. nalogi (EPS (Emasculated Postscript))

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

    3. naloga (Otoki)

    4. naloga (Strupi)

    Drugi odgovori

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

    4. naloga (Strupi)

    5. naloga (EPS (Emasculated Postscript))

    [H kazalu. | Na vrh te strani.]