Siirry suoraan sisältöön

Ohjelmoinnin perusteet (5 op)

Toteutuksen tunnus: TE00CS88-3003

Toteutuksen perustiedot


Ilmoittautumisaika

01.12.2024 - 13.01.2025

Ajoitus

13.01.2025 - 30.04.2025

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

ICT

Toimipiste

Kupittaan kampus

Opetuskielet

  • Suomi

Paikat

25 - 40

Koulutus

  • Tietojenkäsittelyn koulutus

Opettaja

  • Noora Maritta Nieminen

Ryhmät

  • PTIVIS24B
    PTIVIS24B
  • PTIVIS24C
    PTIVIS24C
  • PTIVIS24A
    PTIVIS24A
  • 13.01.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 16.01.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 16.01.2025 10:00 - 12:00, Ryhmä C, Ohjelmoinnin perusteet TE00CS88-3003
  • 20.01.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 23.01.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 23.01.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 27.01.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 29.01.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 30.01.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 30.01.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 03.02.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 05.02.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 06.02.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 06.02.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 10.02.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 12.02.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 13.02.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 13.02.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 24.02.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 26.02.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 27.02.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 27.02.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 03.03.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 05.03.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 06.03.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 06.03.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 10.03.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 12.03.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 13.03.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 13.03.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 17.03.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 20.03.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 20.03.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 20.03.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 24.03.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 26.03.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 27.03.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 27.03.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 31.03.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 02.04.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 03.04.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 03.04.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 07.04.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 09.04.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 10.04.2025 08:00 - 10:00, Ryhmä A Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 10.04.2025 14:00 - 16:00, Ryhmä C Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 14.04.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003
  • 16.04.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 23.04.2025 12:00 - 14:00, Ryhmä B Harjoitukset, Ohjelmoinnin perusteet TE00CS88-3003
  • 28.04.2025 14:00 - 16:00, Teoria, Ohjelmoinnin perusteet TE00CS88-3003

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
• kuvata ohjelman toimintaa kaaviolla
• keskustella soveltuvan ratkaisumallin valinnasta
• määritellä ohjelmointiin liittyviä peruskäsitteitä kuten lähdekoodi, kääntäjä, muuttuja ja tyyppi
• lukea ja ymmärtää valmista ohjelmakoodia
• hyödyntää valinta- ja toistorakenteita
• käyttää poikkeustenkäsittelymekanismeja auttavasti
• suunnitella ja toteuttaa yksinkertaisia sovellusohjelmia sekä dokumentoida ja testata niitä

Sisältö

• ohjelmistosovelluksen rakenne
• erilaiset kehitysympäristöt
• ohjelmassa tarvittavien syötetietojen vastaanottaminen
• tietojen prosessoiminen ohjelmassa, jotta annettu ongelma saadaan ratkaistuksi
• tulostietojen esittäminen
• muuttujat ja tietotyypit, yksinkertaiset tietorakenteet
• funktiot ja parametrit
• ehtolauseet ja silmukat
• poikkeukset
• tiedoston käsittely
• ohjelman testaus ja dokumentointi

Oppimateriaalit

Suositeltu kirjallisuus:
"Python Basics: A Practical Introduction to Python3", 4. painos, David Amos, Dan Bader, Joanna Jablonski, Fletcher Heisler, ISBN:9781775093329 (paperback), ISBN:9781775093336 (sähköinen)

"AI-Assisted Programming" by Tom Taulli, Julkaistu huhtikuussa 2024, Kustantaja: O'Reilly Media, Inc., ISBN: 9781098164560

Ohjelmointityökalut:
Python 3.12.x
Visual Studio Code (laajennuksilla)
Git / Github
Github Copilot tai muu AI-ohjelmointiassistentti

Opetusmenetelmät

Oppiminen ohjelmoimalla
Tehokkaan ja vastuullisen AI-ohjelmointiassistenttien käytön oppiminen
Teoriaa ja käytännön esimerkkejä jaetaan luentojen aikana
Käytännön ymmärrystä hankitaan harjoitustunneilla

Tenttien ajankohdat ja uusintamahdollisuudet

Ei tenttiä

Pedagogiset toimintatavat ja kestävä kehitys

Opiskelijat oppivat teoreettisia käsitteitä ja saavat ohjelmoinnin parhaita käytäntöjä luennoilla.
Opiskelijat soveltavat ymmärrystään käytäntöön viikkotehtävissä.

