Siirry suoraan sisältöön

Ohjelmoinnin perusteetLaajuus (5 op)

Tunnus: TE00CS88

Laajuus

5 op

Osaamistavoitteet

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

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
  • Englanti
Paikat

0 - 60

Koulutus
  • Tietojenkäsittelyn koulutus
  • Degree Programme in Information and Communications Technology
Opettaja
  • Noora Maritta Nieminen
Ryhmät
  • PINFOS24C
    PINFOS24C
  • PINFOS24A
    PINFOS24A
  • PINFOS24B
    PINFOS24B

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

Recommended literature:
Python Basics: A Practical Introduction to Python3 4th edition by David Amos,Dan Bader,Joanna Jablonski, Fletcher Heisler, ISBN:9781775093329 (paperback), ISBN:9781775093336 (electronic)

AI-Assisted Programming by Tom Taulli, Released April 2024, Publisher(s): O'Reilly Media, Inc., ISBN: 9781098164560

Programming tools
- Python 3.12.x
- Visual Studio Code (with Extensions)
- Git / Github
- Github Copilot or other AI programming assistants

Opetusmenetelmät

Learning by programming
Learning efficient and responsible use of AI programming copilots
Theory and practical examples shared during lectures
Practical understanding gained in practice sessions

Tenttien ajankohdat ja uusintamahdollisuudet

No exam

Pedagogiset toimintatavat ja kestävä kehitys

Students will learn theoretical concepts and gain programming good practices in lectures.
Students will put their understanding into practice in weekly assignments.

Course material will be entirely digital.

Opiskelijan ajankäyttö ja kuormitus

Contact hours 14x2h (theory) + 12x2h (practice) = 52h
Independent study continuously throughout the course 80h

TOTAL approx. 130h

Theory lectures are held onsite.
Programming labs in subgroups A, B and C are also onsite.

Sisällön jaksotus

TOPICS / CONTENTS
week 3: Introduction
week 4: Built-in functions print and input, variables and types
week 5: Arithmetic and bitwise operators
week 6: Branching
week 7: Loops
week 8: Winter Break - no teaching
week 9: Breaking loops
week 10: Collections
week 11: Collections and loops
week 12: Functions
week 13: Function parameters and return values
week 14: Modularity and unit testing
week 15: GUI, events and callback functions
week 16: File IO (text and binary files)
week 17-: Basics of exception handling, try-except-finally, with

Viestintäkanava ja lisätietoja

ItsLearning
Email

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

The course consists of 10 weekly assignment series, which include studying programming theory and completing related programming tasks. Students earn points by demonstrating their work to the instructor.

During the course, students complete a project in which they create a more extensive application (applying the knowledge they have gained during the course and innovatively utilizing AI programming copilots). This project allows students to apply what they have learned and demonstrate their skills.

Each weekly assignment can earn a maximum of 10 points. The overall assessment of the weekly assignment series follows the following scale:

40 points -> grade 1
55 points -> grade 2
70 points -> grade 3
80 points -> grade 4
90 points -> grade 5
The project is assessed separately on a scale of 1-5.

The student's course grade is the average of the weekly assignments and the project. Both components must be passed.

If, during the course, it appears that a student will not achieve the required points to pass, they will be given the opportunity to complete missing assignments retroactively. For these assignments, they can earn up to half of the available points. The student must collect the required points before the course end date.

Hylätty (0)

Student
• does not know the basic concepts of programming
• cannot read or write simple programs

Arviointikriteerit, tyydyttävä (1-2)

Student
• knows such basic concepts of programming as variables, control structures and functions
• understands how the program flow is going
• can read or write simple programs

Arviointikriteerit, hyvä (3-4)

Student
• knows such basic concepts of programming as variables, control structures, functions, classes, objects and arrays
• understands how the program flow is going and can find easy errors
• can make simple programs

Arviointikriteerit, kiitettävä (5)

Student
• knows such basic concepts of programming as variables, control structures and functions, classes and objects
• utilizes some data Structures such as arrays, lists and hash tables.
• understands how the program flow is going and can use debugger and error-handling
• can make programs that include aforesaid concepts.

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

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ä.

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
  • Sami Pyöttiälä
Ryhmät
  • PTIVIS24D
    PTIVIS24D
  • PTIVIS24E
    PTIVIS24E
  • PTIVIS24F
    PTIVIS24F

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) tai jokin vastaava

Opetusmenetelmät

