Siirry suoraan sisältöön

Ohjelmoinnin syventävät tekniikatLaajuus (5 op)

Tunnus: 5G00EU62

Laajuus

5 op

Osaamistavoitteet

Opiskelija tietää sisällössä kuvattujen ohjelmointiteknisten asioiden periaatteet, yleisimpien ohjelmistojen suunnittelumallien toteutusperiaatteet ja toteutuksen valituilla ohjelmointikielillä. Opiskelija osaa hyödyntää sisällössä mainittuja asioita käytännön ongelmanratkaisussa. Opiskelija tuntee sisällössä kuvattujen aihealueiden yleisimmät hyödyntämiskohteet erilaisissa ohjelmistoprojekteissa.

Sisältö

Periytyminen, virtuaalifunktiot, staattiset metodit ja tietojäsenet, mallit, yleisimpiä ohjelmoinnin arkkitehtuuriratkaisuja, lambdat ja funktionaalisuus, ohjelmistokehyksen käsite ja käytännön esimerkit. Tutustuminen aihealueisiin eri ohjelmointikielten näkökulmasta.

Esitietovaatimukset

Ohjelmonnin perustet, Ohjelmoinnin edistyneet piirteet

Arviointikriteerit, tyydyttävä (1-2)

Opiskelija
-ymmärtää sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa ratkoa ohjelmointiongelmia koodiesimerkkien ja malliratkaisujen pohjalta itsenäisesti
-tuottaa pääosin toimivaa ohjelmakoodia
-suorittaa tehtävät annettujen aikataulujen puitteissa

Arviointikriteerit, hyvä (3-4)

Opiskelija
-ymmärtää sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa em. asioita hyödyntäen ratkoa käytännön ohjelmointiongelmia monipuolisesti ja perustellusti
-tuottaa pääosin hyvää ja selkeää ohjelmakoodia
-osaa tunnistaa mahdollisia vaihtoehtoisia toteutustapoja
-suorittaa tehtävät annettujen aikataulujen puitteissa

Arviointikriteerit, kiitettävä (5)

Opiskelija
-ymmärtää opintojakson sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa ratkoa aihealueen käytännön ohjelmointiongelmia kekseliäästi ja monipuolisesti
-osaa käyttää hyviä ja optimaalisia ohjelmointirakenteita
-tuottaa hyvää ja selkeää ohjelmakoodia
-osaa tunnistaa mahdolliset vaihtoehtoiset toteutustavat
-hallitsee hyvin ja monipuolisesti opintojakson aihealueet
-osaa arvioida ja analysoida omaa ohjelmointityötään kriittisesti ja monipuolisesti
-suorittaa tehtävät annettujen aikataulujen puitteissa

Ilmoittautumisaika

22.11.2023 - 05.01.2024

Ajoitus

01.01.2024 - 05.05.2024

Laajuus

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tietotekniikka

Toimipiste

TAMK Pääkampus

Opetuskielet
  • Suomi
Koulutus
  • Tietotekniikan tutkinto-ohjelma
Opettaja
  • Jere Käpyaho
Vastuuhenkilö

Jere Käpyaho

Ryhmät
  • 22I224
    Ohjelmistotekniikka

Tavoitteet (OJ)

Opiskelija tietää sisällössä kuvattujen ohjelmointiteknisten asioiden periaatteet, yleisimpien ohjelmistojen suunnittelumallien toteutusperiaatteet ja toteutuksen valituilla ohjelmointikielillä. Opiskelija osaa hyödyntää sisällössä mainittuja asioita käytännön ongelmanratkaisussa. Opiskelija tuntee sisällössä kuvattujen aihealueiden yleisimmät hyödyntämiskohteet erilaisissa ohjelmistoprojekteissa.

Sisältö (OJ)

Periytyminen, virtuaalifunktiot, staattiset metodit ja tietojäsenet, mallit, yleisimpiä ohjelmoinnin arkkitehtuuriratkaisuja, lambdat ja funktionaalisuus, ohjelmistokehyksen käsite ja käytännön esimerkit. Tutustuminen aihealueisiin eri ohjelmointikielten näkökulmasta.

Esitietovaatimukset (OJ)

Ohjelmonnin perustet, Ohjelmoinnin edistyneet piirteet

Arviointikriteerit, tyydyttävä (1-2) (OJ)

Opiskelija
-ymmärtää sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa ratkoa ohjelmointiongelmia koodiesimerkkien ja malliratkaisujen pohjalta itsenäisesti
-tuottaa pääosin toimivaa ohjelmakoodia
-suorittaa tehtävät annettujen aikataulujen puitteissa

Arviointikriteerit, hyvä (3-4) (OJ)

Opiskelija
-ymmärtää sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa em. asioita hyödyntäen ratkoa käytännön ohjelmointiongelmia monipuolisesti ja perustellusti
-tuottaa pääosin hyvää ja selkeää ohjelmakoodia
-osaa tunnistaa mahdollisia vaihtoehtoisia toteutustapoja
-suorittaa tehtävät annettujen aikataulujen puitteissa

