Ohjelmoinnin perusteet (6 op)
Toteutuksen tunnus: CT00CL97-3006
Toteutuksen perustiedot
Ilmoittautumisaika
01.08.2023 - 01.09.2023
Ajoitus
04.09.2023 - 16.12.2023
Opintopistemäärä
6 op
Toteutustapa
Lähiopetus
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 11 h, omatoiminen opiskelu 17 h, pakollisten harjoitustehtävien teko 42 h, 1. periodi. Luentoja 11 h, omatoiminen opiskelu 17 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 (https://lutpub.lut.fi/handle/10024/162088), 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-a5bf8d9c-1a61-4826-9c24-47d15c14a99a/brochure
Arviointimenetelmät
0-5. Tentti 50%, harjoitustyö 25%, viikkotehtävät 25%. Vastuuopettaja voi antaa loppuarvosanan kaikkien osasuoritusten kokonaisarviointiin perustuen.
Arviointiasteikko
1-5