Kurssimateriaali on täysin digitaalinen.

Opiskelijan ajankäyttö ja kuormitus

Kontaktiopetustunnit 14x2h (teoria) + 12x2h (harjoitukset) = 52h
Itseopiskelu jatkuvasti kurssin ajan 80h

YHTEENSÄ noin 130h

Teorialuennot pidetään lähiopetuksena.
Ohjelmointiharjoitukset alaryhmissä A, B ja C ovat myös lähiopetuksena.

Sisällön jaksotus

AIHEET / SISÄLLÖT
viikko 3: Johdanto
viikko 4: Sisäänrakennetut funktiot print ja input, muuttujat ja tyypit
viikko 5: Aritmeettiset ja bittitason operaattorit
viikko 6: Haarautuminen
viikko 7: Toistorakenteet
viikko 8: Talviloma - ei opetusta
viikko 9: Toistorakenteiden katkaisu
viikko 10: Kokoelmat
viikko 11: Kokoelmat ja toistorakenteet
viikko 12: Funktiot
viikko 13: Funktion parametrit ja paluuarvot
viikko 14: Modularisuus ja yksikkötestaus
viikko 15: Käyttöliittymä, tapahtumat ja callback-funktiot
viikko 16: Tiedostojen käsittely (teksti- ja binääritiedostot)
viikko 17-: Poikkeusten käsittelyn perusteet, try-except-finally, with

Viestintäkanava ja lisätietoja

ItsLearning
Sähköposti

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

urssi sisältää 10 viikkotehtäväsarjaa, joihin sisältyy ohjelmoinnin teorian opiskelua ja aiheeseen liittyvien ohjelmointitehtävien suorittamista. Opiskelija saa pisteitä opettajalle demonstroimalla tehtäviä.

Kurssilla tehdään harjoitustyö, jossa opiskelija luo laajemman sovelluksen (soveltaen kurssin aikana opittuja tietoja ja hyödyntäen innovatiivisesti AI-ohjelmointiassistentteja). Tämä harjoitustyö antaa opiskelijalle mahdollisuuden soveltaa oppimaansa ja osoittaa osaamisensa.

Jokaisesta viikkotehtävästä voi saada maksimissaan 10 pistettä. Viikkotehtäväsarjan kokonaisarviointi noudattaa seuraavaa kaavaa:

40 pistettä -> arvosana 1
55 pistettä -> arvosana 2
70 pistettä -> arvosana 3
80 pistettä -> arvosana 4
90 pistettä -> arvosana 5
Harjoitustyö arvioidaan erikseen asteikolla 1-5.

Opiskelijan kurssiarvosana muodostuu viikkotehtävien ja harjoitustyön keskiarvosta. Molemmat osiot täytyy olla hyväksyttyjä.

Jos kurssin edetessä näyttää siltä, että opiskelija ei saavuta läpäisyyn vaadittavaa pistemäärää, hänelle annetaan mahdollisuus suorittaa puuttuvat tehtävät takautuvasti. Näistä tehtävistä hän voi saada maksimissaan puolet tarjolla olevista pisteistä. Opiskelijan tulee kerätä vaadittavat pisteet ennen kurssin päättymispäivää.

Hylätty (0)

Opiskelija
• ei tunne ohjelmoinnin peruskäsitteitä
• ei pysty lukemaan tai kirjoittamaan yksinkertaisia ohjelmia

Arviointikriteerit, tyydyttävä (1-2)

Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet ja funktiot
• ymmärtää ohjelman kulun
• osaa lukea ja kirjoittaa yksinkertaisia ohjelmia

Arviointikriteerit, hyvä (3-4)

Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet, funktiot, luokat, oliot ja taulukot
• ymmärtää ohjelman kulun ja löytää yksinkertaiset virheet
• osaa tehdä yksinkertaisia ohjelmia

Arviointikriteerit, kiitettävä (5)

Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet, funktiot, luokat ja oliot
• hyödyntää joitain tietorakenteita, kuten taulukot, listat ja hajautustaulut
• ymmärtää ohjelman kulun ja osaa käyttää debuggeria ja virheenkäsittelyä
• osaa tehdä ohjelmia, jotka sisältävät edellä mainittuja käsitteitä.