Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:pp:start [2019/10/04 13:26] ligeza [Programowanie w Logice: Edycja 2019 (zima; 2h/week)] |
pl:dydaktyka:pp:start [2019/11/20 13:05] (aktualna) ligeza [Programowanie w Logice: Edycja 2019 (zima; 2h/week)] |
| |
- **Paradygmaty programowania: klasyfikacje języków programowania. Języki proceduralne a deklaratywne. Programowanie logiczne: Prolog. Intuicyjne przedstawienie Prologu. Składnia Prologu. Model obliczeniowy: implementacja DFS, nawroty, //backtracking//. Indeterminizm. Zmienne i ich rola. 10 prostych przykładów** [1.10.2019; ALi] | - **Paradygmaty programowania: klasyfikacje języków programowania. Języki proceduralne a deklaratywne. Programowanie logiczne: Prolog. Intuicyjne przedstawienie Prologu. Składnia Prologu. Model obliczeniowy: implementacja DFS, nawroty, //backtracking//. Indeterminizm. Zmienne i ich rola. 10 prostych przykładów** [1.10.2019; ALi] |
- **<fc #008080>Prolog: kontynuacja przykładów. Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. Podstawy logiczne Prologu: fakty, klauzule Horna, rezolucja.Struktury listowe - wprowadzenie. Konstrukcja, rola i obsługa list. Predykaty member/2, select/3 i append/2</fc>.** [8.10.2019; ALi] | - **Obliczenia numeryczne w Prologu. Silnia. Mechanizm DFS z nawrotami. Przykład liczby.pl/warianty. Wymuszanie nawrotów: fail. Pamięć globalna: assert/retract. Wprowazdzenie do termów. Zmienne i ich rola oraz interpretacja/uzytkowanie.** [8.10.2019; Ali] |
- Struktury listowe. Termy a listy. Konstrukcja, rola i obsługa list. Predykaty member/2, select/3 i append/2. Interpretacja działania - drzewo wnioskowania, nawroty. Listy jako sekwencje, zbiory i zbiory z powtórzeniami. Wybrane operacje na listach. Przykłady zaawansowanych definicji/zadania. [8.10.2019; ALi] | - **Prolog: kontynuacja przykładów. Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. Podstawy logiczne Prologu: fakty, klauzule Horna, rezolucja. Struktury listowe - wprowadzenie.** [15.10.2019; ALi] |
- Prolog: Struktury listowe. Sortowanie. Zaawansowane operacje na listach; przykłady zadań i ich rozwiązań. Rekurencja a iteracje; pętle z fail. Metapredykaty operacji na listach. Wstęp do metaprogramowania. Przykłady metaprogramowania. [15.10.2018; ALi] | - **Algorytm unifikacji termów. Mechanizmy obliczeniowe: rekurencja, iteracja, nawroty. Struktury listowe. Termy a listy. Konstrukcja, rola i obsługa list. Predykaty member/2, select/3 i append/2. Interpretacja działania - drzewo wnioskowania, nawroty. Listy jako sekwencje, zbiory i zbiory z powtórzeniami. Wybrane operacje na listach. Przykłady zaawansowanych definicji/zadania.** [22.10.2019; ALi] |
- Prolog: reprezentacja i przetwarzanie wiedzy. Metaprogramowanie. Programowanie z ograniczeniami (Constraint Programming). Biblioteka clpfd. [22.10.2019; ALi] Prezentacja specjalna: deklaratywny język programowania z ograniczeniami [[http://www.picat-lang.org/|Picat]] | - **Struktury listowe. Bazowe definicje rekurencyjne. Sortowanie. Zaawansowane operacje na listach; przykłady zadań i ich rozwiązań (Bridge and Torch; Einstein). Listy-Tricks. Rekurencja a iteracje; pętle z fail.** [29.10.2018; ALi] |
- Programowanie deklaratywne a proceduralne. Prolog a Python - porównanie wybranych konstrukcji. Programowania z ograniczeniami (clp(fd)). ECLiPSe CLP. B-Prolog. Numberjack. ASP. Problog. Picat. [materiał fakultatywny] | - **Listy - operacje zaawansowane - dokończenie. Metapredykaty operacji na listach. Prolog: reprezentacja i przetwarzanie wiedzy. Sterowanie wnioskowaniem: negacja (not), cut i fail. Wstęp do metaprogramowania. Przykłady metaprogramowania.** [5.12.2019; ALi] |
- <fc #ff00ff>Kolokwium zaliczeniowe</fc>. E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] [[http://kti.mff.cuni.cz/~bartak/prolog/contents.html|Prolog]] | - **Metaprogramowanie. Reprezentacja i przetwarzanie wiedzy. Przykłady zastosowań. Programowanie deklaratywne a proceduralne; Prolog a Python - porównanie wybranych konstrukcji. Programowanie z ograniczeniami (Constraint Programming). Biblioteka clpfd. ECLiPSe CLP. B-Prolog. Numberjack. ASP.** [12.11.2019; ALi] |
| <fc #008080>Prezentacje specjalne:</fc> |
| * {{ :pl:dydaktyka:pp:picat.pdf |Picat}}, |
| * [[https://github.com/AdamKlekowski/prolog_Bayesian_networks|Problog]], |
| * {{ :pl:dydaktyka:pp:prologibmnotes.pdf |Watson - IBM}} |
| <fc #ff00ff>Kolokwium zaliczeniowe</fc>: termin do ustalenia. |
| |
| [[http://home.agh.edu.pl/~ligeza/wiki/|Materiały na mojej stronie www]]; zakładki: |
| * [[http://home.agh.edu.pl/~ligeza/wiki/prolog:intro|**Prolog**]] oraz |
| * [[http://home.agh.edu.pl/~ligeza/wiki/prolog:course|**New Course of Prolog**]] |
| |
| E-Learning/materiał uzupełniający: |
| |
| |
---- | ---- |
| <fc #9400d3>Przykłady z wykładów - do pobrania:</fc> {{ :pl:dydaktyka:pp:dydactic-2019.zip |Examples}} prezentacja i komentarze - na wykładzie. |
| |
| ---- |
| * Prolog: programowanie deklaratywne. [materiał fakultatywny] [[http://kti.mff.cuni.cz/~bartak/prolog/contents.html|Prolog]] |
* [[https://polydev.pl/2017/12/16/realne-zastosowania-jezyka-prolog/|Ciekawe zastosowania Prologu]] | * [[https://polydev.pl/2017/12/16/realne-zastosowania-jezyka-prolog/|Ciekawe zastosowania Prologu]] |
* [[http://www.pathwayslms.com/swipltuts/html/|Web Applications in SWI-Prolog: A Tutorial]] | * [[http://www.pathwayslms.com/swipltuts/html/|Web Applications in SWI-Prolog: A Tutorial]] |
| |
---- | ---- |
Propozycje prezentacji do przygotowania w ramach samodzielnej aktywności: | Inne - ciekawe materiały do studiowania w ramach samodzielnej aktywności: |
| * A Prolog interpreter in JavaScript [[http://tau-prolog.org/|Tau-Prolog]] |
* Answer Set Programming (ASP) [[https://potassco.org/|Potassco ASP]] | * Answer Set Programming (ASP) [[https://potassco.org/|Potassco ASP]] |
* B-Prolog + Constraints [[http://www.picat-lang.org/bprolog/|B-Prolog]] | * B-Prolog + Constraints [[http://www.picat-lang.org/bprolog/|B-Prolog]] |
| |
---- | ---- |
| * [[http://home.agh.edu.pl/~ligeza/wiki/|Homepage: A.Ligeza - Prolog x2 i inne]] |
* [[https://polydev.pl/2017/12/16/realne-zastosowania-jezyka-prolog/|Ciekawe zastosowania Prologu]] | * [[https://polydev.pl/2017/12/16/realne-zastosowania-jezyka-prolog/|Ciekawe zastosowania Prologu]] |
* [[http://www.pathwayslms.com/swipltuts/html/|Web Applications in SWI-Prolog: A Tutorial]] | * [[http://www.pathwayslms.com/swipltuts/html/|Web Applications in SWI-Prolog: A Tutorial]] |