Ohjelmoinnin perusteet (6 op)
Toteutuksen tunnus: CT00CL97-3002
Toteutuksen perustiedot
Ilmoittautumisaika
20.04.2022 - 18.05.2022
Ajoitus
01.06.2022 - 01.08.2022
Opintopistemäärä
6 op
Virtuaaliosuus
6 op
Toteutustapa
Etäopetus
Toimipiste
LUT-yliopisto
Paikat
0 - 5000
Osaamistavoitteet
Kurssin jälkeen opiskelija osaa 1. Luoda pieniä ohjelmia Python-ohjelmointikielellä käyttäen peruskomentoja ja -rakenteita kuten listoja ja luokkia. 2. Luoda aliohjelmista ja kirjastoista koostuvan ohjelmarakenteen siten, että se on helppo ymmärtää, ylläpitää ja laajentaa. 3. Luoda Python ohjelmia, jotka pystyvät lukemaan CSV-tiedostoina jaettua tietoa, valitsemaan siitä kiinnostavat tiedot sekä tekemään datalle perusanalyysejä. 4. Suorittaa ohjelman perustestauksen ja laadun arvioinnin.
Toteutustapa ja opetusmenetelmät
Luentoja 8 h, omatoiminen opiskelu 20 h, pakollisten harjoitustehtävien teko 42 h, 1. periodi. Luentoja 7 h, omatoiminen opiskelu 21 h, pakollisten harjoitustehtävien ja ohjelmointiprojektin teko 54 h, 2. periodi. Tenttiin valmistautuminen 7 h ja tentti 3 h. Kokonaismitoitus 162 h.
Oppimateriaali ja suositeltava kirjallisuus
LUTin Python ohjelmointiopas, luentomateriaali, muu luennoilla ilmoitettava materiaali.
Sisältö
Ohjelmoinnin perusteet: Ohjelmoinnin taustaa, historiaa, käsitteitä; käyttäjän tarve ja ohjelma; kirjastot ja uudelleenkäytön hyötyjä sekä ongelmia; laadunvarmistus, testaaminen; data-analytiikka ohjelmoijan näkökulmasta; ohjelmointityylit; ohjelmien tehokkuus, algoritmi, pseudokoodi, rekursio, kääntäjä ja tulkki; tiedon esitysmuodot, ASCII ja muut merkkitaulukot, kantaluvut ja niiden muunnokset; käyttöliittymät, dokumentointi, kuvaustekniikat, graafinen ja komentorivikäyttöliittymä. Python-ohjelmoinnin perusteet: Syöttö, tulostus ml. muotoiltu tulostus, tietotyypit, muuttujat, muuttujien roolit, tyyppimuunnokset, laskenta, merkkijonot; valintarakenne, ehdollinen koodi, haarautuminen, koodilohko, loogiset operaattorit, valikkopohjainen ohjelma; toistorakenteet, alkuehtoinen ja askeltava toisto; ohjelman rakenne, aliohjelmien määrittely ja kutsuminen, tiedonvälitys ohjelmien välillä, nimiavaruudet; tiedostonkäsittely, jäsenmuuttujat ja -funktiot; rakenteiset tietorakenteet, lista, luokka, olio, sanakirja, tuple; kirjastot; poikkeukset, virheet, debuggaus.
Lisätietoja opiskelijalle: mm. edeltävä osaaminen
Opettajat: Uolevi Nikula
Linkki opintojaksoesitteelle: https://sis-lut.funidata.fi/student/courseunit/otm-a4511e36-31bf-4b17-a6ce-f1eb058bea05/brochure
Arviointimenetelmät
0-5. Tentti 30%, harjoitustyö 30%, viikkotehtävät 40%.
Arviointiasteikko
1-5