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/24 10:26]
ligeza [Edycja 2018 (3h/week)]
pl:dydaktyka:pp:start [2018/11/15 16:34] (aktualna)
ligeza [Programowanie w Logice: Edycja 2018 (zima; 3h/week)]
Linia 2: Linia 2:
  
  
-====== PROLOG - wykładPlan i realizacja ======+===== WYKŁADYProgramowanie w Logice (Prolog) ​=====
  
 +
 +==== 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]]
  
 ---- ----
 +  * [[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)=====+==== 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]
Linia 18: Linia 59:
   - **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]   - **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 31: Linia 72:
   - 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 46: Linia 84:
   - 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 59: Linia 95:
  
  
-=== 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 68: Linia 104:
  
  
----- 
  
-==== 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 84: Linia 119:
   - {{:​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.1521887198.txt.gz · ostatnio zmienione: 2018/03/24 10:26 przez ligeza
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