Kurs języka Lua

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

Opis przedmiotu:

Lua jest językiem skryptowym charakteryzującym się minimalizmem, szybkością działania oraz prostotą osadzenia w języku C. Dzięki tym cechom jest to od wielu już lat najpopularniejszy język skryptowy w przemyśle gier komputerowych ([wiki list](https://en.wikipedia.org/wiki/Category:Lua-scripted_video_games)). Lua daje programiście szerokie możliwości ale niewiele narzuca: można w niej programować zarówno imperatywnie, funkcjonalnie jak i obiektowo, a elastyczna składnia pozwala na dostosowanie języka do własnych potrzeb. Wykład w części będzie poświęcony samemu językowi Lua, a w części technikom jego osadzania w C i wykorzystywania jako język skryptowy i na odwrót - rozszerzaniem skryptów Lua o moduły będące skompilowanymi bibliotekami C. **Program:** 1. podstawy - typy, wyrażenia, struktury kontrolne i funkcje 2. iteratory, generyczne "for", koprocedury, domknięcia 3. struktury danych, metatabele, metametody i środowisko 4. "słabe" tabele, programowanie OO i tworzenie modułów oraz biblioteka standardowa 5. API w C - stos lua, obsługa błędów, wywoływanie kodu C z Lua i Lua z C, techniki pisania funkcji 6. typy użytkownika i zaawansowane tematy wiązania **Wymagania:** znajomość języka C, C++ lub innego języka "niskiego" poziomu w którym można osadzać Lua W przypadku konieczności przeprowadzanie zajęć zdalnie, wykłady będę przeprowadzone w formie interaktywnej korzystając z Discord/Google Hangouts i najprawdopodobniej nagrywane. Oddawanie pracowni oraz projektów odbywać się będzie również za pomocą ww. narzędzi, przy czym student jest zobowiązany do zaprezentowania działania programu / wyników "osobiście", za pomocą funkcji udostępniania ekranu. Ogólne zasady przedmiotu nie ulegają zmianie.