Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
courses:fup:lectures:start [2020/05/26 10:53]
courses:fup:lectures:start [2024/02/13 21:12] (current)
heimnikl [Lectures]
Line 1: Line 1:
 +====== Lectures ======
  
 +^ Date ^ Title ^ Slides ^ Other ^ 
 +|Feb 21 (23)| 1. Introduction | [[https://​drive.google.com/​file/​d/​1e1aw5Mf5qts0DxLJFDZUWDbGlwI0hdeM/​view?​usp=drive_link|Slides]] | [[https://​drive.google.com/​file/​d/​1I3uoTART5UmWsWLRR_bYuNrzolTl2cO5/​view?​usp=share_link|Log]]|
 +
 +/*
 +|Feb 28 (Mar 2)| 2. Lists and trees | [[https://​drive.google.com/​file/​d/​1IXFuHHxQf7eXTuCNCcAYHsaCEivhg3GV/​view?​usp=share_link|Slides]] | [[https://​drive.google.com/​file/​d/​1IDuVo_v3MZlsDBBr3Z8LddKUrf1aZCAI/​view?​usp=share_link|Log]] |
 +|Mar 7 (9)| 3. Higher order functions | [[https://​drive.google.com/​file/​d/​1OzBJAsBwnQZr7RkGx0h3Jb4qy-Z3HavA/​view?​usp=sharing|Slides]]|[[https://​drive.google.com/​file/​d/​1IYS0znPmoypQXgc07lgQ8VB_N02i6x84/​view?​usp=share_link|Log]] |
 +|Mar 14 (16)| 4. Pattern matching and immutability |[[https://​drive.google.com/​file/​d/​1ZY2AVvNPCot57qER7uDE7ltV9qJZJk0K/​view?​usp=share_link|Slides]] | [[https://​drive.google.com/​file/​d/​1Knv08uCMwhSj80QnBsUcS7PSY5lcp6xS/​view?​usp=share_link|Log]] [[https://​drive.google.com/​file/​d/​1Ks-pKwE0obYrgfZcTdnnxDmGe4bRU2yV/​view?​usp=share_link|RA-Lists]]|
 +|Mar 21 (23)| 5. Streams and macros| [[https://​drive.google.com/​file/​d/​1e4t3LqTY9d-u1ZwgwJ0TH9tXm6KXwF4C/​view?​usp=share_link|Slides]] | [[https://​drive.google.com/​file/​d/​1UAresm3EyRWk7FrjqvZzXuppo5iwc0SW/​view?​usp=share_link|Log]]|
 +|Mar 28 (30)| 6. Mutable data and interpreters| [[https://​drive.google.com/​file/​d/​1jilYzpQ799q1rnUu-IIQt_PvBu8Bg5Xq/​view?​usp=share_link|Slides]] |[[https://​drive.google.com/​file/​d/​1epQDWXJvukOP0ioXhzEe8DrHZzCPrY_F/​view?​usp=share_link|Log]] [[https://​drive.google.com/​file/​d/​1tOoLV3a309ooXBvtSfJwHAtlSYhGLHBK/​view?​usp=share_link|Brainf*ck]]| ​
 +|Apr 4 (6)| 7. Lambda calculus| [[https://​drive.google.com/​file/​d/​1jwIDXhcFlJn_tCruWL4McuSMwvQz7CLI/​view?​usp=share_link|Slides]] | |
 +|Apr 11 (13)| 8. Introduction to Haskell | [[https://​drive.google.com/​file/​d/​1k-QVfp_0udHb_lc1pqv-8Ek6tYuwqh_e/​view?​usp=share_link|Slides]] |[[https://​drive.google.com/​file/​d/​1k39biz-izxxfGYEhNm3aS92VVtT3Lal1/​view?​usp=share_link|Log]] [[https://​drive.google.com/​file/​d/​1k2-z3_jvRn3sXuMykcCXY7bd7mRSq02a/​view?​usp=share_link|jarnik.hs]] [[https://​drive.google.com/​file/​d/​1k4e0aqv6LmNXk3vKON5tkKP96_DPNapl/​view?​usp=share_link|hie.yaml]]|
 +|Apr 18 (20)| 9. Haskell types | [[https://​drive.google.com/​file/​d/​1k5ZHweh1JAY08zLP0uT9kIK3sIhmEk87/​view?​usp=share_link|Slides]] | [[https://​drive.google.com/​file/​d/​1kanHkc8uvf1LTUrdRo5c-E-s18h4vbHi/​view?​usp=share_link|Log]] |
 +|Apr 25 (27)| 10. Type classes | [[https://​drive.google.com/​file/​d/​1lbXeKmmDN-sDpJvhLXUTrow-i0UuUxvQ/​view?​usp=share_link|Slides]] | [[https://​drive.google.com/​file/​d/​1li16dAsucVga4aSc52IE8VkFW9bD6YH7/​view?​usp=share_link|Log]] [[https://​drive.google.com/​file/​d/​1liDF4v_4VWiWJ5lZabDXEwtDYdfAlqoG/​view?​usp=share_link|Json.hs]]|
 +|May 2 (11)| 11. Monads and Haskell IO | [[https://​drive.google.com/​file/​d/​1ljQ0EvMrXKZO_1D1g4TIU1D8zNGuc41Y/​view?​usp=share_link|Slides]] | [[https://​drive.google.com/​file/​d/​1ltpDH4WXuw9d0UEWrZr3kEoIAJP23fo_/​view?​usp=share_link|Log]]|
 +|May 16 (18)| 12. Monadic parsing | [[https://​drive.google.com/​file/​d/​10Q_PR9JCzXxyFCkmsCpgaAQSK4h3OH5r/​view?​usp=sharing|Slides]] | [[https://​drive.google.com/​file/​d/​10dN63t99pI_Xu905WgeulX5Xvq459t-j/​view?​usp=sharing|Log]] [[https://​drive.google.com/​file/​d/​10gFqoy9qo-SMVQIDWL6ydqpXEqMSxS5y/​view?​usp=sharing|Parser.hs]]|
 +|May 23 (25)| 13. State monad |[[https://​drive.google.com/​file/​d/​1mT6ZXcImty3m8yuKpkKjaFudndOF4SXs/​view?​usp=share_link|Slides]] | [[https://​drive.google.com/​file/​d/​10sKy1mWNhTHHFOPC-gUgT3N-xPhhaiw1/​view?​usp=sharing|Log]] [[https://​drive.google.com/​file/​d/​10qS7Ruc03wi1Jeafxo6BhY_GfJXeBzIX/​view?​usp=sharing|State.hs]] [[https://​drive.google.com/​file/​d/​10zzr7mKQh7lzBDqGW0jR8WF_9FkWWmYr/​view?​usp=sharing|brainfuck.zip]] [[https://​drive.google.com/​file/​d/​11DT5VaoTGkqgCTGNK6fCty5x0xKcRxCf/​view?​usp=sharing|IOState.hs]] |
 +*/
 +
 +/*
 +[[https://​drive.google.com/​file/​d/​1tOoLV3a309ooXBvtSfJwHAtlSYhGLHBK/​view?​usp=sharing|brainfuck.rkt]]
 +
 +|May 10 (12)| 13. State monad | [[https://​drive.google.com/​file/​d/​10ixc02ea2kwZ848bjw3mZ7nwmTQCR7At/​view?​usp=sharing|Slides]] | [[https://​drive.google.com/​file/​d/​10sKy1mWNhTHHFOPC-gUgT3N-xPhhaiw1/​view?​usp=sharing|Log]] [[https://​drive.google.com/​file/​d/​10qS7Ruc03wi1Jeafxo6BhY_GfJXeBzIX/​view?​usp=sharing|State.hs]] [[https://​drive.google.com/​file/​d/​10zzr7mKQh7lzBDqGW0jR8WF_9FkWWmYr/​view?​usp=sharing|brainfuck.zip]] [[https://​drive.google.com/​file/​d/​11DT5VaoTGkqgCTGNK6fCty5x0xKcRxCf/​view?​usp=sharing|IOState.hs]]|
 +|May 17 (19)| 14. Monoids and Foldables | [[https://​drive.google.com/​file/​d/​11Ixuin_GfML8sXGkm8q2B8lOIP7eSGqr/​view?​usp=sharing|Slides]]| [[https://​drive.google.com/​file/​d/​11JDdu4w-8FA5Kh4j_v2_s4hiFNpKDChG/​view?​usp=sharing|Log]] [[https://​drive.google.com/​file/​d/​11KEollJ5KAcIgXA4hf4fRb9bA850oxG5/​view?​usp=sharing|FUP-hw.csv]]|
 +*/
 +
 +====== Lecture notes ======
 +
 +As we proceed through the lectures, I will try to write down lecture notes so that you have most of the course material in a single place. However, I am unsure if I will manage to be on time with them due to other obligations. The lecture notes are available at the following ​
 +[[https://​xhorcik.gitlab.io/​fup-lecture-notes/​|website]].
 +
 +====== Old recorded lectures ======
 +
 +Old recorded lectures from 2021 can be found [[https://​cw.fel.cvut.cz/​b202/​courses/​fup/​lectures/​start|here]].
 +
 +====== Other resources ======
 +
 +[1] 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 ​
 +
 +[2] R. Kent Dybvig: The Scheme Programming Language, Fourth Edition, MIT Press, 2009.
 +https://​www.scheme.com/​tspl4/​
 +
 +[3] Raul Rojas: A Tutorial Introduction to the Lambda Calculus. http://​www.inf.fu-berlin.de/​lehre/​WS03/​alpi/​lambda.pdf
 +
 +[4] Greg Michaelson: An Introduction to Functional Programming Through Lambda Calculus, Dover edition, 2011. 
 +
 +[5] Graham Hutton: Programming in Haskell, Cambridge University Press, 2016.
 +
 +Functors, Applicatives,​ and Monads In Pictures: https://​adit.io/​posts/​2013-04-17-functors,​_applicatives,​_and_monads_in_pictures.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
 +
 +All sorts of materials on Haskell: https://​haskell.org/​documentation/​
 +
 +Creating Haskell types: http://​learnyouahaskell.com/​making-our-own-types-and-typeclasses
 +
 +Haskell pattern matching: https://​www.haskell.org/​tutorial/​patterns.html
 +
 +Haskell modules: https://​www.haskell.org/​tutorial/​modules.html
 +
 +Haskell IO: https://​wiki.haskell.org/​Introduction_to_IO
 +
 +Haskell IO: https://​wiki.haskell.org/​IO_inside
 +
 +Haskell Monads: https://​www.schoolofhaskell.com/​user/​bartosz/​basics-of-haskell/​10_Error_Handling
 +
 +Haskell Functors: http://​learnyouahaskell.com/​functors-applicative-functors-and-monoids