Siirry suoraan sisältöön

Algoritmit ja tietorakenteetLaajuus (3 op)

Opintojakson tunnus: T0197

Opintojakson perustiedot


Laajuus
3 op

Osaamistavoitteet

Opintojakson tärkein tavoite on oppia ymmärtämään abstraktion, yleisyyden ja ohjelmistokomponenttien merkitys ohjelmoinnissa ja oppia käyttämään niitä hyväksi. Opintojaksolla opitaan käyttämään ja rakentamaan ohjelmistokomponentteja. Opintojaksolla tutustutaan yleisten uudelleenkäytettävien ohjelmistokomponenttien problematiikkaan. Komponentteja rakennetaan sekä C-kielellä, jolloin käytetään ns. abstraktien tietotyyppien mallia että C++ -kielellä, jolloin käytetään luokkamallia. Tarkoituksena on nähdä, miten C-kielellä voidaan toteuttaa yleisiä uudelleen käytettäviä komponentteja. Näiden välineiden puutteet havaitaan konkreettisesti ja omakohtaisesti. Näin opitaan perusteellisesti ymmärtämään, mitä etuja olioperustainen lähestymistapa antaa perinteiseen ohjelmointikieleen nähden. C ja C++ kieliä siis verrataan toisiinsa niiden abstraktioon ja yleisyyteen tarjoamien välineiden osalta.
Opintojaksolla käsitellään myös yleiseen käyttöön tarkoitetut ohjelmistokomponentit kuten listat, pinot, jonot ja puut.
Opintojaksolla tutustutaan erilaisiin järjestämis- ja etsintämenetelmiin käyttäen lähestymistapana algoritmien analyysia. Myös näiden kohdalla on yhtenä tarkastelukulmana algoritmien yleisyys.
-----
Opiskelija osaa käyttää abstraktiota ohjelmointityössä. Osoittimien ja tietueiden käsittely C-kielessä.

Sisältö

Abstraktio, yleisyys ja ohjelmistokomponentit ohjelmointityössä. Abstraktit tietotyypit, pinot, jonot ja puurakenteet. Rekursio määrittelyissä, ongelman ratkaisussa ja ohjelmointitekniikkana. Iteraattorit ja säiliötyypit. Eri toteutusvaihtoehtojen kompleksisuus.
-----
Eri ratkaisutapojen soveltuminen erityyppisiin ongelmiin, lähinnä muistinkulutuksen ja laskentatehokkuuden suhteen.

Esitietovaatimukset

C ohjelmointikielen tuntemus

Lisätiedot

luennot ja laboratorioharjoitukset

Siirry alkuun