Kaisa_2012_3_photo by Veikko Somerpuro

Kurssi muodostuu viidestä ohjelmointikilpailusta, joissa kolmen hengen joukkueet ratkovat algoritmisia ohjelmointitehtäviä. Kurssin päätteeksi on lisäksi mahdollista osallistua pohjoismaiseen NCPC-kilpailuun.

Kurssille osallistuminen vaatii hyvää ohjelmointitaitoa ja kiinnostusta algoritmien suunnitteluun. Jos olet pitänyt kursseista Tietorakenteet ja algoritmit tai Algoritmit ongelmanratkaisussa, niin tämä kurssi on sinua varten. Kurssi ei kuitenkaan vaadi mitään tiettyä kurssia esitiedoiksi.

Ilmoittaudu

Aikataulu

Kurssin alustava aikataulu on seuraava:

ti 5.9. 16–20: tietoa kurssista, joukkueiden muodostus, kurssikilpailu 1
ti 12.9. 16–20: kurssikilpailu 2
ti 19.9. 16–20: kurssikilpailu 3
ti 26.9. 16–20: kurssikilpailu 4
ti 3.10. 16–20: kurssikilpailu 5
la 7.10. 12–17: NCPC-kilpailu, Kumpulan kampus

Opetusaikataulu

PäivämääräAikaOpetuspaikka
Ti 5.9.2017
16:15 - 20:00
Ti 12.9.2017
16:15 - 20:00
Ti 19.9.2017
16:15 - 20:00
Ti 26.9.2017
16:15 - 20:00
Ti 3.10.2017
16:15 - 20:00

Muut tapahtumat

PäiväAikaOtsikkoPaikka

La 7.10.2017
12:00 - 17:00
NCPC-ohjelmointikilpailu

Materiaalit

Kurssin suorittaminen

Kurssin suorittamiseen kuuluu osallistuminen ohjelmointikilpailuihin sekä valmistautuminen oman joukkueen kanssa. Kurssiin kuuluu viisi kilpailua, jotka järjestetään tiistaisin aikavälillä 16–20. Jokainen kilpailu kestää 2,5 tuntia, minkä jälkeen tehtävät käsitellään yhteisesti.

Kurssista saa 2 op osallistumalla viiteen ohjelmointikilpailuun ja ylimääräisen 1 op saa osallistumalla NCPC-kilpailuun. Voit osallistua kilpailuihin, vaikka olisit käynyt kurssin Kilpaohjelmointi tai Ohjelmointihaasteita II aiemmin, mutta et saa uutta kurssisuoritusta.

Jokaisen kolmihenkisen joukkueen käytössä on yksi tietokone. Sallitut ohjelmointikielet ovat C++, Java, Python ja Haskell. Kaikki tehtävät on mahdollista ratkaista ainakin C++:lla ja Javalla. Joukkueet saavat tuoda mukanaan mitä tahansa kirjallista materiaalia, esimerkiksi kirjoja ja omia muistiinpanoja. Elektroniset tallennusvälineet ja laitteet ovat kiellettyjä. Internetin käyttö on rajoitettu tehtävien palautukseen ja ohjelmointikielten manuaaleihin.

Ratkaisut lähetetään CSES-kilpailujärjestelmään, joka tarkistaa, että koodi tuottaa oikean tulosteen joukolla testisyötteitä. Ennen kurssin alkua kannattaa kokeilla järjestelmää yrittämällä ratkaista kurssin harjoitustehtäviä. Linkit joukkuetunnuksen luomiseen sekä tehtäviin löytyvät järjestelmän etusivulta https://cses.fi/. Jos et tiedä vielä joukkuettasi, voit luoda harjoitustehtävien tekemistä varten väliaikaisen joukkuetunnuksen.

Kuvaus

Kurssi yhdistää käytännön algoritmien ohjelmointia ja ryhmässä toimimista. Kurssin opiskelijat muodostavat joukkueita, jotka ratkovat viikoittain algoritmisia ohjelmointitehtäviä. Kurssin päätteeksi halukkaat joukkueet voivat osallistua pohjoismaiseen NCPC-kilpailuun. Kurssia ei voi suorittaa erilliskokeella.