Keskeisin oppimismenetelmä on ohjelmointitehtävien ratkaisemisen yrittäminen käytännössä, virheiden tekeminen ja niiden korjaamisen harjoittelu sekä toisinaan valmiin ratkaisun tai osaratkaisun hyödyntäminen. Tehokkaan ja vastuullisen AI-ohjelmointiassistenttien käytön pohtiminen ja oppiminen. Ohjelmoinnin asioista keskusteleminen.

Tenttien ajankohdat ja uusintamahdollisuudet

Ei tenttiä

Pedagogiset toimintatavat ja kestävä kehitys

Luentotunnilla keskitytään uusien asioiden sisäistämiseen. Opittua sovelletaan itse oman algoritmisen ongelmanratkaisuharjoittelun osasina ja keinoina. Harjoitustuntia ennen harjoitellaan tehtävien avulla ja harjoitustunnilla on mahdollista saada ohjausta ja tukea, jotta osaaminen täydentyy ja kehittyy mahdollisimman suotuisasti.

Kurssimateriaali on sähköisenä annetuilla alustoilla. Kestävää kehitystä pohditaan yleisen ohjelmointiin liittyvän kestävyyden, esim. koodin uudelleenkäytön alueella.

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ä D, E ja F ovat myös lähiopetuksena.

Sisällön jaksotus

Opintojaksolla opetellaan käytännön ohjelmointitaito. Tässä keskeisimpänä asiana on algoritminen ajattelu ja algoritminen ongelmanratkaisutaito. Taidon oppiminen edellyttää tietämystä ohjelmointiin liittyvistä perusasioista, joista opiskellaan esimerkiksi muuttujat, tyypit, operaattorit, kontrollirakenteet, aliohjelmat (funktiot), parametrit, modulaarisuus, testaus, syöttö näppäimistöltä, tulostus ruudulle, listat, kokoelmat, poikkeukset ja tiedostonkäsittely. Opetuksen apuvälineenä on Python-kieli. Opintojaksolla käytetään spiraalioppimista, mikä on tavallista ohjelmoinnin opettelussa, joten aiheiden käsittelyn tarkkaa ajoitusta ei ole mahdollista antaa viikkotasolla.

Viestintäkanava ja lisätietoja

ItsLearning
Sähköposti

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Opintojakso sisältää 10 viikkotehtäväsarjaa, joihin sisältyy ohjelmoinnin teorian opiskelua ja aiheeseen liittyvien ohjelmointitehtävien suorittamista. Opiskelija saa pisteitä opettajalle demonstroimalla eli esittämällä tehtyjä tehtäviä tai toisinaan osittain tehtyjä ja kattavasti yritettyjä tehtäviä.

Opintojaksoon sisältyy harjoitustyö, jossa opiskelija luo laajemman sovelluksen (soveltaen kurssin aikana opittuja tietoja ja mahdollisesti jopa osittain hyödyntäen innovatiivisesti AI-ohjelmointiassistentteja). Tämä harjoitustyö antaa opiskelijalle mahdollisuuden soveltaa oppimaansa ja osoittaa osaamistaan.

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 ja testejä

Arviointikriteerit, hyvä (3-4)

Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet, funktiot, luokat, oliot ja listat
• ymmärtää ohjelman kulun ja löytää yksinkertaiset virheet
• osaa laatia yksinkertaisia ohjelmia ja testata niiden toimivuutta

Arviointikriteerit, kiitettävä (5)

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

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

35 - 80

Koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Anne Jumppanen
  • Annukka Kinnari
Ryhmät
  • PTIETS24A
    PTIETS24A
  • PTIETS24B
    PTIETS24B

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

Kaikki oppimateriaali ilmoitetaan itslearningissä.

Opetusmenetelmät

Materiaalin lukeminen ja ohjelmointiharjoitusten tekeminen ohjatusti sekä itsenäisesti.

Harjoitustyö opettaa soveltamaan opittuja asioita laajemman sovelluksen näkökulmasta.

Materiaali pitää sisällään olio-ohjelmoinnin teoriaa sekä teoriaa valaisevia kuvia ja esimerkkikoodeja.

Tenttien ajankohdat ja uusintamahdollisuudet

Opintojaksolla ei ole tenttiä.

Pedagogiset toimintatavat ja kestävä kehitys

Itsearviointi
Opiskelijan tulee kiinnittää säännöllisesti huomiota omaan opiskeluunsa ja oppimiseensa.
Opiskelijaa pyydetään tekemään muistiinpanoja jokaisen viikkotehtäväsarjan kohdalla pohtien omaa oppimistaan ja edistymistään.

