Kompilatory-zajęcia fakultatywne WM-I-S2-E4-ZF1
Kurs stanowi wprowadzenie do teorii języków formalnych, kompilatorów i ich architektury.
Tematy obejmują hierarchię Chomsky'ego, automaty skończone i automaty ze stosem, gramatykę, analizę leksykalną, analizę składniową, generowanie i optymalizację kodu, obsługę błędów i ćwiczenia z różnymi technikami przetwarzania języków.
Zachowana jest równowaga między zapewnieniem wystarczającego zaplecza teoretycznego, aby umożliwić jasne zrozumienie tematu, a zaplecza praktycznego, które zarówno ilustruje koncepcje, jak i umożliwia implementację prostych kompilatorów i procesorów języka. Kurs obejmuje zarówno wymaganą teorię, jak i kilka eleganckich technik kompilacji, które są korzystne dla inżynierów oprogramowania. Techniki stosowane do implementacji analizatorów leksykalnych można stosować w innych obszarach, takich jak języki baz danych lub systemy wyszukiwania informacji.
Dyscyplina naukowa, do której odnoszą się efekty uczenia się
E-Learning
W cyklu 2025/26_L: E-Learning (pełny kurs) | W cyklu 2024/25_L: E-Learning | W cyklu 2022/23_Z: E-Learning (pełny kurs) z podziałem na grupy |
Grupa przedmiotów ogólnouczenianych
Opis nakładu pracy studenta w ECTS
W cyklu 2025/26_L: WYKŁAD
- szacunkowy nakład pracy studenta:
* uczestnictwo w zajęciach 30h
* egzamin 2h,
* przygotowanie do egzaminu, samodzielne lektura, 45h
razem 77h, co odpowiada 3 ECTS
LABORATORIA
- szacunkowy nakład pracy studenta:
* uczestnictwo w zajęciach, konsultacje 30h,
* przygotowanie do zajęć, samodzielna lektura, przygotowanie projektów i prac domowych, przygotowanie do zaliczenia 45h
razem 75h, co odpowiada 3 ECTS | W cyklu 2024/25_L: WYKŁAD
- szacunkowy nakład pracy studenta:
* uczestnictwo w zajęciach 30h
* egzamin 2h,
* przygotowanie do egzaminu, samodzielne lektura, 45h
razem 77h, co odpowiada 3 ECTS
LABORATORIA
- szacunkowy nakład pracy studenta:
* uczestnictwo w zajęciach, konsultacje 30h,
* przygotowanie do egzaminu, samodzielne lektura, przygotowanie projektów, przygotowanie do zajęć, prace domowe 45h
razem 75h, co odpowiada 3 ECTS | W cyklu 2022/23_Z: WYKŁAD
- szacunkowy nakład pracy studenta:
* uczestnictwo w zajęciach 30h
* egzamin 2h,
* przygotowanie do egzaminu, samodzielne lektura, 45h
razem 77h, co odpowiada 3 ECTS
LABORATORIA
- szacunkowy nakład pracy studenta:
* uczestnictwo w zajęciach, konsultacje 30h,
* przygotowanie do egzaminu, samodzielne lektura, przygotowanie projektów, przygotowanie do zajęć, prace domowe 45h
razem 75h, co odpowiada 3 ECTS |
Poziom przedmiotu
Symbol/Symbole kierunkowe efektów uczenia się
Typ przedmiotu
Wymagania wstępne
Koordynatorzy przedmiotu
W cyklu 2025/26_L: | W cyklu 2024/25_L: | W cyklu 2022/23_Z: |
Efekty kształcenia
WYKŁAD I LABORATORIA
Student
W1 – charakteryzuje architekturę kompilatora i funkcje jego poszczególnych faz (I2_W10);
W2 – wyjaśnia formalne metody opisu leksykalnego i składniowego języków programowania (I2_W10);
W3 – analizuje i porównuje techniki optymalizacji kodu na różnych poziomach kompilacji (I2_W10).
U1 – implementuje rekurencyjny analizator składniowy dla zadanej gramatyki (I2_U09);
U2 – projektuje i implementuje kompilator kierowany składnią dla prostego języka (I2_U09);
U3 – integruje analizę leksykalną, składniową i generowanie kodu w spójnym pipeline kompilatora (I2_U09).
Kryteria oceniania
Dla wszystkich efektów przyjmuje się następujące kryteria oceny we wszystkich formach weryfikacji:
ocena 5: osiągnięty w pełni (bez uchwytnych niedociągnięć)
ocena 4,5: osiągnięty niemal w pełni i nie są spełnione kryteria przyznania wyższej oceny
ocena 4: osiągnięty w znacznym stopniu i nie są spełnione kryteria przyznania wyższej oceny
ocena 3,5: osiągnięty w znacznym stopniu – z wyraźną przewagą pozytywów – i nie są spełnione kryteria przyznania wyższej oceny
ocena 3: osiągnięty dla większości przypadków objętych weryfikacją i nie są spełnione kryteria przyznania wyższej oceny
ocena 2: nie został osiągnięty dla większości przypadków objętych weryfikacją
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: