Ohjelmoinnin jatko

TiteWiki

Loikkaa: valikkoon, hakuun

Sisällysluettelo

Kurssin perustiedot

  • Nimi: Ohjelmoinnin jatko
  • Koodi: KTE1386
  • Aika: 28.08.2006 - 22.12.2006
  • Suoritus: pakollinen
  • Luokittelu: koulutusohjelman ammattiopinnot, ohjelmointitekniikka
  • Laajuus: 4 op
  • Oppitunteja/viikko: 5 (virallisesti, mutta käytännössä "hiljaisella sopimuksella" 10)
  • Arvostelu: 0-5
    • Oma arvosana: 5
    • Arvostelupvm: 21.12.2006
  • Läsnäolopakko: ei
  • Opettaja: Martti Ylä-Jussila

Virallinen kuvaus (scp.fi, opinto-opas 2005-2006)

Tavoite

Opiskelija oppii uuden ohjelmointikielen, syventää tietojaan ohjelmien suunnittelussa ja toteutuksessa.

Sisältö

C-/C++ -kielen perusteet, tietotyypit, ohjausrakenteet, osoittimet, merkkitiedon käsittely, funktiot, standarditietovirrat ja tiedostojen käsittely.

Opetusjärjestelyt

Luentoja ja harjoituksia.

Oppimateriaali

Käsikirjat ja luentomonisteet, Päivi Hietanen: C++ ja olio-ohjelmointi, Teknolit Oy, Kari Silpiö: C-kieli, Oy Edita Ab.

Hyväksymisvaatimukset

Luennot, harjoitukset ja välikokeet tai tentti.

Oma kuvaus

Opetusjärjestelyt

Ensin risut. Järjestelyt nimittäin pettivät aivan täysin tuntimäärän suhteen. Sekä ensimmäisen että toisen periodin lukujärjestyksissä oli viisi tuntia viikossa tätä kurssia. Käytössä oli ryhmäjako, eli samat asiat kahteen kertaan viikossa. Käytännössä kävi kuitenkin niin, että ryhmäjako hävitettiin ja tuntimäärä tuplaantui näin viidestä kymmeneen. Ja vaikka tuntimäärä tuplaantui, ei siltikään ehditty käydä kunnolla läpi kaikkia asioita. Mitä järkeä? Koulun olisi kyllä syytä miettiä tätä asiaa. Miksi edes laittaa lukujärjestykseen vain viisi tuntia, jos se ei kerran ole mitenkään riittämässä.

Kuten tuosta jo kävi ilmi, oppitunneilla edettiin aiheissa melkoista vauhtia. Ensin vilkuiltiin aina kalvoilta asiaa teoriassa (kalvot olivat suoraan oppikirjan sivuja) ja sen jälkeen siirryttiin tuntitehtävien pariin. Tuntitehtävät olivat kyllä hyvin laadittuja: C++:n ollessa kyseessä yksi tuntitehtävä muodostui .cpp-tiedostosta, jossa oli hyvin johdateltuna joukko ohjelmointitehtäviä. Näitä siis ratkottiin porukalla tunneilla.

Kurssilla käytettiin Päivi Hietasen kirjoittamaa ja Docendon kustantamaa C++- ja olio-ohjelmointi -kirjaa. Kyseisestä opuksesta käytiin tämän kurssin puitteissa läpi noin puolet eli kaikki varsinaista olio-ohjelmointia edeltävät asiat. Itse hankin kirjan muutaman henkilön kimppatilauksella suoraan Docendolta. Opiskelijahinnaksi muodostui 36 euroa/kirja. Opettajalla oli kirjan sisältö kalvoina ja samat asiat olivat jaossa suoraan Word-dokumentteina. Niinpä kirjaa ei aivan välttämättä kurssin takia olisi tarvinnut, mutta itse koin tämän kannattavaksi hankinnaksi, sillä kirja on mielestäni sellainen, että se on hyvä löytyä hyllystä.

Sisältö

