[[
✎ pl:dydaktyka:pp:start
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Paradygmaty Programowania ====== ===== WYKŁADY: Programowanie 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] - <fc #ff0000>Następny wykład:</fc> <fc #ff00ff>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. </fc> [9.11.2018; ALi] <fc #008080>Kto chciałby przygotować prezentację na 16.11.2018 - zapraszam do zgłaszania tematu na tym wykładzie (przed lub w przerwie).</fc> - Prolog: reprezentacja i przetwarzanie wiedzy. Metaprogramowanie. Programowanie z ograniczeniami (Constraint Programming). Biblioteka clpfd. [16.11.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] - 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)==== - **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? - **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.** [22.03.2018; ALi] - E-learning: Zadania do rozwiązania - z wykładu [Prolog-lists: str. 14]. [29.03.2018; 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]] - Wprowadzenie do języka Haskell. [26.04.2018; PTM] ---- ==== 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] - **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.** [9.03.2017; ALi] - **Prolog: Struktury listowe. Sortowanie. Operacje zaawansowane. Rekurencja a iteracje. Metapredykaty operacji na listach.** [16.03.2017; ALi] - **Zaawansowane definicje operacji na listach. Prolog: reprezentacja i przetwarzanie wiedzy. Metaprogramowanie.** [23.03.2017; ALi] - **Wprowadzenie do języka Python. Prolog a Python - porównanie wybranych konstrukcji. ASP. Problog. Picat.** [30.03.2017; ALi] - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] [[http://kti.mff.cuni.cz/~bartak/prolog/contents.html|Prolog]] - Wprowadzenie do języka Haskell. i dalej... ==== Edycja 2016 (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. ** [26.02.2016; 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.** [4.03.2016; ALi] - **Prolog: Struktury listowe. Sortowanie. Operacje zaawansowane. Metapredykaty operacji na listach.** [11.03.2016; ALi] - **Wprowadzenie do języka Haskell.** [18.03.2016; PTM] - **Prolog: reprezentacja i przetwarzanie wiedzy. Metaprogramowanie.** [31.03.2016; ALi] - **Wprowadzenie do języka Python.** [7.04.2016; ALi] - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] [[http://kti.mff.cuni.cz/~bartak/prolog/contents.html|Prolog]] - Haskell [14.04.2016] i dalej... ==== 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] - **E-Learning: Prolog: programowanie deklaratywne. ** [12.03.2015] [[http://kti.mff.cuni.cz/~bartak/prolog/contents.html|Data Structures + Lists]] (Do przerobienia: //First Steps in Prolog// oraz //Prolog Data Structures: List Processing//). - Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. - Prolog: struktury listowe. Konstrukcja, rola i obsługa list. Predykaty member/2, select/3 i append/2. - Prolog: wybrane zagadnienia zaawansowane. ==== Edycja 2014 (3h/week)==== - **Paradygmaty programowania: klasyfikacje języków programowania. Programowanie logiczne: Prolog. Intuicyjne przedstawienie Prologu. ** [6.03.2014] - **Prolog: programowanie deklaratywne. Model obliczeniowy: implementacja DFS, nawroty, //backtracking//. Indeterminizm. Zmienne i ich rola. ** [13.03.2014] - **Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. ** [20.03.2014] - **Prolog: struktury listowe. Konstrukcja, rola i obsługa list. Predykaty member/2, select/3 i append/2. **[27.03.2014] - **E-learning: Prolog: wybrane zagadnienia zaawansowane.** [3.04.2014] [[http://kti.mff.cuni.cz/~bartak/prolog/contents.html|Data Structures + Lists]] (Do przerobienia: //First Steps in Prolog// oraz //Prolog Data Structures: List Processing//). ===== LABORATORIUM ===== ==== Prolog ==== **[[pl:prolog:start|Kurs z Prologu]]** ---- - {{:pl:dydaktyka:pp:prolog-syntax-terms.pdf|Prolog-syntax-terms}} - {{:pl:dydaktyka:pp:prolog-substitutions-unification.pdf|Prolog-substitutions-unification}} - {{:pl:dydaktyka:pp:prolog-lists.pdf|Prolog-lists}} - {{: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.1541688260.txt.gz
· ostatnio zmienione: 2019/06/27 15:54 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry