Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:pp:start [2018/03/15 18:18]
ligeza [Edycja 2018 (3h/week)]
pl:dydaktyka:pp:start [2023/11/24 16:28] (aktualna)
ligeza [Logic Programming 2023/2024-winter]
Linia 1: Linia 1:
-====== ​Paradygmaty Programowania ​======+====== ​Logic Programming 2023/​2024-winter ​======
  
 +  - **Introduction to Logic Programming. Syllabus. Terms, Predicates, Clauses. Basic Examples.** [2.10.2023;​ali] ​
 +  - **Introduction to Prolog. 3 Core Mechanisms: Unification,​ Resolution, DFS Backtracking Search. Examples. Numbers generation. SEND+MORE=MONEY** [16.10.2023;​ali]
 +  - **<fc #​ff00ff>​E-Learning:​ 30.10.2023:</​fc>​** ​ **Prolog: Lists and Data Structures** [[https://​www.metalevel.at/​prolog|Chapters 0,1,2,3 and especially 4]] Also lectures Prolog-3 and Prolog-4 on lists (links below) ​ [30.10.2023;​ali]
 +  - **Prolog: Lists as Data Structures. Basic Operations on Lists. Advanced Operations on Lists. Recursion vs. Iteration.** [13.11.2023;​ali]
 +  - **Knowledge Engineering with Prolog. Meta-Programming in Prolog. Example Applications.** [27.11.2023;​ali]
 +
 +
 +----
 +
 +[[https://​www.metalevel.at/​prolog|The Power of Prolog]]
 +
 +
 +
 +
 +
 +====== Programowanie Logiczne ======
 +
 +
 +
 +==== Programowanie w języku Prolog - wykłady 2020/2021 ====
 +
 +
 +
 +Wykłady odbywają się we wtorki, 14:40-16:10 na UPEL/​Moodle:​ [[https://​upel2.cel.agh.edu.pl/​wiet/​course/​view.php?​id=1239 | Programowanie w języku Prolog 2021]]
 +
 +  - **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** [2.03.2021; ALi]
 +  - **Składnia Prologu. Termy i ich rola. Termy a listy. Obliczenia numeryczne w Prologu. Silnia. Rozmiana pieniędzy: rekurencja a iteracje. Mechanizm DFS z nawrotami. Przykład liczby.pl/​różne warianty. Wymuszanie nawrotów: fail. Predykat odcięcia - cut.  Warianty rozwiązania:​ SEND+MORE=MONEY.** ​  ​[9.03.2021;​ Ali]
 +  - E-Learning [16.03.2021]
 +  - **Prolog: kontynuacja przykładów. Prolog: składnia i semantyka. Termy. Generacja termów: huge_tree. Unifikacja. Algorytm unifikacji termów. Podstawy logiczne Prologu: fakty, klauzule Horna, rezolucja, strategia SLD. Struktury listowe - wprowadzenie. 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.** [23.03.2021;​ ALi] 
 +  - **Listy: Przykład: (Bridge and Torch). Pobieranie i wstawianie elementu do listy. Mechanizmy obliczeniowe:​ rekurencja, iteracja, nawroty. Struktury listowe: operacje na zbiorach i sekwencjach. Wybrane operacje na listach: 1-N, N-1, sumowanie, odwracanie; mechanizm akumulatora. Przykłady zaawansowanych definicji/​zadania ze str. 14, wykład 3.**  [30.03.2021;​ ALi]
 +  - **Struktury listowe. Operacje na zbiorach - realizacja. Sortowanie. Zaawansowane operacje na listach; przykłady zadań i ich rozwiązań. ​ Listy-Tricks. Rekurencja a iteracje; pętle z fail. Pamięć globalna: assert/​retract.** [13.04.2021;​ ALi]
 +  -  **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.** ​ [20.04.2021;​ ALi]
 +  - **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, GNU Prolog. MiniZinc; Numberjack. ASP. Picat. Problog. Logica (Google).** [27.04.2021.04.2021;​ ALi]
  
-====== PROLOG - wykład: Plan i realizacja ====== 
  
  
 ---- ----
 +Materiały do pobrania:
  
-===== Edycja 2018 (3h/​week)=====+  * {{ :​pl:​dydaktyka:​pp:​prolog_1_2021.pdf |Prolog-1: Syntax, Variables, Terms, Clauses}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog_2021-2.pdf |Prolog-2: Substitutions and Unification}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog_2021_3.pdf |Prolog-3: Lists in Prolog}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog_2021_4.pdf |Prolog-4: Lists: Advanced Operations}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog_2021-5.pdf |Prolog-5: Knowledge Representation. Metapredicates. Not, cut, fail.}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog_2021_6.pdf |Prolog-6: Metaprogramming. Example Applications.}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog-10-examples-2021.zip | Przykłady do wykładu 1}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog-11-20-examples-2021.zip |Przykłady do wykładu 2}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog-lists-2021.zip |Przykłady do wykładu 3}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog-lists-advanced-2021.zip |Przykłady do wykładu 4}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog-esst-examples.zip |A Set of Examples: Essential Thinking}} 
 +  * {{ :​pl:​dydaktyka:​pp:​python-prolog.zip |Prolog vs. Python by few examples}} 
 +  * {{ :​pl:​dydaktyka:​pp:​prolog.zip |Yet another examples in Prolog - 2021}} 
 + 
 +---- 
 +  * 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]] 
 +  * [[http://​www.pathwayslms.com/​swipltuts/​html/​|Web Applications in SWI-Prolog: A Tutorial]] 
 + 
 + 
 + 
 +---- 
 +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]] 
 +  * B-Prolog + Constraints [[http://​www.picat-lang.org/​bprolog/​|B-Prolog]] 
 +  * GNU Prolog + Constraints [[http://​www.gprolog.org/​|GNU Prolog]] 
 +  *  The ECLiPSe Constraint Programming System [[http://​www.eclipseclp.org/​|ECLiPSe]] 
 +  * <fc #​ff00ff>​New:​ Picat</​fc>​ [[http://​www.picat-lang.org/​|Picat]] 
 +  * SWI-Prolog - Packages + clp(fd) [[http://​www.swi-prolog.org/​|SWI-Prolog]] 
 +  * <fc #​ff00ff>​New:​ Problog</​fc>​ [[https://​dtai.cs.kuleuven.be/​problog/​|Problog]] 
 +  * <fc #​9400d3>​New:​ Logica - Open Source Project (by Google)</​fc>:​ [[https://​opensource.googleblog.com/​2021/​04/​logica-organizing-your-data-queries.html]] 
 +  * <fc #​9400d3>​New:​ Logica - Modern Logic Programming Language </fc> [[https://​logica.dev/​]] 
 + 
 +Inne - do uzgodnienia. 
 + 
 +__Selected links:__ 
 + 
 +  * Prolog [[https://​en.wikipedia.org/​wiki/​Prolog|Prolog]] 
 +  * Prolog - Wikibooks: [[https://​en.wikibooks.org/​wiki/​Prolog|Prolog]] 
 +  * Prolog - Books: [[http://​freecomputerbooks.com/​langPrologBooks.html|Free Books on Prolog]] 
 +---- 
 + 
 +__Useful pages: courses + tutorials + examples:​__ 
 + 
 +  * [[https://​ktiml.mff.cuni.cz/​~bartak/​|Page of Roman Barták]] 
 +  * [[http://​hakank.org/​|The famous Hakank Page]] 
 +  * New: [[https://​www.coursera.org/​projects/​prolog-for-beginners-fhqrd|Coursera:​ Prolog-for-beginners]] 
 +  * <fc #​ff00ff>​New:</​fc>​ [[https://​www.metalevel.at/​prolog|The Power of Prolog -  by Markus Triska (2005-2021)]] <fc #​ff00ff>​With numerous great live presentations on youtube! 
 + 
 +</​fc>​ 
 + 
 + 
 + 
 + 
 +===== WYKŁADY: Programowanie w Logice (Prolog) ===== 
 + 
 + 
 +==== Programowanie w Logice: ​Edycja ​2019  (zima; 2h/​week)==== 
 + 
 +Wykłady odbywają się we wtorki, 9:30-11:00, sala 224/C-2. 
 + 
 +  - **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] 
 +  - **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] 
 +  - **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]  
 +  - **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] 
 +  - **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] 
 +  -  **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] 
 +  - **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]] 
 +  * [[http://​www.pathwayslms.com/​swipltuts/​html/​|Web Applications in SWI-Prolog: A Tutorial]] 
 + 
 + 
 + 
 +---- 
 +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]] 
 +  * B-Prolog + Constraints [[http://​www.picat-lang.org/​bprolog/​|B-Prolog]] 
 +  * GNU Prolog + Constraints [[http://​www.gprolog.org/​|GNU Prolog]] 
 +  *  The ECLiPSe Constraint Programming System [[http://​www.eclipseclp.org/​|ECLiPSe]] 
 +  * Picat [[http://​www.picat-lang.org/​|Picat]] 
 +  * SWI-Prolog - Packages + clp(fd) [[http://​www.swi-prolog.org/​|SWI-Prolog]] 
 +  * Problog [[https://​dtai.cs.kuleuven.be/​problog/​|Problog]] 
 + 
 +Inne - do uzgodnienia. 
 + 
 +__Selected links:__ 
 + 
 +  * Prolog [[https://​en.wikipedia.org/​wiki/​Prolog|Prolog]] 
 +  * Prolog - Wikibooks: [[https://​en.wikibooks.org/​wiki/​Prolog|Prolog]] 
 +  * Prolog - Books: [[http://​freecomputerbooks.com/​langPrologBooks.html|Free Books on Prolog]] 
 +---- 
 + 
 +__Useful pages: courses + tutorials + examples:​__ 
 + 
 +  * [[https://​ktiml.mff.cuni.cz/​~bartak/​|Page of Roman Barták]] 
 +  * [[http://​hakank.org/​|The famous Hakank Page]] 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +==== Programowanie w Logice: Edycja 2018  (zima; ​3h/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** [5.10.2018; ALi] 
 +  - **Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. Struktury listowe. Konstrukcja,​ rola i obsługa list. Predykaty member/2, select/3 i append/2.** [12.10.2018;​ ALi]  
 +  - **Wykład w dn. 19.10.2018 nie odbędzie się** [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.** [26.10.2018;​ 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.** [9.11.2018; ALi]  
 +  -  <fc #​ff0000>​Njabliższy wykład - już ostatni :</​fc>​ <fc #​ff00ff>​Prolog:​ reprezentacja i przetwarzanie wiedzy. Metaprogramowanie. Programowanie z ograniczeniami (Constraint Programming). Biblioteka clpfd. </fc> [16.11.2018;​ ALi] <fc #008080> Prezentacja specjalna: deklaratywny język programowania z ograniczeniami [[http://​www.picat-lang.org/​|Picat]]</​fc>​ 
 +  - 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] 
 +  - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|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]] 
 +  * [[http://​www.pathwayslms.com/​swipltuts/​html/​|Web Applications in SWI-Prolog: A Tutorial]] 
 + 
 + 
 + 
 +---- 
 +Propozycje prezentacji do przygotowania w ramach samodzielnej aktywności:​ 
 + 
 +  * Answer Set Programming (ASP) [[https://​potassco.org/​|Potassco ASP]] 
 +  * B-Prolog + Constraints [[http://​www.picat-lang.org/​bprolog/​|B-Prolog]] 
 +  * GNU Prolog + Constraints [[http://​www.gprolog.org/​|GNU Prolog]] 
 +  * Picat [[http://​www.picat-lang.org/​|Picat]] 
 +  * SWI-Prolog - Packages + clp(fd) [[http://​www.swi-prolog.org/​|SWI-Prolog]] 
 +  * Problog [[https://​dtai.cs.kuleuven.be/​problog/​|Problog]] 
 + 
 +Inne - do uzgodnienia. 
 + 
 +__Selected links:__ 
 + 
 +  * Prolog [[https://​en.wikipedia.org/​wiki/​Prolog|Prolog]] 
 +  * Prolog - Wikibooks: [[https://​en.wikibooks.org/​wiki/​Prolog|Prolog]] 
 +  * Prolog - Books: [[http://​freecomputerbooks.com/​langPrologBooks.html|Free Books on Prolog]] 
 +---- 
 + 
 +__Useful pages: courses + tutorials + examples:​__ 
 + 
 +  * [[https://​ktiml.mff.cuni.cz/​~bartak/​|Page of Roman Barták]] 
 +  * [[http://​hakank.org/​|The famous Hakank Page]] 
 + 
 + 
 + 
 +==== Edycja 2018 (3h/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.03.2018; 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.03.2018; ALi]
   - **E-learning:​ Read:  {{:​pl:​dydaktyka:​pp:​prolog-syntax-terms.pdf|Prolog-syntax-terms}}** [8.03.2018; ALi]. Przeanalizuj działanie programów z wykładu: {{ :​pl:​dydaktyka:​pp:​prolog-simple-programs-1.tar.gz |}}. Jak "​usprawnić"​ SEND+MORE=MONEY? ​   - **E-learning:​ Read:  {{:​pl:​dydaktyka:​pp:​prolog-syntax-terms.pdf|Prolog-syntax-terms}}** [8.03.2018; ALi]. Przeanalizuj działanie programów z wykładu: {{ :​pl:​dydaktyka:​pp:​prolog-simple-programs-1.tar.gz |}}. Jak "​usprawnić"​ SEND+MORE=MONEY? ​
   - **Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. Struktury listowe. Konstrukcja,​ rola i obsługa list. Predykaty member/2, select/3 i append/2.** [15.03.2018;​ ALi]    - **Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. Struktury listowe. Konstrukcja,​ rola i obsługa list. Predykaty member/2, select/3 i append/2.** [15.03.2018;​ ALi] 
-  - Prolog: Struktury listowe. Sortowanie. Operacje zaawansowane. Rekurencja a iteracje. Metapredykaty operacji na listach. +  - **Prolog: Struktury listowe. Sortowanie. Operacje zaawansowane. Rekurencja a iteracje. Metapredykaty operacji na listach.** [22.03.2018;​ ALi] 
-  - Zaawansowane definicje operacji na listach. Prolog: reprezentacja i przetwarzanie wiedzy. Metaprogramowanie. +  - E-learning: Zadania do rozwiązania - z wykładu [Prolog-lists:​ str. 14]. [29.03.2018;​ ALi] 
-  - Promowanie ​deklaratywne a proceduralne. Prolog a Python - porównanie wybranych konstrukcji. ASP. Problog. Picat. [30.03.2017; ALi]+  - E-learning: [5.04.2018; ALi] Materiał do samodzielnego studiowania:​ [[https://​ktiml.mff.cuni.cz/​~bartak/​guides.html|On-line Guide to Prolog Programming by Roman Bartak]]; polecam materiał dotyczący operacji na listach. Ponadto: [[https://​sites.google.com/​site/​prologsite/​prolog-problems|Prolog 99]]; enjoy :-D 
 +  - **Zaawansowane definicje operacji na listach. Prolog: reprezentacja i przetwarzanie wiedzy. Metaprogramowanie.** [12.04.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.** [19.04.2018; ALi]
   - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|Prolog]]   - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|Prolog]]
-  - Wprowadzenie do języka Haskell. ​i dalej...+  - Wprowadzenie do języka Haskell. ​[26.04.2018; PTM]
  
 ---- ----
  
-===== Edycja 2017 (3h/week)=====+==== Edycja 2017 (3h/​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** [2.03.2017; 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** [2.03.2017; ALi]
Linia 29: Linia 235:
   - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|Prolog]]   - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|Prolog]]
   - Wprowadzenie do języka Haskell. i dalej...   - Wprowadzenie do języka Haskell. i dalej...
- 
----- 
- 
  
  
Linia 44: Linia 247:
   - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|Prolog]]   - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|Prolog]]
   - Haskell [14.04.2016] i dalej...   - Haskell [14.04.2016] i dalej...
- 
----- 
  
  
-=== Edycja 2015 (3h/​week)===+==== Edycja 2015 (3h/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. Termy. ** [5.03.2015]   - **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. Termy. ** [5.03.2015]
Linia 57: Linia 258:
  
  
-=== Edycja 2014 (3h/​week)===+==== Edycja 2014 (3h/week)====
  
   - **Paradygmaty programowania:​ klasyfikacje języków programowania. Programowanie logiczne: Prolog. Intuicyjne przedstawienie Prologu. ** [6.03.2014]   - **Paradygmaty programowania:​ klasyfikacje języków programowania. Programowanie logiczne: Prolog. Intuicyjne przedstawienie Prologu. ** [6.03.2014]
Linia 66: Linia 267:
  
  
----- 
  
-==== Materiały do Prologu ​====+===== LABORATORIUM =====
  
-[[pl:​prolog:​start|Kurs z Prologu]]+==== Prolog ==== 
 + 
 +**[[pl:​prolog:​start|Kurs z Prologu]]**
  
  
 ---- ----
- 
- 
  
   - {{:​pl:​dydaktyka:​pp:​prolog-syntax-terms.pdf|Prolog-syntax-terms}}   - {{:​pl:​dydaktyka:​pp:​prolog-syntax-terms.pdf|Prolog-syntax-terms}}
Linia 82: Linia 282:
   - {{:​pl:​dydaktyka:​pp:​prolog-lists-advanced.pdf|Prolog-lists-advanced}}   - {{:​pl:​dydaktyka:​pp:​prolog-lists-advanced.pdf|Prolog-lists-advanced}}
  
 +==== Haskell ====
  
 +  * [[http://​home.agh.edu.pl/​~mwypych/​doku.php?​id=letni:​hs4javadev|Java vs Haskell]]
 +  * [[http://​learnyouahaskell.com/​chapters|Learn You a Haskell for Great Good!]] (podręcznik online)
  
-----+LABORATORIA:​ 
 + 
 +  ​[[.haskell:​lab-intro|Wprowadzenie do Haskella]] 
 +  ​[[.haskell:​lab-simple-funcs|Funkcje i listy]] 
 +  - [[.haskell:​lab-more-funcs|Więcej funkcji]] 
 +  - [[.haskell:​lab-monads-types|Typy i Monady]] 
 +  - [[.haskell:​lab-io|Haskell IO]] 
 +  - [[.haskell:​lab-hunit|HUnit]]
  
 +Instrukcje opracowano na podstawie: [[http://​learnyouahaskell.com/​chapters|podręcznika]],​ [[https://​courses.edx.org/​courses/​course-v1:​DelftX+FP101x+3T2015/​course/​|kursu na edX]], [[https://​www.futurelearn.com/​courses/​functional-programming-haskell/​|kursu na FutureLearn]],​ [[https://​www.hackerrank.com/​domains/​fp|zadań z HackerRank]]
pl/dydaktyka/pp/start.1521134313.txt.gz · ostatnio zmienione: 2019/06/27 15:54 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0