Toteutuksella noudatetaan jatkuvan tekemisen ja arvioinnin mallia siten, että opiskelijan tulee tehdä, palauttaa ja demota kurssin tehtäviä säännöllisesti noudattaen kurssin tehtäville annettuja aikatauluja. Tällä tähdätään opiskelijan mahdollisuuteen seurata itsenäisesti omaa edistymistään ja oppimistaan kurssin aikana.

Jatkuva aktiivinen työskentely ja oppiminen tukevat ohjelmoinnissa esiintyvää spiraalioppimisen mallia.

Toteutuksen valinnaiset suoritustavat

1) Antamalla näytön esim. tekemästään työelämän projektista, jolla opiskelija osoittaa hallitsevansa opintojakson sisällön.
2) Sivustolla mooc.fi kuvataan ohjelmoinnin MOOC, joka vastaa sisällöltään Helsingin yliopiston tietojenkäsittelytieteen laitoksen kursseja Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi. Kurssit vastaavat yhteensä kymmentä opintopistettä (5+5).
Ohjelmoinnin perusteet voi suorittaa tekemällä ohjelmoinnin MOOCin alkuosan.

Opiskelijan ajankäyttö ja kuormitus

Opiskelijan työn mitoitus

5 opintopistettä: 27 * 5 = 135 tuntia

Opintojakson kesto: 13.1. - 30.4.2025 (14 viikkoa + opetukseton viikko 8)

Viikkotyömäärä: 135 tuntia / 14 viikkoa = 9,5 tuntia viikossa

Sisällön jaksotus

Opintojaksolla opiskellaan ohjelmoinnin ajattelutapaa sekä tutustutaan ohjelmistokehityksen pääpiirteisiin.

Opintojakson harjoitukset tehdään Pythonilla.

Tulostaminen näytölle ja tiedostoon.
Tiedon lukeminen näppäimistöltä ja tiedostosta.
Ohjelmoinnin valintarakenteet.
Ohjelmoinnin toistorakenteet.
Aliohjelmat ja niiden käyttö.
Poikkeukset.
Listat ja merkkijonot.
Ohjelman dokumentointi.
Ohjelman testaus.

Viestintäkanava ja lisätietoja

Kurssin viestintä tapahtuu pääsääntöisesti itslearningissä.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Opintojakso pitää sisällään 10 viikkotehtäväsarjaa, joihin sisältyy ohjelmoinnin teorian opiskelua sekä aiheeseen liittyviä ohjelmointitehtäviä. Opiskelija saa pisteitä opettajalle demoamistaan tehtävistä.

Kurssilla tehdään harjoitustyö, jossa opiskelija tekee laajemman sovelluksen. Harjoitustyössä opiskelija pääsee soveltamaan oppimiaan asioita ja osoittamaan osaamistaan. Harjoitustyön tuotos demotaan opiskelijaryhmälle.

Viikkotehtävistä saa kustakin maksimissaan 10 pistettä. Kotitehtäväsarjan kokonaisarviointi noudattaa seuraavaa kaavaa:
40 pistettä -> 1
55 pistettä -> 2
70 pistettä -> 3
80 pistettä -> 4
90 pistettä -> 5

Harjoitustyö arvioidaan erikseen skaalalla 1-5.

Opiskelijan opintojakson arvosana muodostuu kotitehtäväsarjan ja harjoitustyön keskiarvosta. Molempien osioiden pitää olla hyväksyttyjä.

Jos kurssin edetessä näyttää siltä, että opiskelija ei saavuta kurssin läpäisyyn tarvittavaa pistemäärää, niin hänen kanssaan sovitaan puuttuvien tehtävien tekemisestä takautuvasti. Näistä tehtävistä hän voi saada maksimissaan puolet tarjolla olevasta pistemäärästä. Opiskelijan tulee kerätä läpäisyyn vaadittava pistemäärä ennen kurssin loppumispäivämäärää.

Hylätty (0)

Hyväksytysti suoritettuja harjoituksia puuttuu ja/tai harjoitustyö puuttuu.

Arviointikriteerit, tyydyttävä (1-2)

Suomeksi
Hyväksytysti suoritettuja harjoituksia on tehty minimimäärä tai niiden laatu on tyydyttävä ja/tai harjoitustyön laatu on tyydyttävää tasoa.

Arviointikriteerit, hyvä (3-4)

