Siirry suoraan sisältöön

Ohjelmoinnin perusteet (C++) (3 op)

Toteutuksen tunnus: TT00VI08-3044

Toteutuksen perustiedot


Ilmoittautumisaika

02.07.2023 - 31.07.2023

Ajoitus

01.08.2023 - 31.07.2024

Opintopistemäärä

3 op

Virtuaaliosuus

3 op

Toteutustapa

Etäopetus

Toimipiste

Karaportti 2

Opetuskielet

  • Suomi

Koulutus

  • Tieto- ja viestintätekniikan tutkinto-ohjelma

Vastuuopettaja

Janne Salonen

Tavoitteet

Opiskelija tuntee C++-kielen ja sen erityispiirteet olio-ohjelmoinnissa. Opiskelija osaa määritellä luokan, luoda olion ja kirjoittaa koodia, jossa oliota käytetään. Opiskelija osaa olioiden välisen yhteistyön, periytymismekanismin ja pystyy hyödyntämään dynaamista sidontaa.
Opiskelija osaa määritellä ja käyttää geneerisiä funktioita ja luokkia sekä operaattorifunktioita.

Sisältö

- olion automaattinen ja dynaaminen luonti
- konstruktorit ja destruktorit
- periytyminen, assosiaatiot, koostuminen
- funktioiden kuormittaminen
- virtuaalifunktiot
- erilaiset parametrityypit
- kopiointikonstruktori
- operaattorifunktiot
- geneeriset funktiot ja luokat
- standardi luokkakirjasto

Arviointiasteikko

Hyväksytty/Hylätty

Arviointikriteerit, tyydyttävä (1)

- Opiskelija ymmärtää luokan ja olion eron ja osaa käyttää yksinkertaisia valmisluokkia sovelluksen laatimisessa.
- Opiskelija ymmärtää, miksi luokkia yleensä tarvitaan ja käytetään (toteutuksen ja käyttörajapinnan erottamisen merkitys).
- Opiskelija osaa itse laatia yksinkertaisia luokkia ja käyttää niitä.
- Opiskelijalla on käsitys siitä, että luokan suunnittelussa pyritään luokan yleiskäyttöisyyteen.
- Opiskelija ymmärtää kuinka vector-luokkamalli toimii ja osaa käyttää sitä C-kielen taulukon sijasta oikein.

Arviointikriteerit, hyvä (3)

- Opiskelija ymmärtää dynaamisen muistinkäytön edut ja haitat olioiden käytössä ja suunnittelussa.
- Opiskelija ymmärtää ja osaa ottaa huomioon luokan suunnittelussa dynaamisten datajäsenten aiheuttamat haasteet (destruktorin tarve, kopiokonstruktorin tarve, sijoitusoperaattorin tarve jne).
- Opiskelija osaa valita tilanteeseen sopivan luokkasuhteen (periytyminen, assosiaatio, koostuminen) hyödyntäessään uuden luokan toteutuksessa olemassa olevaa luokkaa.
- Opiskelija osaa myös toteuttaa uuden luokan yllämainituilla luokkasuhteilla.
- Opiskelija ymmärtää eri STL-säiliöluokkamallien toteutusten erot niin, että pystyy valitsemaan sovelluksen vaatimusten mukaisesti sopivan mallin.

Arviointikriteerit, kiitettävä (5)

- Opiskelija ymmärtää syvällisesti mitä funktio- ja luokkamallit tarkoittavat ja kuinka ne toimivat kääntäjän tasolla.
- Opiskelija osaa ottaa sovellusten ja luokkien suunnittelussa ja toteutuksessa huomioon mahdolliset muistivuodot ja osaa estää niiden syntymisen kaikissa tilanteissa (myös poikkeustilanteissa).
- Osoittimien käyttö on täysin varmaa eikä kokeilevaa (osoittimen määrittely, epäsuora osoitus, osoitteen otto).
- Opiskelija osaa käytännössä valita ratkaisuja, jotka edistävät uudelleenkäytettävyyttä