Siirry suoraan sisältöön

Ohjelmoinnin perusteet (C++) (3 op)

Toteutuksen tunnus: TT00VI08-3025

Toteutuksen perustiedot


Ajoitus

01.01.2024 - 31.07.2025

Opintopistemäärä

3 op

Virtuaaliosuus

3 op

Toteutustapa

Etäopetus

Yksikkö

ICT ja tuotantotalous

Toimipiste

Karaportti 2

Opetuskielet

  • Suomi

Paikat

0 - 5000

Koulutus

  • Tieto- ja viestintätekniikan tutkinto-ohjelma

Opettaja

  • Mika Hyyryläinen
  • Virve Prami

Vastuuopettaja

Janne Salonen

Ryhmät

  • VIOPE_2024_MAKSULLINEN_JARJESTELMA
    Viope TiVi (NonStop), vuosi 2024

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

Aika ja paikka

Koska kyseessä on 100% itsenäisesti suoritettava kurssi, riippuu opiskelupaikka ja -aika opiskelijasta itsestään.

Oppimateriaalit

Löytyy kurssin oppimisympäristöstä.

Opetusmenetelmät

100% netin kautta itsenäisesti suoritettava kurssi.

Harjoittelu- ja työelämäyhteistyö

N/A

Tenttien ajankohdat ja uusintamahdollisuudet

Löytyy kurssin oppimisympäristöstä.

Kansainvälisyys

N/A

Toteutuksen valinnaiset suoritustavat

N/A

Opiskelijan ajankäyttö ja kuormitus

Riippuu opiskelijasta itsestään.

Sisällön jaksotus

Riippuu opiskelijasta itsestään.

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ä

Arviointimenetelmät ja arvioinnin perusteet

Kun olet tehnyt 80% tehtävistä, niin kurssiarvioinnin saamiseksi sinun tulee lähettää sähköpostiviestiä osoitteeseen: viopesupport@metropolia.fi