CourseWare Wiki
Switch Term
Summer 2023 / 2024
Summer 2022 / 2023
Summer 2021 / 2022
Summer 2020 / 2021
Summer 2019 / 2020
Summer 2018 / 2019
Summer 2017 / 2018
Search
Log In
b232
courses
fup
lectures
Differences
This shows you the differences between two versions of the page.
View differences:
Side by Side
Inline
Go
Link to this comparison view
Both sides previous revision
Previous revision
2024/02/13 21:12 heimnikl [Lectures]
2024/02/12 16:39 heimnikl [Lectures]
2024/02/09 14:07 heimnikl [Lectures]
2024/02/09 08:45 nemecj38 [Lectures]
2024/01/30 08:49 external edit
Go
Previous revision
2024/02/13 21:12 heimnikl [Lectures]
2024/02/12 16:39 heimnikl [Lectures]
2024/02/09 14:07 heimnikl [Lectures]
2024/02/09 08:45 nemecj38 [Lectures]
2024/01/30 08:49 external edit
Go
Next revision
Both sides next revision
courses:fup:lectures:start [2020/05/29 08:44]
courses:fup:lectures:start [2024/02/09 08:45]
nemecj38
[Lectures]
Line 1:
Line 1:
+
====== Lectures ======
+
^ Date ^ Title ^ Slides ^ Other ^
+
|Feb 21 (23)| 1. Introduction | [[https://drive.google.com/file/d/1JHY-Si0hrsQ_iOr6l7iDjmmBhwV2vrpd/view?usp=share_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
courses/fup/lectures/start.txt
· Last modified: 2024/02/13 21:12 by
heimnikl