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: | 0607 |
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