581251 Ohjelmointitekniikka (C++) (ohtk 25.8.2011)

Pääteemat Esitiedot Lähestyy oppimistavoitetta Saavuttaa oppimistavoitteet Syventää oppimistavoitteita
  • tehokkaiden ja turvallisten C++-ohjelmien laatiminen
C-ohjelmointi (tai vastaavat tiedot)
  • selittää kielen tärkeimmät abstraktiomekanismit
  • selittää kielen tietorakennekirjaston (STL) periaatteet ja rakenne
  • selittää, miksi ohjelmat tarvitsevat ylimäärätarkistuksia (assert)
  • laatia ohjelmia, joissa käytetään valmiita luokkamalleja
  • laatia yksinkertaisia tekstuaalista IO:ta käyttäviä sovelluksia
  • selittää manuaalisen muistinhallinnan ongelmat ja vaarat
  • selittää tarvittavia erityisrakenteita (kuten: explicit, friend, virtual, const, zero-arg. ctor., copy ctor.)
  • käyttää ohjelmissa IO-/merkkijonokirjastoja
  • käyttää kielen tietorakenteita (taulukot, listat, hakemistot) ongelmien ratkaisussa
  • selittää tyyppijärjestelmään ja suoritusaikaisiin virheisiin liittyvät ongelmat ja puutteet
  • käyttää kielen suojaus- ja tarkistusominaisuuksia ohjelmien luotettavuuden lisäämiseksi
  • esitellä vakiomuuttujia ja - parametreja sekä laatia vakio-operaatioita
  • selittää tietojen alustuksiin liittyvät ongelmat ja välttää niitä sopivilla tekniikoilla
  • selittää resurssienhallinnan yleiset ongelmat ja kielen puutteet eri resurssien hallinnassa
  • käyttää kielen abstraktiomekanismeja resurssien hallinnan ratkaisemiseksi
  • selittää arvotyyppien tarve standartoiduille alustus-, kopiointi- ja purkuoperaatioille
  • laatia tyypeille standardeja alustus-, kopiointi- ja purkuoperaatioita
  • käyttää alku- ja loppuehtoja operaatioiden määrittelyssä
  • käyttää invarianttitarkistuksia luokan määrittelyn yhteydessä
  • selittää, mitä tarkoittaa operaation poikkeusturvalllisuus
  • toteuttaa poikkeusturvallisia operaatioita
  • selittää virtuaaliloperaation käyttötarpeen ja laatia itse virtuaalioperaatioita
  • selittää, milloin tarvitaan itseensä sijoituksen tarkistus (self-assignment check)
  • luoda ja poistaa dynaamisia olioita (muistitilan varaus, alustus ja manuaalilnen vapautus)
  • laatia itse yksinkertaisia luokka- ja funktiomalleja
  • selittää, milloin kääntäjä sitoo operaation staattisesti ja milloin taas dynaamisesti
  • kuvata standardikirjaston tehokkuus- ja poikkeusturvallisuusominaisuudet
  • kuvata olioiden ja luokkien suoritusaikainen rakenne
  • selittää luokan virtuaalitaulun käyttö operaatioiden suoritusaikaisessa sitomisessa
  • laatia tyyppejä, joiden arvojen kopiointi on turvallisuussyistä estetty
  • laatia tyyppejä, joista paikallisten muuttujien esittely on turvallisuussyistä estetty
  • laatia tyyppejä, joista arvojen/olioiden dynaaminen luonti on turvallisuussyistä estetty
  • selittää, mitä tarkoittaa viipalointiongelma (slicing problem) arvojen sijoituksessa
  • laatia tehokkaita laitteistoläheisiä ohjelmia (kuten osia virtuaalikoneista tai osia natiiveista systeemityökaluista)
31.10.2011 - 16:43 Juha Vihavainen
05.03.2011 - 13:50 Juha Vihavainen