C++-ohjelmointi T0199 (TP05S1)
Ilmoittautuminen
opintojaksolle tapahtuu Winha-järjestelmän
kautta. Opintojakson koodi
on T0199ja toteutuksen koodi on
TP05S1.
Opintojakso
antaa perusvalmiudet
olio-ohjelmoinnin hyväksikäyttöön
käytännön ohjelmistotyössä
erityisesti
C++-kielellä. Kurssin suoritettuaan opiskelijalla on yleiskuva
olio-ohjelmoinnin merkityksestä ja soveltamismahdollisuuksista
tietojenkäsittelytekniikan
eri osa-alueilla. Opiskelija ymmärtää
olio-ohjelmoinnin keskeiset periaatteet
ja osaa käyttää niitä ohjelmiston
suunnittelussa ja toteutuksessa. Kurssilla
painotetaan C++-kielen niitä piirteitä, jotka eroavat
Javasta. Esimerkiksi
muistinkäytön hallinta ja
ymmärtäminen, osoittimien käyttö
olioiden
käsittelyssä ja C++:n standard template
luokkien ja template
algoritmien käyttö ovat tällaisia asioita.
Kurssilla käsiteltävät asiat ovat
välttämätöntä pohjatietoa
esimerkiksi Symbian
C++-ohjelmointiin
[ Perustiedot | Pääkohdat
|
Toteutumat |
Kurssimateriasaali
| Harjoitukset
| Ryhmätyöharjoitus
| Tentti
]
Seuraavassa
on alustavasti sisällön pääkohdat.
Lista tarkentuu opintojakson aikana.
Klikkaamalla
seuraavaa linkkiä, saat näkyviin tarkemman listan,
mitä tähän mennessä on
tunneilla käsitelty:
Lafore
Robert: Object oriented
Programming in C++
Bjarne : The C++
programming Language
Lippman,
Jajoie
: C++ Primer
Kai Koskimies
: Oliokirja
Matti Rintala, Jyke
Jokinen :
Olioiden ohjelmointi C++:lla
Päivi Hietanen : C++ ja
olio-ohjelmointi
Harjoitus 5 xmltemperature_pohja.cpp weather.xml
Harjoitus 7L (Lisätehtävä) (files counter.h , counterDevCpp.obj for DevC++ environment)
Harjoitus 8 (files list.h , listDevCpp.obj for DevC++ environment)
Harjoitus 13L (Lisätehtävä)
Opintojaksoon kuuluu ryhmätyöharjoitus, josta erillinen kuvaus: ryhmätyöharjoituksen kuvaus. Ryhmätyö tehdään pääsääntöisesti kolmen hengen ryhmissä. Yleisluonteisia ohjeita projektityöstä löytyy tästä linkistä: ohjeita ohjelmistoprojektin läpivientiin..
Tentti
on toisen periodin jälkeen joulukuussa keskiviikkona 12.12.2007 klo 13.00 huoneessa EA1.124.
Tentissä
tutkitaan
kurssilla käsiteltyjen aiheiden ymmärtäminen
ja kyky niiden soveltamiseen.
Opintojakson arvosana määräytyy
pääsiassa kokeen perusteella (80%).
Aktiivisuus labratehtävien
tekemisessä vaikuttaa max
20%
( yksi askel numeroskaalassa). Tehtävien luonne noudattaa
pitkälle labraharjoituksissa
olleita tehtäviä, mutta labratehtävät
eivät suinkaan anna suoria vastauksia
kysymyksiin. Tässä muutamia vihjeitä
miltä olio-ohjelmoinnin kokeen kysymykset
voivat näyttää.
Periaatteessa
mikä
tahansa kurssin aikana opiskeltu aihe voi olla kysymyksen kohteena
kokeessa.
Seuraavassa kuvataan muutamia kokeessa tyypillisiä
kysymystyyppejä.
Kysymystyyppi
1)
Kysymyksessä kuvataan jonkin reaalimaailman olion ominaisuudet
ja
käyttäytyminen. Tehtävänä
on kirjoittaa luokkamäärittely ja luokan toteutus
kuvatuille olioille.
Kysymystyyppi
2) Luokan
xxxx luokkamäärittely (tai useamman luokan
luokkamäärittely on annettu).
Tehtävässä pitää
kirjoittaa sovellus (main funktio) ,
joka ratkaisee tietyn probleeman tai suorittaa tietyn
tehtävän käyttäen hyväksi
annetun luokan palveluja.
Kysymystyyppi
3) Luokan
xxxx luokkamäärittely (tai useamman luokan
luokkamäärittely on annettu).
Tehtävässä pitää
kirjoittaa annetut vaatimukset täyttävä
luokkamäärittely ja
jäsenfunktioiden toteutukset käyttäen
hyväksi annettuja luokkia tavalla tai
toisella (esimerkiksi käyttäen annettuja luokkia
osakomponentteina,
periyttämällä se annetusta luokasta tai
käyttäen assosiaatiota).
Kysymystyyppi
4)
Kysymyspaperilla voi löytyä myös valmis
ohjelma, josta saatetaan kysyä
esimerkiksi: Mikä on probleema, jonka kyseinen ohjelma tai
funktio suorittaa?
Tai mitkä probleemat syntyvät ohjelmaa suoritettaessa
(virheet, muistinkäytön
epätehokkuus tms.)? Kuinka ohjelmaa pitäisi parantaa,
jotta kyseiset ongelmat
voidaan poistaa?
Kysymystyyppi
5) Geneerinen ohjelmointi on yksi
tärkeimmistä
olio-ohjelmoinnin tavoitteista. Yksi kysymyksistä
käsittelee lähes varmuudella
tätä asiaa tavalla tai toisella.
Kysymystyyppi
6)
Kysymystyypit 1 – 5 ovat hyvin tyypillisiä ja
varmasti ainakin kaksi
kysymyksistä voidaan luokitella suoraan niihin tyyppeihin
kuuluvaksi. Niiden
lisäksi voi löytyä kysymyksiä,
jotka eivät selkeästi kuulu
mihinkään
yllämainittuun ryhmään.