Uniwersytet Jagielloński w Krakowie - Centralny System Uwierzytelniania
Strona główna

Programowanie w logice

Informacje ogólne

Kod przedmiotu: WMI.II-PL-MI
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Programowanie w logice
Jednostka: Instytut Informatyki i Matematyki Komputerowej
Grupy: Przedmioty dla programu WMI-0037-2SO
Przedmioty dla programu WMI-0118-1SO
Przedmioty dla programu WMI-0118-2SO
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski

Zajęcia w cyklu "Semestr zimowy 2023/2024" (zakończony)

Okres: 2023-10-01 - 2024-01-28
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Paweł Gniadek
Prowadzący grup: Paweł Gniadek
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Ocena wliczana do średniej:

tak

Efekty kształcenia:

Symbol Efekty kształcenia Odniesienie do efektów kierunkowych


E1 ma wiedzę w z logiki matematycznej w zakresie niezbędnym do zrozumienia i tworzenia poprawnych programów w logice K_W02+


E2 zna podstawowe techniki algorytmiczne wykorzystywane w programowaniu w logice takie jak rekurencja, programowanie z nawrotami K_W06+, K_U09


E3 zna i potrafi stosować w praktyce paradygmat programowania w logice K_W04++, K_U06++


E4 zna język Prolog w stopniu pozwalającym na pisanie programów rozwiązujących średnio skomplikowane problemy K_W04++, K_U06++


E5 potrafi zaprojektować i zaimplementować rozwiązanie problemu programistycznego w języku Prolog K_U01+, K_U09+


Forma i warunki zaliczenia:

Student otrzymuje ocenę końcowa z ćwiczeń na podstawie punktów przyznawanych za systematycznie oddawane programy zaliczeniowe, rozwiązywania zadań tablicowych oraz punktów uzyskanych na kolokwiach


Student otrzymuje ocenę końcową z modułu na podstawie punktów przyznawanych na ćwiczeniach oraz punktów uzyskanych podczas egzaminu pisemnego.


Metody sprawdzania i kryteria oceny efektów kształcenia uzyskanych przez studentów:

Kolokwia (E1, E2, E4)

Egzamin (E1, E2, E4)

Samodzielnie implementowane zadania programistyczne (E2, E3, E4, E5)

Samodzielne rozwiązywanie zadań tablicowych (E1, E2, E3, E4)


Student jest oceniany na podstawie punktów uzyskiwanych z samodzielnie implementowanych programów, zadań tablicowych, kolokwiów i egzaminu.

Skalę ocen ustala wykładowca.


Metody dydaktyczne - słownik:

Metody podające - prezentacja multimedialna
Metody podające - wykład informacyjny
Metody praktyczne - ćwiczenia laboratoryjne
Metody praktyczne - ćwiczenia przedmiotowe

Metody dydaktyczne:

1. Wykład ilustrowany prezentacją komputerową.

2. Ćwiczenia w laboratorium komputerowym, połączone z dyskusją przy tablicy.

3. Samodzielna implementacja zadań programistycznych


Bilans punktów ECTS:

Udział w wykładach - 30 godz.

Udział w zajęciach laboratoryjnych – 30 godz.

Samodzielna implementacja zadań programistycznych – 60 godz.

Samodzielne rozwiązywanie zadań tablicowych– 30 godz.

Przygotowanie do kolokwiów i egzaminu oraz obecność na egzaminie – 30 godz.

Łączny nakład pracy studenta: 180 godzin , co odpowiada 6 punktom ECTS


Sylabus przedmiotu dla studentów rozpoczynających studia od roku akademickiego 19/20 lub później:

Matematyka komputerowa, studia stacjonarne pierwszego stopnia, rok 2
Matematyka komputerowa, studia stacjonarne drugiego stopnia, rok 1
Matematyka komputerowa, studia stacjonarne drugiego stopnia, rok 2
Matematyka komputerowa, studia stacjonarne pierwszego stopnia, rok 3
Informatyka, studia stacjonarne drugiego stopnia, rok 2

Pełny opis:

I. Teoretyczne podstawy programowania w logice

1. Teorie pierwszego rzędu. Język i formuły logiki pierwszego rzędu.

2. Programy w języku logiki. Interpretacja klauzul programu.

3. Klauzule Horna. Programy dysjunkcyjne.

4. Podstawienia. Algorytm uzgadniania. Twierdzenie o uzgadnianiu.

5. Metody dowodzenia twierdzeń dla programów w logice. SLD-rezolucja: mechanizm wprowadzania, mechanizm uzgadniania.

6. Porównanie semantyki operacyjnej i deklaratywnej programów w logice. Interpretacje i modele Herbranda.

7. Negacja w programach w logice. Wprowadzanie literałów negatywnych. Reguły wnioskowania.

8. Sterowanie w programach w logice. Kolejność atomów, kolejność klauzul, odcięcie. Odcięcie w programach z negacją.

II. Programowanie w Prologu

1. Programowanie deklaratywne a programowanie imperatywne.

2. Składnia języka

3. Mechanizm przeszukiwania i nawracania

4. Mechanizmy sterowania: odcięcia

5. Reprezentacje struktur danych: listy, drzewa binarne, drzewa BST, grafy, kolejki.

6. Techniki wykorzystujące akumulator

7. Arytmetyka w Prologu

8. Wejście i wyjście w Prologu

9. Metaprogramowanie

9. Systemy ekspertowe w prologu

Literatura:

Moduł ma charakter autorski, obowiązuje przede wszystkim materiał wyłożony, literatura ma charakter pomocniczy.

1. U. Nilsson, J. Małuszyński, "Logic, Programming and Prolog", 2 wyd., John Wiley, 1995.

2. L. Sterling, E. Shapiro, "The Art of Prolog", 2 wyd., MIT, 1994.

3. W. F. Clocksin, C.S.Mellish, Programming in Prolog, 5 wyd. Springer, 2003

4. T. Smith, Artificial Intelligence Programming in Prolog http://www.inf.ed.ac.uk/teaching/courses/aipp/material/aipp_coursenotes.pdf

5. M. Spivey, An introduction to logic programming through Prolog,

http://spivey.oriel.ox.ac.uk/wiki/resources/lp/logic.pdf

6. P. Ross, Advanced Prolog. Techniques and Examples, Addison-Wesley, 1989

7. R. A. O'Keefe, The Craft of Prolog, MIT Press, 1990

8. M. Bramer, Logic Programming with Prolog, Springer 2005

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Jagielloński w Krakowie.
ul. Gołębia 24, 31-007 Kraków https://www.uj.edu.pl kontakt deklaracja dostępności USOSweb 7.0.3.0 usosweb12b