====== Lectures ====== ^ Date ^ Title ^ Content ^ |Feb 19 (21)| 1. Intro | {{ :courses:fup:lectures:lecture1_2019.pdf |Slides}} {{ :courses:fup:lectures:lecture1log.txt |Log}}| |Feb 26 (28)| 2. Lambda abstraction | {{ :courses:fup:lectures:lecture2_2019.pdf |Slides}} {{ :courses:fup:lectures:lecture2log.txt |Log}}| |Mar 5 (7)| 3. Higher order functions | {{ :courses:fup:lectures:lecture3.pdf |Slides}}{{ :courses:fup:lectures:lecture3log.txt |Log}} | |Mar 12 (14)| 4. Closures and lazy evaluation | {{ :courses:fup:lectures:lecture4.pdf |Slides}}{{ :courses:fup:lectures:benwood-racket-lexical-closures_subset.pdf |Ben Wood's slides}}{{ :courses:fup:lectures:lecture4log.txt |Log}} | |Mar 19 (21)| 5. Imperative aspects of Scheme| {{ :courses:fup:lectures:lecture5_2019.pdf | Slides}} {{ :courses:fup:lectures:lecture5log.txt |Log}} | |Mar 26 (28)| 6. Imperative Scheme and paralellism| {{ :courses:fup:lectures:lecture6_2019.pdf | Slides}} {{ :courses:fup:lectures:lecture6log.txt |Log}} | |Apr 2 (4)| 7. Lambda calculus|{{ :courses:fup:lectures:lecture7.pdf | Slides}} [[https://arxiv.org/abs/1503.09060 | Reading ]] | |Apr 9 (11)| 8. Introduction to Haskell| {{ :courses:fup:lectures:lecture8_2019.pdf |Slides}}{{ :courses:fup:lectures:lecture8log.txt |Log}} | |Apr 16 (18)| 9. Haskell types |{{ :courses:fup:lectures:lecture9_2019.pdf |Slides}}{{ :courses:fup:lectures:lecture9log.txt |Log}} | |Apr 23 (25)| 10. Other Haskell Language Features | {{ :courses:fup:lectures:lecture10_2019.pdf |Slides}}{{ :courses:fup:lectures:lecture10_2019log.txt |Log}} | |Apr 30 (2)| 11. Haskell IO | {{ :courses:fup:lectures:lecture11_2019.pdf |Slides}} {{ :courses:fup:lectures:lecture11log2.txt |Log}} {{ :courses:fup:lectures:hangman2.txt |Hangman}}| |May 7 (16)| 12. Haskell monads | {{ :courses:fup:lectures:lecture12_2019.pdf | Slides}} {{ :courses:fup:lectures:lecture12log.txt | Log}} {{ :courses:fup:lectures:listmonad.txt |listMonad}} {{ :courses:fup:lectures:expr.txt | expr}} {{ :courses:fup:lectures:lasse_eval.hs.txt |}} {{ :courses:fup:lectures:lasse_l12.hs.txt |}}| |May 21 (23)| 13. FP in the Real World | {{ :courses:fup:lectures:fpp.pdf |}} {{ :courses:fup:lectures:fppatavast.pdf |}} [[https://github.com/sideeffffect/haskell-json-service|Demo]] | /* |Feb 27 (Mar 1)| 2. Lambda abstraction |{{ :courses:fup:lectures:lecture2.pdf |Slides}} {{ :courses:fup:lectures:lecture2log.txt |Log}} | |Mar 6 (8)| 3. Higher order functions |{{ :courses:fup:lectures:lecture3.pdf |Slides}}{{ :courses:fup:lectures:lecture3log.txt |Log}} | |Mar 13 (15)| 4. Closures and lazy evaluation |{{ :courses:fup:lectures:lecture4.pdf |Slides}}{{ :courses:fup:lectures:benwood-racket-lexical-closures_subset.pdf |Ben Wood's slides}}{{ :courses:fup:lectures:lecture4log.txt |Log}} | |Mar 20 (22)| 5. Imperative aspects of Scheme|{{ :courses:fup:lectures:lecture5.pdf |Slides}}{{ :courses:fup:lectures:lecture5log.txt |Log}} | |Mar 27 (29)| 6. Imperative Scheme and paralellism|{{ :courses:fup:lectures:lecture6.pdf |Slides}}{{ :courses:fup:lectures:lecture6log.txt |Log}} | |Apr 3 (5)| 7. Lambda calculus|{{ :courses:fup:lectures:lecture7.pdf | Slides}} [[https://arxiv.org/abs/1503.09060 | Reading ]]| |Apr 10 (12)| 8. Introduction to Haskell|{{ :courses:fup:lectures:lecture8.pdf |Slides}}{{ :courses:fup:lectures:lecture8log.txt |Log}}| |Apr 17 (19)| 9. Haskell types |{{ :courses:fup:lectures:lecture9.pdf|Slides}} {{ :courses:fup:lectures:lecture9log.txt |Log}}| |Apr 24 (26)| 10. Other Haskell Language Features | {{ :courses:fup:lectures:lecture10.pdf |Slides}} {{ :courses:fup:lectures:lecture10log.txt |Log}} | |May 3 (15)| 11. Haskell IO | {{ :courses:fup:lectures:lecture11.pdf |Slides}} {{ :courses:fup:lectures:lecture11log2.txt |Log}} {{ :courses:fup:lectures:hangman2.txt |Hangman}}| |May 10 (17)| 12. Haskell monads | {{ :courses:fup:lectures:lecture12.pdf |Slides}} {{ :courses:fup:lectures:lecture12log.txt | Log}} {{ :courses:fup:lectures:listmonad.txt |listMonad}} {{ :courses:fup:lectures:expr.txt | expr}}| |May 21 (24)| 13. FP in the Real World | {{ :courses:fup:lectures:lecture13.pdf | Slides }} [[http://scalacamp.pl/data/haskell-scala-handout.pdf | Scala ]] [[http://www.cse.chalmers.se/edu/course/pfp/Material/MapReduce/slides.pdf | Map Reduce]] [[ https://docs.gimp.org/en/gimp-using-script-fu-tutorial-script.html | Gimp ]] | */ ====== Other resources ====== [1] R. Kent Dybvig: The Scheme Programming Language, Fourth Edition, MIT Press, 2009. https://www.scheme.com/tspl4/ [2] Greg Michaelson: An Introduction to Functional Programming Through Lambda Calculus, Dover edition, 2011. [3] Harold Abelson and Gerald Jay Sussman and Julie Sussman: Structure and Interpretation of Computer Programs, MIT Press, 1996. https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html Lexical scopes: https://docs.racket-lang.org/guide/eval.html Lazy evaluation: https://sites.ualberta.ca/~jhoover/325/CourseNotes/section/Scheme_3.htm Streams: https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html Side effects in scheme: https://courses.cs.washington.edu/courses/cse341/05au/lectures/scheme-side-effects.html "Objects" in scheme: http://sarabander.github.io/sicp/html/3_002e1.xhtml