suomeksi
in English

Algoritmit ja tietorakenteet (T0197), 3 op

Perustiedot

Kurssin nimi:Algoritmit ja tietorakenteet
Winhakoodi:T0197
Kurren lyhenne:AlgTR
Opintopisteet:3
Opintojakson taso:Ammattiopinnot
Toteutusvuosi:2.vsk
Jakso:2.jakso, 3.jakso
Lukuvuosi:0708
Opetuskieli:Suomi
Opettaja:Jarkko Vuori
Lopullinen arviointi:Arvosteluasteikolla (0-5)

Kuvaukset

Esitietovaatimukset

C ohjelmointikielen tuntemus

Sisältö (ydinaines ja -osaaminen)

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.

Sisältö (täydentävä ja erityisosaaminen)

Eri ratkaisutapojen soveltuminen erityyppisiin ongelmiin, lähinnä muistinkulutuksen ja laskentatehokkuuden suhteen.

Tiedolliset oppimistulokset (ydinaines ja -osaaminen)

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.

Taidolliset oppimistulokset (ydinaines ja -osaaminen)

Opiskelija osaa käyttää abstraktiota ohjelmointityössä. Osoittimien ja tietueiden käsittely C-kielessä.

Kirjallisuus ja muu materiaali

Monisteet ja luentokalvot

Opetusmenetelmät

luennot ja laboratorioharjoitukset

Opiskelijan kuormittavuus

Luennot - 28
Itsenäinen työskentely ja kirjallisuuteen tutustuminen - 1
Tentti - 3
Oppimistehtävät / harjoitustyöt - 20
Laboratoriotyöt - 28

Arvioinnin perusteet

tentti

Koulutusohjelmakohtaiset kompetenssit

Ohjelmistotekniikka

login