Arviointikriteerit, kiitettävä (5) (OJ)

Opiskelija
-ymmärtää opintojakson sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa ratkoa aihealueen käytännön ohjelmointiongelmia kekseliäästi ja monipuolisesti
-osaa käyttää hyviä ja optimaalisia ohjelmointirakenteita
-tuottaa hyvää ja selkeää ohjelmakoodia
-osaa tunnistaa mahdolliset vaihtoehtoiset toteutustavat
-hallitsee hyvin ja monipuolisesti opintojakson aihealueet
-osaa arvioida ja analysoida omaa ohjelmointityötään kriittisesti ja monipuolisesti
-suorittaa tehtävät annettujen aikataulujen puitteissa

Aika ja paikka

Kts. kurssin Moodle-sivut

Tenttien ja uusintatenttien ajankohdat

Ei tenttiä

Arviointimenetelmät ja arvioinnin perusteet

Kurssi suoritetaan viikkoharjoituksilla sekä projektityöllä. Katso tarkempi kuvaus arviointimenetelmistä kurssin Moodle-sivulta.

Arviointiasteikko

0-5

Opiskelumuodot ja opetusmenetelmät

Lähiopetus, teoriaa ja harjoittelua

Oppimateriaalit

John Ousterhout, A Philosophy of Software Design
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns
Paul Deitel, Harvey Deitel, C++20 for Programmers
Nick Samoylov, Learn Java 17 Programming Second Edition
Joseph Albahari, C# 10 in a Nutshell
Steve Klabnik, Carol Nichols, The Rust Programming Language

Opiskelijan ajankäyttö ja kuormitus

Kurssi vastaa laskennallisesti 5 x 27,5 h opiskelijan työtä, mistä lähiopetuksen osuus on 45 h. Kurssilla on viikottaiset harjoitustehtävät ja projektityö.

Sisällön jaksotus

Kts. kurssin Moodle-sivu

Toteutuksen valinnaiset suoritustavat

Kts. kurssin Moodle-sivut

Arviointikriteerit - hylätty (0) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

Arviointikriteerit - tyydyttävä (1-2) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

Arviointikriteerit - hyvä (3-4) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

Arviointikriteerit - kiitettävä (5) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

Ilmoittautumisaika

15.12.2022 - 08.01.2023

Ajoitus

09.01.2023 - 07.05.2023

Laajuus

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tietotekniikka

Toimipiste

TAMK Pääkampus

Opetuskielet
  • Suomi
Paikat

0 - 50

Koulutus
  • Tietotekniikan tutkinto-ohjelma
Opettaja
  • Jere Käpyaho
Vastuuhenkilö

Jere Käpyaho

Ryhmät
  • 21I224
    Ohjelmistotekniikka

Tavoitteet (OJ)

Opiskelija tietää sisällössä kuvattujen ohjelmointiteknisten asioiden periaatteet, yleisimpien ohjelmistojen suunnittelumallien toteutusperiaatteet ja toteutuksen valituilla ohjelmointikielillä. Opiskelija osaa hyödyntää sisällössä mainittuja asioita käytännön ongelmanratkaisussa. Opiskelija tuntee sisällössä kuvattujen aihealueiden yleisimmät hyödyntämiskohteet erilaisissa ohjelmistoprojekteissa.

Sisältö (OJ)

Periytyminen, virtuaalifunktiot, staattiset metodit ja tietojäsenet, mallit, yleisimpiä ohjelmoinnin arkkitehtuuriratkaisuja, lambdat ja funktionaalisuus, ohjelmistokehyksen käsite ja käytännön esimerkit. Tutustuminen aihealueisiin eri ohjelmointikielten näkökulmasta.

Esitietovaatimukset (OJ)

Ohjelmonnin perustet, Ohjelmoinnin edistyneet piirteet

Arviointikriteerit, tyydyttävä (1-2) (OJ)

Opiskelija
-ymmärtää sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa ratkoa ohjelmointiongelmia koodiesimerkkien ja malliratkaisujen pohjalta itsenäisesti
-tuottaa pääosin toimivaa ohjelmakoodia
-suorittaa tehtävät annettujen aikataulujen puitteissa

Arviointikriteerit, hyvä (3-4) (OJ)

Opiskelija
-ymmärtää sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa em. asioita hyödyntäen ratkoa käytännön ohjelmointiongelmia monipuolisesti ja perustellusti
-tuottaa pääosin hyvää ja selkeää ohjelmakoodia
-osaa tunnistaa mahdollisia vaihtoehtoisia toteutustapoja
-suorittaa tehtävät annettujen aikataulujen puitteissa

Arviointikriteerit, kiitettävä (5) (OJ)

Opiskelija
-ymmärtää opintojakson sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa ratkoa aihealueen käytännön ohjelmointiongelmia kekseliäästi ja monipuolisesti
-osaa käyttää hyviä ja optimaalisia ohjelmointirakenteita
-tuottaa hyvää ja selkeää ohjelmakoodia
-osaa tunnistaa mahdolliset vaihtoehtoiset toteutustavat
-hallitsee hyvin ja monipuolisesti opintojakson aihealueet
-osaa arvioida ja analysoida omaa ohjelmointityötään kriittisesti ja monipuolisesti
-suorittaa tehtävät annettujen aikataulujen puitteissa

Aika ja paikka

Oppitunnit torstaisin klo 11-14, alkaen 12.1.2023

Tenttien ja uusintatenttien ajankohdat

Ei tenttiä

Arviointimenetelmät ja arvioinnin perusteet

Kurssi suoritetaan viikkoharjoituksilla sekä pienillä loppuharjoitustöillä. Katso tarkempi kuvaus arviointimenetelmistä kurssin Moodle-sivulta.

Arviointiasteikko

0-5

Opiskelumuodot ja opetusmenetelmät

Lähiopetus, teoriaa ja harjoittelua

Oppimateriaalit

John Ousterhout, A Philosophy of Software Design
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns
Paul Deitel, Harvey Deitel, C++20 for Programmers
Nick Samoylov, Learn Java 17 Programming Second Edition
Joseph Albahari, C# 10 in a Nutshell
Steve Klabnik, Carol Nichols, The Rust Programming Language

Opiskelijan ajankäyttö ja kuormitus

Kurssi vastaa laskennallisesti 5 x 27,5 h opiskelijan työtä, mistä luentojen osuus on 45 h. Kurssilla on viikottaiset harjoitustehtävät ja loppuharjoitustyöt.

Sisällön jaksotus

Oppitunnit 3 x 45 min per opetuskerta, 15 kertaa viikoittain (ei opetusta viikolla 9/2023)

Toteutuksen valinnaiset suoritustavat

Kts. kurssin Moodle-sivut

Arviointikriteerit - hylätty (0) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

Arviointikriteerit - tyydyttävä (1-2) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

Arviointikriteerit - hyvä (3-4) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

Arviointikriteerit - kiitettävä (5) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

Ilmoittautumisaika

15.11.2021 - 09.01.2022

Ajoitus

03.01.2022 - 01.05.2022

Laajuus

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tietotekniikka

Toimipiste

TAMK Pääkampus

Opetuskielet
  • Suomi
Koulutus
  • Tietotekniikan tutkinto-ohjelma
Opettaja
  • Tony Torp
Vastuuhenkilö

Tony Torp

Ryhmät
  • 20I224
    Ohjelmistotekniikka

Tavoitteet (OJ)

Opiskelija tietää sisällössä kuvattujen ohjelmointiteknisten asioiden periaatteet, yleisimpien ohjelmistojen suunnittelumallien toteutusperiaatteet ja toteutuksen valituilla ohjelmointikielillä. Opiskelija osaa hyödyntää sisällössä mainittuja asioita käytännön ongelmanratkaisussa. Opiskelija tuntee sisällössä kuvattujen aihealueiden yleisimmät hyödyntämiskohteet erilaisissa ohjelmistoprojekteissa.

Sisältö (OJ)

Periytyminen, virtuaalifunktiot, staattiset metodit ja tietojäsenet, mallit, yleisimpiä ohjelmoinnin arkkitehtuuriratkaisuja, lambdat ja funktionaalisuus, ohjelmistokehyksen käsite ja käytännön esimerkit. Tutustuminen aihealueisiin eri ohjelmointikielten näkökulmasta.

Esitietovaatimukset (OJ)

Ohjelmonnin perustet, Ohjelmoinnin edistyneet piirteet

Arviointikriteerit, tyydyttävä (1-2) (OJ)

Opiskelija
-ymmärtää sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa ratkoa ohjelmointiongelmia koodiesimerkkien ja malliratkaisujen pohjalta itsenäisesti
-tuottaa pääosin toimivaa ohjelmakoodia
-suorittaa tehtävät annettujen aikataulujen puitteissa

Arviointikriteerit, hyvä (3-4) (OJ)

Opiskelija
-ymmärtää sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa em. asioita hyödyntäen ratkoa käytännön ohjelmointiongelmia monipuolisesti ja perustellusti
-tuottaa pääosin hyvää ja selkeää ohjelmakoodia
-osaa tunnistaa mahdollisia vaihtoehtoisia toteutustapoja
-suorittaa tehtävät annettujen aikataulujen puitteissa

Arviointikriteerit, kiitettävä (5) (OJ)

Opiskelija
-ymmärtää opintojakson sisällössä kuvatut ohjelmoinnin syvempään osaamiseen liittyvät käsitteet
-osaa ratkoa aihealueen käytännön ohjelmointiongelmia kekseliäästi ja monipuolisesti
-osaa käyttää hyviä ja optimaalisia ohjelmointirakenteita
-tuottaa hyvää ja selkeää ohjelmakoodia
-osaa tunnistaa mahdolliset vaihtoehtoiset toteutustavat
-hallitsee hyvin ja monipuolisesti opintojakson aihealueet
-osaa arvioida ja analysoida omaa ohjelmointityötään kriittisesti ja monipuolisesti
-suorittaa tehtävät annettujen aikataulujen puitteissa

Arviointiasteikko

0-5