Hyväksytysti suoritettuja harjoituksia on tehty riittävästi ja niiden laatu on hyvää ja harjoitustyön laatu on hyvää tasoa.

Arviointikriteerit, kiitettävä (5)

Hyväksytysti suoritettuja harjoituksia on tehty 90 % ja niiden laatu on kiitettävää ja harjoitustyön laatu on kiitettävää tasoa.

Ilmoittautumisaika

01.06.2024 - 02.09.2024

Ajoitus

02.09.2024 - 18.12.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Englanti
Paikat

0 - 60

Koulutus
  • Degree Programme in Information and Communications Technology
Opettaja
  • Tiina Ferm
Ajoitusryhmät
  • Pienryhmä A (Koko: 25. Avoin AMK: 0.)
  • Pienryhmä B (Koko: 25. Avoin AMK: 0.)
Ryhmät
  • PINFOK24B
    PINFOK24B
  • PINFOK24A
    PINFOK24A
  • PINFOK24C
    PINFOK24C
Pienryhmät
  • Pienryhmä A
  • Pienryhmä B

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

Python Basics: A Practical Introduction to Python3 4th edition by David Amos,Dan Bader,Joanna Jablonski, Fletcher Heisler, ISBN:9781775093329 (paperback), ISBN:9781775093336 (electronic)
Programming tools
- Python 3.12.x
- IDLE

Opetusmenetelmät

Learning by programming

Tenttien ajankohdat ja uusintamahdollisuudet

Assessment is based on exercises and three mid-term exams. The complete course can be compensated with one exam completed within the one month from the beginning.
There is no retake option for midterm exams nor for the compensating exam.

Toteutuksen valinnaiset suoritustavat

The course can be compensated with an e-exam within the first month after the beginning of the course. More instructions on how to enroll is given in itslearning.
The exam can be done using a programming language e.g. C/C++/#, java, javascript a student states when enrolling.
The compensating exam can only be taken if a student is enrolled to the course.

24 Coding challenges – classroom activity. Each passed challenge is worth 0,25 p, a total of 6 p, that is added to the total points of the course. No minimum.

Opiskelijan ajankäyttö ja kuormitus

Contact hours 77 h
Independent study continuously throughout the course, preparation for the exam 58 h

Theory lections are held onsite, programming labs in subgroups A or B are virtual.

Sisällön jaksotus

The course consists of eight topics with rehearsal questions, quizzes and labs for each.
week 36: Introduction
week 37: Built-in functions print and input, variables and types
week 38: Arithmetic and bitwise operators
week 39: Branching
Mid-term Exam I: 30.9.2024
week 40: Loops
week 41: Breaking loops
week 43: Collections
week 44: Collections and loops
Mid-term Exam II: 4.11.2024
week 45: Functions
week 46: Function parameters and return values
week 47: GUI, events and callback functions
week 48: File IO (text and binary files)
Mid-term Exam III: 2.12.2024
week 49-50: try-except-finally, with

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

7 Quizzes – online, evaluated, minimum 14, maximum 35
7 Labs – classroom activity, evaluated, plagiarism check result must be < 50%, minimum 14, maximum 35
3 Exams – classroom activity, evaluated, 10 points each, minimum 12, maximum 30


To pass the course a student has to reach a minimum in all categories (quizzes, labs and exams). If the minimum is reached all the points are added and a scale of 1 – 5 is calculated.

Attendance to theory lections is mandatory, challenge points are accepted only if a person is attending the class.

Hylätty (0)

Student
• does not know the basic concepts of programming
• cannot read or write simple programs

< 40 points or failed the exam

Arviointikriteerit, tyydyttävä (1-2)

Student
• knows such basic concepts of programming as variables, control structures and functions
• understands how the program flow is going
• can read or write simple programs

40 - 59 points and the minimum is reached in all categories (quizzes, labs and exams)

Arviointikriteerit, hyvä (3-4)

Student
• knows such basic concepts of programming as variables, control structures, functions, classes, objects and arrays
• understands how the program flow is going and can find easy errors
• can make simple programs

40 - 79 points and the minimum is reached in all categories (quizzes, labs and exams)

Arviointikriteerit, kiitettävä (5)

Student
• knows such basic concepts of programming as variables, control structures and functions, classes and objects
• utilizes some data Structures such as arrays, lists and hash tables.
• understands how the program flow is going and can use debugger and error-handling
• can make programs that include aforesaid concepts.

> 80 points and the minimum is reached in all categories (quizzes, labs and exams)

> 90 points, 1 additional credit (total of 6 credits)