Koska kurssilla edettiin orjallisesti oppikirjan tahdissa, voin luetella tähän pääotsikot suoraan kirjan sisällysluettelosta: johdanto ohjelmointityyleihin, C++-kielen taustaa, ohjelman kehitysprosessi, kirjoitussäännöt, tyypit, muuttujat ja vakiot, ohjelman perustoiminnot, vertailu- ja toistolauseet, merkkitiedon ja C-tyylisen merkkijonon käsittely, lisää tyypeistä, aliohjelmat, dynaaminen muistinhallinta, johdanto luokkakirjastojen käyttöön, iostream-kirjastosta, tiedostot, STL Standard Template Library ja johdanto luokkien valmistamiseen. Kaikki tämä tarkoitti noin 376 sivua opiskeltavaa.

Opettajan laatimat tuntitehtävät, jaksotehtävät ja kokeet noudattivat melko tarkasti kirjan tahtia. Paikoin tosin hyödynnettiin asioita joistain tulevista luvuista (eli sellaista, mitä ei oltu vielä opeteltu). Tällaiset tilanteet olivat kuitenkin vähissä.

Koe/muu arvostelu

Todella työläs kurssi, jos halusi kunnon arvosanan. Ensinnäkin välikokeita oli huimat kahdeksan kappaletta kahden periodin aikana. Tämä tarkoitti sitä, että välikokeita oli suunnilleen parin viikon välein. Jokaiseen välikokeeseen liittyi jaksotehtävä, joten niitäkin kertyi kurssin aikana kahdeksan kappaletta. Kuulostaa paljolta ja sitä se onkin, mutta kun asiaa miettii, niin vaikeaksi menisi, jos kokeita olisi vähemmän. Tällöin yhteen kokeeseen tulisi turhan paljon asioita.

Kurssin alkupäässä kokeisiin annettiin liian vähän aikaa. Onneksi tämä korjaantui loppua kohti edetessä, jolloin kokeita sai tehdä melkeinpä niin pitkään kuin halusi. Yksi koe koostui aina ensin kynä ja paperi -osiosta, missä ei saanut käyttää materiaalia eikä tietokonetta apuna. Paperin kun oli palauttanut, sai siirtyä tekemään koneella ja materiaaleja avuksi käyttäen ohjelmointitehtävää. En sanoisi, että ohjelmointitehtävät olivat liian vaikeita, mutta ne olivat lähes aina melkoisen työläitä. Kun vertasi jaksotehtäviin (joita siis sai tehdä vaikkapa parin viikon ajan, jos halusi), saattoivat muutamat kokeet olla laajuudeltaan suurempia.

Kovasta opiskelu-, koe- ja jaksotehtävätahdista voikin jo arvata, että aivan kaikki eivät pysyneet mukana. Jos välikoe ei mennyt läpi, se oli kaiken lisäksi saatava läpi hyväksytysti ennen seuraavaa välikoetta. Ja jos jaksotehtävä myöhästyi, alkoi kertyä tarkkaan laskettua miinusta. Kaikesta tästä aiheutui se, että vain kahdeksan oppilasta 44:stä sai arvosanan ajallaan kurssin loppuessa. Lopuilla tuli kiire suorittaa kurssi hyväksytysti, sillä se oli edellytyksenä seuraavalle ohjelmoinnin kurssille osallistumiselle (Olio-ohjelmointi 1, joka alkoi heti vuodenvaihteen jälkeen).

Todellinen hyöty oppimisen kannalta

Hyöty oli... suunnattoman suuri. En ollut C:tä tai C++:aa aiemmin opiskellut, joten kaikki oli uutta asiaa. Vaikka opetusmetodit olivat melkoisen vaativat, takasi se kuitenkin sen, että asiat tuli oikeasti opiskeltua kunnolla. Tästä on hyvä jatkaa olio-ohjelmoinnin pariin.

Arvosanat kurssille (0-5)

  • Toteutus: 3
  • Opetus: 4
  • Hyödyllisyys: 5
  • Oma suoritus: 5
Henkilökohtaiset työkalut