Ohjelmointihaasteita II

582357
2-3
Software Systems
Intermediate studies
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.
Year Semester Date Period Language In charge
2012 autumn 03.09-12.10. 1-1 Finnish Antti Laaksonen

Lectures

Time Room Lecturer Date
Wed 16-18 C222 Antti Laaksonen 05.09.2012-05.09.2012

General

Kurssin järjestäjät: Antti Laaksonen ja Mikko Sysikaski

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

Kurssin aikataulu on seuraava:

  • ke 5.9. 16-18: tietoa kurssista ja joukkueiden muodostus (C222)
  • ke 12.9. 16-20: ohjelmointikilpailu 1 (B221)
  • ke 19.9. 16-20: ohjelmointikilpailu 2 (B221)
  • ke 26.9. 16-20: ohjelmointikilpailu 3 (B221)
  • ke 3.10. 16-20: ohjelmointikilpailu 4 (B221)
  • la 6.10. 12-17: NCPC-kilpailu (halukkaille joukkueille)

Kurssille osallistuminen vaatii hyvää ohjelmointitaitoa ja kiinnostusta algoritmien suunnitteluun. Jos olet pitänyt kurssista Ohjelmointihaasteita I tai Tietorakenteet ja haluat oppia lisää, niin tämä kurssi on sinua varten.

Kurssista saa 2 op osallistumalla neljään ohjelmointikilpailuun ja ylimääräisen 1 op saa osallistumalla NCPC-kilpailuun.

Kurssilla on myös IRC-kanava #ohaaste2 IRCnet-verkossa.

Completing the course

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

Jokaisen kolmihenkisen joukkueen käytössä on yksi tietokone. Sallitut ohjelmointikielet ovat C, C++ ja Java. 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.

Seuraavassa listassa on ohjeita valmistautumiseen ennen kutakin kilpailua.

Ennen 1. kilpailua (ke 12.9.):

  • keksikää joukkueelle hyvä ja hauska nimi
  • lähettäkää joukkueen nimi ja osallistujat sähköpostitse kurssin järjestäjille
  • tutustukaa yhdessä NCPC 2011:n tehtäviin ja yrittäkää ratkoa niitä
  • miettikää, mitä kirjallista materiaalia otatte mukaan kilpailuun

1. kilpailun materiaali:

Ennen 2. kilpailua (ke 19.9.):

  • kilpailun teemana on dynaaminen ohjelmointi
  • lukekaa ja sisäistäkää teemaan liittyvä materiaali
  • miettikää taktiikkaa 2. kilpailuun 1. kilpailun kokemusten perusteella

2. kilpailun materiaali:

Ennen 3. kilpailua (ke 26.9.):

3. kilpailun materiaali:

Ennen 4. kilpailua (ke 3.10.):

4. kilpailun materiaali: