Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Teoria języków formalnych

Informacje ogólne

Kod przedmiotu: 1000-I1TJF Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji
Nazwa przedmiotu: Teoria języków formalnych
Jednostka: Wydział Matematyki i Informatyki
Grupy: Inf., I st. inż., stacjonarne, 2 rok, przedmioty obowiązkowe
Inf., I st., stacjonarne, 2 rok, przedmioty obowiązkowe
Informatyka, studia inżynierskie 1 stopnia, 2 rok
Mat. I st., stacjonarne, przedmioty do wyboru (podstawowe)
Mat. ogólna, I st., stacjonarne, 3 rok, przedmioty do wyboru (matematyczne)
Przedmioty z polskim językiem wykładowym
Wszystkie przedmioty z WMiI
Punkty ECTS i inne: 6.00
zobacz reguły punktacji
Język prowadzenia: polski
Wymagania wstępne:

Podstawowe wiadomości z zakresu matematyki i informatyki obejmujące teorię zbiorów (1000-I1LTM), matematykę dyskretną (1000-I1MAD), teorię algorytmów (1000-I1ASD) oraz programowanie (1000-I1PPR).

Rodzaj przedmiotu:

kanon

Całkowity nakład pracy studenta:

wykład – 30 godzin

ćwiczenia – 30 godzin

konsultacje z prowadzącymi zajęcia – 30 godzin

egzamin – 4 godziny

praca własna (bieżące przygotowanie do zajęć, rozwiązywanie zadań, studiowanie literatury) - 30 godzin

przygotowanie do egzaminu – 26godzin

RAZEM: 150 godzin (6 punktów ECTS)



Efekty uczenia się - wiedza:

W1. Student ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w

zakresie programowania, algorytmów i złożoności, języków formalnych i automatów, języków i paradygmatów programowania (K_W02).

W2. Student zna podstawowe metody projektowania, analizowania i programowania algorytmów (projektowanie strukturalne, rekurencja, złożoność obliczeniowa) (K_W04).


W szczególności zna:

• Wyrażenia i języki regularne,

• Automaty skończone,

• Gramatyki,

• Automaty ze stosem,

• Leksery i parsery,

• Rozstrzygalne i nierozstrzygalne problemy decyzyjne z zakresu teorii języków formalnych.


Efekty uczenia się - umiejętności:

Student:

U1. Potrafi zastosować wiedzę matematyczną do formułowania, analizowania i rozwiązywania zadań informatycznych (K_U01).

U2. Potrafi pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie (K_U02).

U3. Projektuje, analizuje pod kątem poprawności i złożoności obliczeniowej oraz programuje algorytmy; wykorzystuje podstawowe techniki algorytmiczne i struktur danych (K_U07).

U4. Potrafi ocenić, na podstawowym poziomie, przydatność rutynowych metod i narzędzi informatycznych oraz wybrać i zastosować właściwą metodę i narzędzia do konkretnych zadań informatycznych (K_U23).


Efekty uczenia się - kompetencje społeczne:

K1. Myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań.


K2. Jest nastawiony na jak najlepsze wykonanie zadania; dba o szczegóły; jest systematyczny.


K3. Skutecznie przekazuje innym swoje myśli w zrozumiały sposób; właściwie posługuje się terminologią fachową; potrafi nawiązać kontakt w obrębie swojej dziedziny i z osobą reprezentującą inną dziedzinę.


K4. Jest nastawiony na nieustanne zdobywanie nowej wiedzy, Umiejętności i doświadczeń; rozumie potrzebę ciągłego doskonalenia się i podnoszenia kompetencji zawodowych.


K5. W pełni samodzielnie realizuje uzgodnione cele, podejmując samodzielne i czasami trudne decyzje; potrafi samodzielnie wyszukiwać informacje w literaturze.


K6. Pracuje systematycznie i posiada umiejętność pozytywnego podejścia do trudności stojących na drodze do realizacji założonego celu; dotrzymuje terminów.

Metody dydaktyczne:

K1. Myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań.


K2. Jest nastawiony na jak najlepsze wykonanie zadania; dba o szczegóły; jest systematyczny.


K3. Skutecznie przekazuje innym swoje myśli w zrozumiały sposób; właściwie posługuje się terminologią fachową; potrafi nawiązać kontakt w obrębie swojej dziedziny i z osobą reprezentującą inną dziedzinę.


K4. Jest nastawiony na nieustanne zdobywanie nowej wiedzy, Umiejętności i doświadczeń; rozumie potrzebę ciągłego doskonalenia się i podnoszenia kompetencji zawodowych.


K5. W pełni samodzielnie realizuje uzgodnione cele, podejmując samodzielne i czasami trudne decyzje; potrafi samodzielnie wyszukiwać informacje w literaturze.


K6. Pracuje systematycznie i posiada umiejętność pozytywnego podejścia do trudności stojących na drodze do realizacji założonego celu; dotrzymuje terminów.

Metody dydaktyczne eksponujące:

- pokaz

Metody dydaktyczne podające:

- opis
- opowiadanie
- pogadanka
- wykład informacyjny (konwencjonalny)

Skrócony opis:

Przedmiot kursowy dla II roku studiów I stopnia (licencjackich i inżynierskich). Jego celem jest przedstawienie podstawowych pojęć i faktów z teorii języków formalnych oraz klasyfikacja i analiza własności tych języków, a także zaprezentowanie metod ich wykorzystania w praktyce programistycznej i inżynierii programowania.

Pełny opis:

1. Podstawowe definicje: alfabet, słowa, języki, monoid wolny.

2. Zbiory i wyrażenia regularne

3. Deterministyczne i niedeterministyczne automaty skończone

4. Minimalizacja automatów skończonych

5. Twierdzenie Kleene’go

6. Lemat o pompowaniu dla języków regularnych

7. Analiza leksykalna: problem dopasowywania wzorca, budowanie lekserów

8. Algorytmy decyzyjne dla zbiorów regularnych

9. Gramatyki. Hierarchia Chomsky'ego

10. Lemat o pompowaniu dla języków bezkontekstowych

11. Automaty ze stosem

12. Zastosowania w inżynierii programowania: algorytmy parsingu

13. Rozstrzygalność i nierozstrzygalność

14. Problem odpowiedniości Posta

15. Podstawowe problemy decyzyjne dla języków bezkontekstowych

Literatura:

Literatura podstawowa:

J. E. Hopcroft, J. D. Ullman, Wprowadzenie do teorii automatów, jezyków i obliczeń. PWN, Warszawa 1994.

M. Sipser, Wprowadzenie do teorii obliczeń. WNT 2009.

A. Kościelski, Teoria obliczeń. Wykłady z matematycznych podstaw informatyki. Wyd. Uniw. Wrocławskiego, Wrocław 1997.

Literatura uzupełniająca:

M. Foryś, W. Foryś, Teoria automatów i języków formalnych, Akademicka Oficyna Wydawnicza Exit, 2005.

A. Blikle, Automaty i gramatyki PWN 1971.

S. Eilenberg, Automata, Languages and Machines. Academic Press 1974.

Metody i kryteria oceniania:

Kryteria oceniania ćwiczeń:

Zaliczenie na ocenę na podstawie:

• wyników z kolokwiów (co najmniej 1) [W1,W2,U1,U3,U4,K1,K2,K3]

• wyników wejściówek [W1,W2,U1,U3,U4,K1,K2,K3,K4,K5]

• wyników uzyskanych za samodzielne wykonanie zadań domowych rozwiązywanych przez cały semestr [W1,W2,U1,U2,U3,U4,K1,K2,K3,K4,K5]

• aktywności na zajęciach [W1,W2,U1,U3,U4,K1,K2,K3,K4,K5] .

Dodatkowo na ocenę końcową składają się:

• systematyczność

• rozwiązywanie zadań dla chętnych

• obecność.

Dopuszczalny limit nieobecności na zajęciach – 2 razy.

Uwaga: Zwolnienie lekarskie należy dostarczyć w terminie 2 tygodni od nieobecności.

Zaliczenie wykładu: egzamin pisemny [W1,W2,U1,U2,U3,U4,K1,K2,K3,K4,K5].

Zajęcia w cyklu "Semestr letni 2017/18" (zakończony)

Okres: 2018-02-26 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Kamila Barylska, Łukasz Mikulski
Prowadzący grup: Kamila Barylska, Łukasz Mikulski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Ćwiczenia - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2018/19" (zakończony)

Okres: 2019-02-25 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Kamila Barylska, Łukasz Mikulski
Prowadzący grup: Kamila Barylska, Mariusz Kaniecki
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Ćwiczenia - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2019/20" (zakończony)

Okres: 2020-02-29 - 2020-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Kamila Barylska, Łukasz Mikulski
Prowadzący grup: Anna Gogolińska, Mariusz Kaniecki, Łukasz Mikulski, Marcin Piątkowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Ćwiczenia - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2020/21" (jeszcze nie rozpoczęty)

Okres: 2021-02-22 - 2021-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Łukasz Mikulski
Prowadzący grup: Anna Gogolińska, Mariusz Kaniecki, Łukasz Mikulski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Ćwiczenia - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.