Projekt: Programowanie Gier Programistycznych

Język wykładowy Polski
Semestr Letni
Status W ofercie
Opiekun Jakub Kowalski
Liczba godzin 30 (prac.)
Rodzaj Projekt
ECTS 4
Polecany dla I roku Nie
Egzamin Nie

Opis przedmiotu:

Gry programistyczne są doskonałym narzędziem dydaktycznym na każdym etapie edukacji. Wprowadzając w życie ideę nauki poprzez zabawę, pozwalają na trenowanie umiejętnosci programistycznych w interesującym (zarówno tematycznie jak i wizualnie) środowisku oraz łączą aspekty współpracy i rywalizacji. Odpowiednio projektując taką grę, możemy nakierować jej uczestników na zapoznanie się z konkretnym zagadnieniem dotyczącym w zasadzie dowolnego aspektu informatyki. Poczynając od podstaw jak wykorzystanie wejścia/wyjścia, pętli, obsługi napisów etc, poprzez wykorzystanie odpowiednich algorytmów i struktur danych, konieczność optymalizacji numerycznej, wykorzystania wzorów geometrycznych, aż do zagadnień typowych dla sztucznej inteligencji. W ramach tego przedmiotu, kilkuosobowe zespoły będą tworzyły gry programistyczne w oparciu o narzędzia udostępnione przez serwis [CodinGame](https://www.codingame.com/) (opcjonalnie także [Google DeepMind OpenSpiel](https://github.com/deepmind/open_spiel/tree/master/open_spiel), [Facebook Polygames](https://github.com/facebookincubator/Polygames), lub inny), nakierowane na konkretne aspekty dydaktyczne. Poszczególne zespoły nie będą działały w odosobnieniu, lecz na regularnych spotkaniach z pozostałymi uczestnikami przedmiotu będą prezentować postępy prac, dzielić się wątpliwościami i słuchać ich opinii jako "potencjalnych graczy". Wszyscy uczestnicy przedmiotu będą również nawzajem testować swoje projekty. Na koniec projektu, oprócz przedstawienia gotowej gry, każda z grup przygotuje też krótki raport z historii jej toworzenia, dokumentujący jak zmieniały się koncepcje, zasady oraz ewoluowała wizualizacja. Planowane jest osadzenie finalnych projektów w serwisie CodinGame (OpenSpiel/Polygames) i udostępnienie szerokiej publiczności, a w przypadku projektów o bardzo dobrej jakości zorganizowanie bazujących na nich oficjalnych zawodów. Dobrej jakości projekty mogą również stanowić bazę do pracy dyplomowej. W przypadku konieczności przeprowadzanie zajęć zdalnie, wszelkie omówienia projektów i dyskusje będą się odbywały za pomocą narzędzi pozwalających na zbiorowe rozmowy, udostępnianie ekranu etc. (Discord, Google Hangout). Ogólne zasady przedmiotu nie ulegają zmianie.