Siirry suoraan sisältöön

Olio-ohjelmointi (5 op)

Toteutuksen tunnus: 5051125-3040

Toteutuksen perustiedot


Ilmoittautumisaika

01.12.2024 - 13.01.2025

Ajoitus

13.01.2025 - 30.04.2025

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet

  • Suomi
  • Englanti

Paikat

25 - 70

Koulutus

  • Tieto- ja viestintätekniikan koulutus
  • Tietojenkäsittelyn koulutus
  • Degree Programme in Information and Communications Technology

Opettaja

  • Sami Pyöttiälä
  • Annukka Kinnari

Ajoitusryhmät

  • Demoryhmä 1 (Koko: 0. Avoin AMK: 0.)
  • Demoryhmä 2 (Koko: 0. Avoin AMK: 0.)

Ryhmät

  • PTIVIS23O
    Software Engineering and Project Management
  • ICTMODictprojSem
    MOD ICT Projects & Cybersecurity (International Semester)
  • PTIETS23sepm
    Software Engineering and Project Management

Pienryhmät

  • Demoryhmä 1
  • Demoryhmä 2
  • 15.01.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 17.01.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 17.01.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 21.01.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 24.01.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 24.01.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 29.01.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 31.01.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 31.01.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 04.02.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 07.02.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 07.02.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 12.02.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 14.02.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 14.02.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 26.02.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 28.02.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 28.02.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 04.03.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 07.03.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 07.03.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 12.03.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 14.03.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 14.03.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 18.03.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 21.03.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 21.03.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 26.03.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 28.03.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 28.03.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 01.04.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 04.04.2025 08:00 - 10:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 04.04.2025 10:00 - 12:00, Practice lecture, Olio-ohjelmointi 5051125-3040
  • 09.04.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 11.04.2025 08:00 - 10:00, Final project demos, Olio-ohjelmointi 5051125-3040
  • 15.04.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 23.04.2025 12:00 - 15:00, Lectures, Olio-ohjelmointi 5051125-3040
  • 25.04.2025 08:00 - 10:00, Final project demos, Olio-ohjelmointi 5051125-3040

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
- kuvailla ohjelmistotuotteen kehitystyön vaiheet ja keskeiset menetelmät
- selittää käsitteet luokkahierarkia, periytyvyys ja monimuotoisuus sekä soveltaa niitä ohjelmistokehityksessä
- keskustella rinnakkaisohjelmoinnin mahdollisuuksista
- soveltaa poikkeusrakenteita
- suunnitella, toteuttaa ja dokumentoida yksinkertaisen käyttöliittymäsovelluksen.

Sisältö

- oliorakenteet
- virheiden käsittely poikkeuksilla
- säikeet
- tietokantayhteyden luominen
- ohjelmistotuotannon prosessi ja menetelmät
- UML ja kaavioiden piirtäminen

Oppimateriaalit

Opintojakson työtilassa.

Opetusmenetelmät

Materiaalin lukeminen, opiskelu ja käytännön kokeilu.

Harjoitustehtävien tekeminen ja käytännön ongelmanratkaisu.

Harjoitustyön tekeminen, dokumentointi ja demoaminen sille varatussa tilaisuudessa. Läsnäolo ja osallistuminen.

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.
Tehtävän palautuksessa opiskelija reflektoi omaa oppimistaan vastaamalla esimerkiksi kysymyksiin seuraavista asioista:
- Tehtävän teema: Mitä tiesin teemasta etukäteen? Mitä ajatuksia teema herätti?
- Tehtävää tehdessä: Esiin nousseet ajatukset kohdistuen tehtävän vaativuustasoon ja mielenkiintoon
- Tehtävän jälkeen: Mitä opin?
sekä antaa itselleen arvosana työskentelystään jokaisen viikkotehtävän kohdalla asteikolla: Erinomainen - Hyvä - Tyydyttävä.

