Ohjelmoinnin perusteet (3 op)
Toteutuksen tunnus: 5S00DX90-3018
Toteutuksen perustiedot
Ilmoittautumisaika
02.07.2025 - 31.07.2025
Ajoitus
01.08.2025 - 31.12.2025
Laajuus
3 op
Toteutustapa
Lähiopetus
Yksikkö
Sähkö- ja automaatiotekniikka
Toimipiste
TAMK Pääkampus
Opetuskielet
- Suomi
Paikat
0 - 40
Koulutus
- Sähkö- ja automaatiotekniikan tutkinto-ohjelma
Opettaja
- Jussi Pohjolainen
Vastuuhenkilö
Jarkko Lehtonen
Ryhmät
-
24AI231Sähkö- ja automaatiotekniikka, monimuotototeutus
Tavoitteet (OJ)
Opiskelija tuntee
- ohjelmoinnin idean ja tarkoituksen
- tavan tuottaa ohjelmia
Opiskelija osaa
- ohjelmoinnin peruskäsitteitä ja -taitoja
- ratkoa pieniä ohjelmointiongelmia C/C++ -ohjelmointikielellä
Sisältö (OJ)
Yleiskuva ohjelmistoprojektin kulusta, ohjelmoinnin peruskäsitteet ja vaiheet. Ohjelmoinnin perusrakenteet: kontrollirakenteet, muuttujat, vakiot, algoritmien muodostaminen, aliohjelmat ja parametrinvälitysmekanismit.
Arviointikriteerit, tyydyttävä (1-2) (OJ)
Opiskelija tuntee sisällössä kuvatut ohjelmoinnin peruskäsitteet sekä osaa ratkoa pieniä ohjelmointiongelmia koodiesimerkkien ja malliratkaisujen pohjalta. Opiskelija ottaa vastuun omasta suoriutumisestaan.
Arviointikriteerit, hyvä (3-4) (OJ)
Opiskelija ymmärtää sisällössä kuvatut ohjelmoinnin peruskäsitteet sekä osaa näitä hyödyntäen perustellusti ratkoa käytännön pieniä ohjelmointiongelmia. Opiskelija suoriutuu annetuista tehtävistä itsenäisesti ja ottaa vastuuta myös ryhmän suoriutumisesta.
Arviointikriteerit, kiitettävä (5) (OJ)
Opiskelija sisäistää sisällössä kuvatut ohjelmoinnin peruskäsitteet, ja osaa ratkoa luovasti ja monipuolisesti käytännön pieniä ohjelmointiongelmia hyviä ohjelmointirakenteita käyttäen. Opiskelija on oma-aloitteinen ja ottaa sitoutuneesti vastuuta omasta ja ryhmän suoriutumisesta.
Aika ja paikka
Ks. kalenteri
Tenttien ja uusintatenttien ajankohdat
Tentit pidetään viikoilla 48 - 52. Tentti suoritetaan exam.tuni.fi - palvelussa, josta opiskelija voi varata itselleen sopivan ajankohdan kyseiseltä ajanjaksolta.
Arviointimenetelmät ja arvioinnin perusteet
YLEISKUVAUS
Opintojakso sisältää
1️⃣ Tentti
2️⃣ Harjoitukset
Opintojakson läpäisemiseksi opiskelijan tulee suorittaa vähintään 40 % harjoituksista, mikä itsessään antaa arvosanan 1.
Tentti tarjoaa mahdollisuuden nostaa arvosanaa asteikolla 1 - 5.
• Harjoitukset: Jos opiskelija suorittaa vähintään 40 % harjoituksista, hän saa tästä automaattisesti arvion 1
• Vapaavalinnainen tentti: Arvioidaan 1 - 5 ja muodostaa opintojakson kokonaisarvion.
⚠️ Mikäli opiskelija ei ole suorittanut vaadittua määrää harjoituksia, niin tenttiin on osallistuttava ja se on läpäistävä. Opiskelija voi siis osallistua suoraan tenttiin tekemättä harjoituksia tai jos opiskelija ei saa tarvittavaa harjoitusmäärää tehtyä.
1️⃣ TENTTI
• Alusta: Tentti suoritetaan exam.tuni.fi-palvelussa syyskauden lopussa.
• Materiaalit: Tentissä sinulla on täysi pääsy Java-kirjaan (PDF) lisämateriaalina.
• Työkalut tentissä: Visual Studio Code (VS Code), Java-kääntäjä
• Internet-yhteys: Tentissä ei ole käytettävissä internet-yhteyttä.
• Aika: 2 tuntia 55 minuuttia tai jos sinulla on terveydellisiä syitä, 3 tuntia 55 minuuttia.
• Kaikki tentit, mukaan lukien uusintatentit ovat suoritettava ajanjaksolla: viikko 48 (2025) - viikko 51 (2025). Jätä opettajalle viikko aikaa tenttisi tarkistamiseen.
• Jos et läpäise, voit suorittaa hylätyn tentin kahdesti uudelleen.
• Jos läpäiset, voit yrittää parantaa arvosanaasi kerran.
Lisäpistejärjestelmä:
• Lisäpisteitä myönnetään sen perusteella, kuinka suuren osuuden harjoituksista olet suorittanut ennen tenttiä. Näitä pisteitä myönnetään vain, jos osallistut lähiopetukseen.
• Harjoitusten suoritusprosentti [70%, 80%[: +1 piste
• Harjoitusten suoritusprosentti [80%, 90%[: +2 pistettä
• Harjoitusten suoritusprosentti [90%, 100%]: +3 pistettä
Tentin pisteytys:
• Arvosana 1 edellyttää vähintään 9,6 pistettä (40 %).
• Arvosana 2 edellyttää vähintään 14,4 pistettä (60 %).
• Arvosana 3 edellyttää vähintään 16,8 pistettä (70 %).
• Arvosana 4 edellyttää vähintään 19,2 pistettä (80 %).
• Arvosana 5 edellyttää vähintään 21,6 pistettä (90 %).
Tentin maksimipistemäärä on 24 pistettä.
⚠️ Lisäpisteet eivät vaikuta tentin läpäisyyn, joten tentistä on saatava vähintään 9,6 pistettä. Sen jälkeen lisäpisteet lisätään saatuun pistemäärään.
2️⃣ HARJOITUKSET
1. Läsnäolo ja täsmällisyys
✅ Varmista, että saavut lähiopetukseen ajoissa.
✅ Lähiopetuksen ensimmäisten 15 minuutin aikana (esim. 12.15–12.30 tai 8.45–9.00):
• Kirjaa fyysinen läsnäolosi annettuun Google Sheets -taulukkoon
• Merkitse myös harjoituksesi Google Sheets -taulukkoon
• Laita ratkaisusi GitHub repoon, mikäli et ole vielä tehnyt niin
⚠️ Google Sheets lukitaan 15 minuutin jälkeen (12:30 tai 9:00) ja koodikatselmointi alkaa. Myöhästyneet eivät voi merkitä läsnäoloaan, eivätkä he saa pisteitä. Opettaja saattaa satunnaisesti valita opiskelijoita keskustelemaan ratkaisuistaan ja tämä satunnaisvalinta tehdään niiden opiskelijoiden kesken jotka ovat ajoissa paikalla ja itsensä Google Sheetsiin merkinneet.
⚠️ Huomautus: Merkitse itsesi läsnäolevaksi vain, jos olet fyysisesti paikalla. Jos merkintä tehdään etänä vaikka ei olla paikalla, tämä tulkitaan vilpilliseksi toiminnaksi.
2. Ratkaisujen esittely / Koodikatselmointi
✅ Valmistaudu esittelemään ja selittämään ratkaisusi luokalle.
⚠️ Jos opiskelija ei pysty selittämään koodinsa toimintaa, se viittaa siihen, ettei hän ole itse tuottanut sitä tai ymmärtänyt sen toimintaperiaatteita. Tämä voidaan tulkita vilpilliseksi toiminnaksi.
3. Työn aitous
✅ Kaikkien harjoitusten tulee olla omaa alkuperäistä työtäsi.
⚠️ Voit pyytää apua muilta opiskelijoilta tai tekoälyltä, mutta kopiointi ja liittäminen ovat ehdottomasti kiellettyjä.
⚠️ TAMK edellyttää opiskelijoiden käyttävän tekoälypohjaisia sovelluksia vastuullisesti ja eettisesti opinnoissaan. Esimerkiksi mainitse palautetussa tehtävässä tekoälyn käytöstä ja kuvaa, miten sitä on käytetty. Vilpillistä on esimerkiksi esittää tekoälyn tuottama teksti, kuva tai muu tuotos omanaan ( https://intra.tuni.fi/opetus/opintohallinnon-kaytannot/opiskelun-etiikka-1/tekoalysovellusten-kaytto )
⚠️ Opettaja voi käyttää plagioinnin tunnistusohjelmaa. Havaitut plagioidut harjoitukset voidaan katsoa vilpilliseksi toiminnaksi.
ℹ️ Suositus: älä käytä tekoälyä. Kun perusteet ovat opittu, tekoäly on tämän jälkeen oiva väline koodin generoimiseen. Ohjelmoinnin alkeiden opiskelussa tekoäly saattaa auttaa "liikaa" ja tuottaa liian valmiita vastauksia.
4. Poissaolot
ℹ️ Jos sinulla on hyväksyttävä syy (esim. lääkärikäynti) jättää lähiopetus väliin, ilmoita siitä opettajalle ennen lähiopetuksen alkua sähköpostitse. Tämä mahdollistaa harjoituksen palauttamisen etänä.
ℹ️ Jos myöhästyt lähiopetuksesta odottamattoman ja hyväksyttävän syyn vuoksi (esim. rengasrikko tai muu yllättävä este), ilmoita asiasta välittömästi, kun tilanne on tiedossa. Tämä voi mahdollistaa harjoituksen palauttamisen etänä.
⚠️ Lähiopetuksen jälkeen tehtyjä ilmoituksia ei pääsääntöisesti hyväksytä.
⚠️ Lomamatkat ja vastaavat henkilökohtaiset menot eivät ole hyväksyttäviä syitä poissaoloon. Lähiopetukseen tulee suhtautua samalla vakavuudella kuin työssäkäyntiin – poissaolot ovat sallittuja ainoastaan perustelluista ja painavista syistä.
Arviointiasteikko
0-5
Opiskelumuodot ja opetusmenetelmät
Opintojakson opetuksessa yhdistyvät luennot, kotiharjoitukset ja tentti. Luennoilla käsitellään ohjelmoinnin keskeisiä käsitteitä ja periaatteita esimerkkien avulla. Viikoittaisissa kotiharjoituksissa opiskelijat tekevät ohjelmointitehtäviä ja harjoittelevat koodikatselmointia vertaisarvioinnin periaatteiden mukaisesti. Koodikatselmointi tukee laadukkaan ja luettavan koodin tuottamista sekä parantaa ongelmanratkaisutaitoja. Kurssi päättyy ohjelmointitenttiin, joka mittaa keskeisten periaatteiden ja käytäntöjen ymmärtämistä.
Oppimateriaalit
Huom - ohjelmointikielenä opintojaksolla tullaan käyttämään Javaa.
Pääasiallisena oppimateriaalina käytetään luennoilla ja harjoituksissa jaettavia materiaaleja sekä Oraclen virallista Java-dokumentaatiota (https://docs.oracle.com/en/java/). Kirjallisuudeksi käy mikä tahansa Java - kieleen keskittyvä kirja.
Opiskelijan ajankäyttö ja kuormitus
Opintojakso vaatii opiskelijalta keskimäärin 81 tunnin työpanoksen (3 op).
Sisällön jaksotus
Kerta 1 – 2025-10-24, 08:15–11:00
Kurssin aloitus – opetusympäristön ja käytettävien työkalujen esittely. Johdatus ohjelmoinnin perusteisiin ja Java-ohjelmointikieleen.
Kerta 2 – 2025-11-07, 08:15–11:00
Muuttujat, tietotyypit ja operaattorit. Peruslauseet ja laskutoimitukset. Harjoitusten avulla sovelletaan opittuja peruskäsitteitä.
Kerta 3 – 2025-11-14, 08:15–11:00
Kontrollirakenteet: ehtolauseet (if, switch) ja silmukat (for, while, do-while). Käytännön esimerkkejä ja harjoituksia.
Kerta 4 – 2025-11-28, 08:15–11:00
Taulukot ja metodit – keskeiset peruskäsitteet.
Kerta 5 – 2025-12-12, 08:15–11:00
Viimeinen koodikatselmus. Metodeista ja tentistä.
Toteutuksen valinnaiset suoritustavat
Ei valinnaisia suoritustapoja.
Harjoittelu- ja työelämäyhteistyö
Tämä opintojakso on suunniteltu ohjelmoinnin perusteiden opetteluun, eikä se sisällä varsinaista työharjoittelua tai suoraa yhteistyötä työelämän kanssa. Kurssin sisältö kuitenkin heijastaa alan nykyvaatimuksia. Luennoissa ja kotiharjoituksissa keskitytään käytännönläheisiin ohjelmointitehtäviin, jotka kehittävät opiskelijoiden ongelmanratkaisutaitoja ja tarjoavat valmiuksia jatkokoulutukseen sekä työelämän haasteisiin. Opetuksessa painotetaan alan parhaita käytäntöjä ja työelämässä käytössä olevia ohjelmointikonsepteja, mikä tukee opiskelijoiden sujuvaa siirtymistä työelämään.
Kansainvälisyys
Tällä opintojaksolla ei ole käytössä erityisiä kansainvälisiä yhteistyökuvioita tai ulkomaan harjoittelumahdollisuuksia. Kurssin sisältö perustuu kuitenkin kansainvälisesti tunnustettuihin ohjelmointikäytäntöihin ja -standardeihin, mikä valmentaa opiskelijoita työympäristön vaatimuksiin. Opiskelijoita kannustetaan myös hyödyntämään kansainvälisiä resursseja ja verkostoja oman osaamisensa laajentamiseksi.
Lisätietoja opiskelijoille
Opiskelijoilta edellytetään tietokoneen peruskäytön osaamista. Komentorivin osaamista on myös hyötyä, esim: https://courses.mooc.fi/org/uh-cs/courses/tietokone-tyovalineena