Advanced Game Programming (5 op)
Toteutuksen tunnus: HTGP0270-3005
Toteutuksen perustiedot
Ilmoittautumisaika
18.11.2024 - 09.01.2025
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
-
HTG23S1Bachelor's Degree Programme in Business Information Technology
- 20.01.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 21.01.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 27.01.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 28.01.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 03.02.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 04.02.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 10.02.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 11.02.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 17.02.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 18.02.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 03.03.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 04.03.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 10.03.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 11.03.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 17.03.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 18.03.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 24.03.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 25.03.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 31.03.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 01.04.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 07.04.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 08.04.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 14.04.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 15.04.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 22.04.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
- 28.04.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Lecture
- 29.04.2025 15:15 - 17:00, Advanced Game Programming HTGP0270-3005 - Demo
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