Siirry suoraan sisältöön

Advanced Game Programming (5 op)

Toteutuksen tunnus: HTGP0270-3005

Toteutuksen perustiedot


Ajoitus

13.01.2025 - 19.05.2025

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Liiketoimintayksikkö

Toimipiste

Pääkampus

Opetuskielet

  • Suomi

Paikat

20 - 30

Koulutus

  • Bachelor's Degree Programme in Business Information Technology

Opettaja

  • Risto Koskenkorva

Ryhmät

  • HTG23S1
    Bachelor's Degree Programme in Business Information Technology

Oppimateriaali ja suositeltava kirjallisuus

Tässä kentässä kuvataan kurssin suorittamiseen vaadittava julkinen oppimateriaali.

Oppimateriaalit:
- Opettajan kirjalliset materiaalit
- Luentomateriaalit (Diat ja oppimisympäristössä)
- Tietokannat (oppimisympäristössä)
- Toteuttamiseen liittyvät materiaalit (oppimisympäristössä)
- Ylimääräistä luettavaa löytyy verkosta ja Books24x7:stä
- Oppimateriaalit löytyvät verkosta ja YouTubesta (tai kurssin tietokannasta)

Käytännöt ja käytetyt työkalut:
- Pelimoottorin kanssa yhteensopiva versionhallintasysteemi (Version Control System - VCS) (esim. Git, GitHub sijaintina)
- Pelimoottori (esim. Unity / Unreal Engine / Godot...)
- Pelimoottoriin liittyvä integroitu kehitysympäristö (IDE) (esim. Visual Studio / JetBrains...)
- Pelimoottoriin liittyvä ohjelmointikieli (esim. C# / C++...)

Joitakin työkaluihin liittyviä julkisia oppimateriaaleja:
- Microsoft. (2024). C# programming guide [Dokumentaatiosivusto]. https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/
- Nystrom, R. (2014). Game Programming Patterns [The book in website format]. https://gameprogrammingpatterns.com/
- Unity Technologies. (2024a). Unity - Manual [Dokumentaatiosivusto]. https://docs.unity3d.com/Manual/index.html
- Unity Technologies. (2024b). Unity - Scripting API [Application Programming Interface -sivusto]. https://docs.unity3d.com/ScriptReference/index.html
- Unity Technologies. (2024c). Unity Graphics manual [Dokumentaatiosivusto]. https://docs.unity3d.com/Manual/Graphics.html

Muita linkkejä:
- SOLID principles: https://en.wikipedia.org/wiki/SOLID
- Clean C#: https://leanpub.com/cleancsharp
- Game programming patterns: https://gameprogrammingpatterns.com/contents.html

Opetusmenetelmät

Tässä kentässä kuvataan toteutuksessa käytetyt opetus- ja oppimismenetelmät ja miten opiskelijan ohjaus järjestetään.

Sekoitettu malli:
Ensisijainen toimitustapa on toimintojen yhdistelmä luokassa kampuksella ja tietyissä tapauksissa verkossa.
Jos COVID-19 tai muu vastaava tilanne kuitenkin vaatii, oppimista tuetaan verkkotoiminnoilla.

Toiminta syventää oppimista seuraavilla mahdollisilla tavoilla:
- Teoreettiset luennot ja testaus
- Yksilöllistä ja mahdollista ryhmätyötä (toteutus)
- Yksilölliset ja mahdolliset ryhmäharjoitukset, oppimistehtävät (tehtävät) ja reflektointi
- Opastus ohjattujen demojen ja lopputulosten arvioinnin muodossa (apua myös haasteisiin)

Kurssin toiminta voi sisältää myös:
- Projektipohjainen oppiminen
- Käänteinen oppiminen (aiheen oppiminen ennen teorialuentoja)
- Pistokokeet
- Aihekohtainen opetus
- Aihekohtainen tutkimus
- Tietokannan käyttö haasteisiin/ongelmiin/tutoriaaleihin (ongelmapohjainen oppiminen)

Osallistuminen mahdollisiin verkkotoimintoihin:
- Zoomaa käytetään online-toimintoihin
- Vaatii toimivan web-kameran, kuulokkeet ja mikrofonin
- Jos yksi tai useampi seuraavista puuttuu, osallistuminen voidaan hylätä

Tekoälyn (AI) käyttö:
- Tekoälyn ja tekoälyavusteisten työkalujen käyttö on sallittua ja suositeltavaa
- Puhdas kopiointi (plagiointi) on edelleen kiellettyä ja siitä seuraa asianmukaiset rangaistukset

Viralliset viestintäkanavat:
- Joukkueet (ensisijainen) ja sähköposti
- Uutiset (foorumi)
- DiscordApp / WhatsApp / muut viestit ovat henkilökunnan jäseniltä kiellettyjä
- Istunnot voidaan tallentaa ja linkit lisätä työtilaan (tallennuslupa pyydetään aina etukäteen osallistujilta)

Harjoittelu- ja työelämäyhteistyö

Tämä kenttä kuvaa yhteyksiä työelämään ja harjoitteluun.

Kurssilla voi olla vierailevia luennoitsijoita (pelialan asiantuntijoita) ja mahdollisesti retki (virtuaalinen tai fyysinen).

Mahdollinen kurssiprojekti jäljittelee tosielämän projektikokemuksia.

Tenttien ajankohdat ja uusintamahdollisuudet

Tämä kenttä ilmoittaa varsinaisen kokeen päivämäärän ja kellonajan sekä kaikki uusintamahdollisuudet.

Tällä kurssilla ei ole tenttiä!
- Jokainen opiskelija varaa 30 minuutin arviointiajan, jossa hän esittelee lopputuloksensa (portfolio) varmistaakseen kurssin suorittamiseen vaadittavat taidot ja tiedot
- Arviointi suoritetaan 1-on-1-arviointikeskusteluilla kurssin opettajan/opettajien kanssa
- Arviointipaikkojen varaaminen on mahdollista oppimisalustan kautta

Arvioinnin päivämäärä ja kellonaika:
- Toukokuun puoliväli
- Arviointien ja uusintojen tarkat päivämäärät ilmoitetaan kurssin aikana

Vaihtoehtoiset suoritustavat

Tässä kentässä kuvataan kurssin vaihtoehtoiset suoritustavat.

Sinulla on oikeus hakea opintosi hyväksilukemista, jos sinulla on aiempaa koulutusta (esim. muualla suoritettua yliopisto-opintoja), joka voidaan hyväksyä parhaillaan suorittamaasi tutkintoon.

Aiemman osaamisen tunnustaminen on mahdollista seuraavilla tavoilla:
- Korkeakouluopintojen hyväksilukeminen (korvaaminen tai sisällyttäminen)
- Muulla tavoin hankitun osaamisen tunnistaminen ja tunnustaminen

Tarkempaa tietoa:
- JAMKin tutkintosäännöt, 17 §
- https://www.jamk.fi/fi/opiskelijoille/tutkinto-opiskelija/aiemman-oppimisen-ja-kokemuksen-tunnustus

Opiskelijan ajankäyttö ja kuormitus

Tässä osiossa kuvataan oppimistehtävät ja niiden suorittamiseen tarvittava aika sekä opiskelijan muut aikataulut.

5 opintopisteen työmäärä on 135 tuntia. Kuorma jakautuu seuraavasti:
- 55 tuntia luokassa tapahtuvaa ohjattua toimintaa
- 80 tuntia itsenäistä työskentelyä

Tämä on suunnilleen seuraavat tuntimäärät:
~55 tuntia: Luokassa harjoitukset (Luennot, testaus ja toteutus demossa)
~35 tuntia: Tehtävät (viikko- ja muut), moduulitehtävät ja valmistautuminen luennoille
~30 tuntia: Lopputuotteen tekemiseen liittyvä työ
~15 tuntia: Portfolion valmistelu (arviointia varten)

Sisällön jaksotus

Tässä osiossa kuvataan kurssin aikataulu. Tarkoittaen, mitä tapahtuu joka viikko (rytmitys, ajoitus, viikoittaiset tehtävät, toteutuksen pakolliset osat)?

Kurssi koostuu 5 moduulista:
- Moduulit ovat 3-5 viikkoa pitkiä
- Jokainen moduuli on pakollinen ja sisältää viikoittaista luokassa tapahtuvaa toimintaa ja itsenäistä työtä
- Jokaisen moduulin lopussa on pakollinen moduulitehtävä, joka tarkistaa opiskelijan edistymisen ja moduuliin liittyvän ymmärryksen ja taidot
- Yksityiskohtainen moduulin sisältö tulee olemaan saatavilla oppimisympäristössä

Kurssi alkaa 3 viikon mittaisella moduulilla. Moduuli keskittyy kurssin esittelyyn, työkalujen ja ympäristöjen asettamiseen sekä ensimmäiseen sukeltamiseen kurssin aiheeseen. 1. moduulin loppuun mennessä jokaisen opiskelijan tulee täyttää seuraavat kriteerit:
- Osallistunut kaikkiin kurssin sisäisiin aktiviteetteihin (osallistui selvästi)
- On palauttanut moduulitehtävän, joka on hyväksytty
- Jos 1 tai useampi kriteereistä ei täyty, opiskelija katsotaan ei-aktiiviseksi/kurssilta poistuneeksi (Jamk-kurssin resurssivaatimusten mukaisesti)

Viikkoaikataulu:
~4 tuntia viikossa pakollisiin luokassa tapahtuviin toimintoihin (teoria, testaus ja toteutus demossa) -> Mahdollisesti kahdessa erillisessä istunnossa
~4-6 tuntia viikossa tehtäviin liittyvää itsenäistä työtä (viikko- ja muut), moduulitehtävät, luennoille valmistautuminen ja lopputuotteen tekeminen (kaiken tulee edistää opiskelijan lopputuotetta)

Tämä tarkoittaa, että tälle kurssille kannattaa varata joka viikko ~8-10 tuntia työaikaa!

Kurssi edellyttää myös, että jokaisella opiskelijalla on lopputuote esitettäväksi kurssin loppuun mennessä:
- Lopputuote osoittaa opiskelijan ymmärryksen ja taidot liittyen kurssin aiheisiin
- Kurssi päättyy lopputulosten esittelyyn toukokuussa

Arviointiasteikko

0-5