Johdatus ohjelmointiin
Rakennetyyppi: | Opintojakso |
---|---|
Koodi: | TT00BT65 |
OPS: | TT 2025 |
Taso: | Insinööri (AMK) |
Laajuus: | 5 op |
Vastuuopettaja: | Matila, Jukka |
Opetuskieli: | Suomi |
Osaamistavoitteet
Tämä kurssi johdattaa opiskelijat ohjelmoinnin peruskäsitteisiin C-kielellä, painottaen käytännön sovelluksia sulautetuissa järjestelmissä ja järjestelmätason ohjelmoinnissa. Opiskelijat oppivat ohjelmoinnin perusteet, ulkoisten kirjastojen hyödyntämisen, projektien organisoinnin Makefile-tiedostoilla ja versionhallinnan Gitillä. Kurssi korostaa käytännön harjoituksia ja todellisia sovelluksia, valmistaen opiskelijat edistyneempään ohjelmointiin ja ohjelmistokehitykseen.
Kurssin suoritettuaan opiskelija osaa:
Ymmärtää C-kielen syntaksin, semantiikan ja rakenteen.
Kirjoittaa, debugata ja testata yksinkertaisia C-ohjelmia.
Hyödyntää ulkoisia kirjastoja tehokkaasti projekteissaan.
Luoda ja hallita Makefile-tiedostoja projektien automatisointiin.
Käyttää Git-versionhallintaa ja tiimityöskentelyyn.
Opiskelijan työmäärä
Lähiopetus: 20 tuntia
Itsenäinen työskentely: 115 tuntia
Ohjelmointitehtäviä
Kurssimateriaalin lukemista ja opiskelua
Lopullisen miniprojektin toteutus
Edeltävät opinnot / Suositellut valinnaiset opinnot
Ei vaadita aikaisempaa ohjelmointiosaamista.
Suositeltavaa on perusosaaminen tietokoneen käytöstä ja tiedostonhallinnasta.
Sisältö
Kurssi alkaa johdannolla ohjelmointikäsitteisiin ja C-kielen rooliin, mukaan lukien kehitysympäristön (Linux tai Windows) käyttöönotto. Opiskelijat tutustuvat C-ohjelmoinnin perusteisiin, kuten tietotyyppeihin, ohjausrakenteisiin ja modulaariseen ohjelmointiin funktioiden avulla.
Kurssilla syvennytään myös edistyneisiin aiheisiin, kuten pointtereihin, muistin hallintaan ja tietorakenteisiin (taulukot, merkkijonot, rakenteet ja unionit). Opiskelijat oppivat käyttämään kirjastoja matemaattisiin ja merkkijonojen käsittelytehtäviin, ja heille esitellään Makefile-tiedostojen avulla tapahtuva automaatio. Versionhallinta Gitin avulla käydään läpi erityisesti ohjelmistokehityksen yhteistyökäytänteiden näkökulmasta.
Kurssin aikana painotetaan debuggaustekniikoita ja virheenkäsittelymenetelmiä. Käytännön sovellukset sisältävät yksinkertaisten projektien, kuten laskimen tai tekstipohjaisen pelin, rakentamisen. Kaikki opitut konseptit integroidaan lopulliseen miniprojektiin, jossa hyödynnetään Gitin yhteistyö- ja versionhallintatyökaluja.
Aluevaikuttavuus
Kurssi antaa opiskelijoille ohjelmointitaitoja, jotka ovat välttämättömiä paikallisten teollisuudenalojen, erityisesti sulautettujen järjestelmien kehityksen ja ohjelmistotuotannon, tarpeisiin.
Kansainvälisyys
Kurssi esittelee ohjelmointikäytänteitä ja -työkaluja, joita käytetään laajasti globaalisti, valmistaen opiskelijoita kansainvälisiin ohjelmistokehitysympäristöihin.
Opiskelumateriaali
Kurssialueella toimitettu materiaali
C Programming: A Modern Approach (K.N. King)
Opetusmuoto / Opetusmenetelmät
Luennot: Keskeisten ohjelmointikäsitteiden esittely.
Käytännön harjoitukset: Ohjelmointiharjoituksia opettajan ohjauksessa.
Tehtävät: Viikoittaiset ohjelmointitehtävät oppimisen tukemiseksi.
Lopullinen miniprojekti: Sovellus, joka yhdistää kurssin konseptit.
Arviointikriteerit
Tyydyttävä (1-2):
Perustason ymmärrys C-kielen syntaksista ja rakenteesta.
Rajallinen kyky käyttää pointtereita, kirjastoja ja Makefile-tiedostoja.
Käytännön tehtävien osittainen suorittaminen.
Hyvä (3-4):
Hallitsee kohtuullisen monimutkaisten C-ohjelmien kirjoittamisen ja debuggaamisen.
Osaa käyttää kirjastoja, Makefile-tiedostoja ja Git-versionhallintaa tehokkaasti.
Suorittaa tehtävät ja projektit onnistuneesti pienellä ohjauksella.
Erinomainen (5):
Osoittaa syvällistä ymmärrystä C-ohjelmoinnista, mukaan lukien muistin hallinta.
Käyttää Makefile-tiedostoja ja Git-työkaluja sujuvasti yhteistyöprojekteissa.
Suorittaa kaikki tehtävät ja lopullisen projektin laadukkaasti ja hyvin dokumentoituna.
Arviointimenetelmät
Tehtävät (40%): Viikoittaiset harjoitukset ohjelmointitaitojen kehittämiseksi.
Lopullinen projekti (50%): Kattava sovellus, joka osoittaa kurssin osaamisen.
Kokeet (10%): Teoreettisen ja käytännön osaamisen testaaminen.