Kestävää kehitystä käsitellään esimerkiksi ohjelmien laskennallisen tehokkuuden pohtimisella (sähkö, laitteistoresurssit), koodin uudelleenkäytöllä olioparadigman mekanismein (työ, työntekijäresurssit) ja välttämällä turhaa tekoälyn käyttöä (sähkö).

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).
Olio-ohjelmoinnin voi suorittaa tekemällä ohjelmoinnin MOOCin loppuosan (osat 8-14).

Opiskelijan ajankäyttö ja kuormitus

Opintojakson suoritus edellyttää hyväksytysti harjoitustehtävien sekä harjoitustyön tekemistä ja palauttamista määräaikaan mennessä sekä jatkuvaa osallistumista.

5 opintopistettä: 27 * 5 = 135 tuntia

Viikkotyömäärä: 135 tuntia / 14 viikkoa = 9,6 tuntia viikossa.
Opintojakso sisältää 3 tuntia ohjattua opetusta ja 2 tuntia harjoitustehtävien tekoa s.e. opettaja(t) ovat paikalla.

Sisällön jaksotus

Opintojakso ajoittuu aikavälille tammikuu 2025 - huhtikuu 2025.

Opintojakson suoritettuaan opiskelija:
- tuntee olio-ohjelmoinnin peruskäsitteistön, esimerkiksi olio, luokka, attribuutti, luokkamuuttuja, metodi, alustaja eli konstruktori, periytyminen, luokkahierarkia, polymorfismi, poikkeukset
- osaa soveltaa edellä mainittuja käytännössä
- osaa suunnitella ja määritellä luokkia ja niistä koostuvia, johdonmukaisia kokonaisuuksia
- tunnistaa koodin uudelleenkäyttöä edistäviä ja estäviä menettelyjä
- osaa käyttää olioparadigmaa hyödyksi algoritmisen ratkaisun osana
- kuvailee ohjelmistotuotteen kehitystyön vaiheet ja keskeisiä menetelmiä
- osaa keskustella rinnakkaisohjelmoinnin mahdollisuuksista
- käyttää poikkeuksia ennakoimattomissa virhetilanteissa
- osaa suunnitella, toteuttaa, testata ja dokumentoida sovelluksen
- käyttää UML:a suunnittelun ja dokumentoinnin välineenä
- käyttää tyyliopasta ja noudattaa hyvää ohjelmointitapaa

Viestintäkanava ja lisätietoja

Avoimen AMK:n opiskelijoita otetaan mukaan opintojaksolle max 3.

Lue myös opintojakson edeltävyysehdot (=opiskelijalla pitää olla ohjelmoinnin perusteet suoritettuna tai vastaavat taidot).

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Exercise rounds: 8 times
Each round (max): 10 points
From exercises total 80 points
A student must get at least 40 points from Exercise rounds to get grade 1.
Exercises must be done and returned before the deadlines (Itslearning).


Programming project work (max): 40 points
A student must get at least 20 points from Programming project work to get grade 1.
Work must be done and returned before the deadline (Itslearning).


Total course (max): 120 points
Grading:
Points 60 --> grade 1
Points 73 --> grade 2
Points 86 --> grade 3
Points 99 --> grade 4
Points 112 --> grade 5

Hylätty (0)

A student do not know the basics of object oriented programming and is not
able to use proper object oriented programming solutions to solve problems
in software development. The course points under 60 or the exercise points under 40 or
the programming project work under 20 points imply grade 0.

Arviointikriteerit, tyydyttävä (1-2)

A student knows the most of the basics of object oriented programming and is able to
use some proper object oriented programming solutions to solve small-sized
problems in software development. At least 60 course points. At least 40 points from
exercises and 20 points from programming project work.

Arviointikriteerit, hyvä (3-4)

A student knows the basics of object oriented programming and is able to
use proper object oriented programming solutions to solve small-sized
problems in software development. At least 86 course points. At least 40 points from
exercises and 20 points from programming project work.

Arviointikriteerit, kiitettävä (5)

A student knows all the basics of object oriented programming and
uses proper object oriented programming solutions to solve any
problems in software development. At least 112 course points. At least 40 points from
exercises and 20 points from programming project work.

Esitietovaatimukset

Ohjelmoinnin perusteet tai vastaavat tiedot ja taidot