Functional Programming
Here are the materials for Functional Programming course that I teach at Moscow Institute of Physics and Technology, Higher School of Economics and Moscow Aviation Institute.
For those students taking joint Functional and Logic Programming Course, please also have a look at separate page for Logic Programming.
Course Repository: http://github.com/shwars/funcpro
Course Outline
Week | Topic | English Course | New Russian Course | Functional Programming in F# | Extras | Homework |
YouTube | YouTube | YouTube | ||||
0 | Introduction to Course & The Instructor | YouTube | YouTube | |||
1 | Introduction to Functional Programming and Lambda Calculus | |||||
2 | Introduction to F# | Part 1.* | ||||
3 | Functions, Data Types and Recursion | Part 2.* | ||||
4 | Algebraic Data Structures - Lists | Lists 1 - Lists 6 | Lect 2.1 - Lect 2.6 | Part 3.* | ||
5 | Algebraic Data Structures - Trees. Purely Functional Data Structures | Trees 1 - Trees 3, Functional DS - 1 | Part 4.* | |||
6 | Functional Tricks: Generators, Closures, etc. | Functional Data Structures 2-5 | Part 5.* | |||
7 | Implementation of Functional Languages. Combinatory Parsers. Eval-Apply Interpreters | |||||
8 | Applicative Functors and Monads | Part 6.* | ||||
9 | Optics and F# Extras | Part 7.* | Optics in Haskell, F# Plus | |||
10 | Category Theory | YouTube |
Related Video Courses
You may also look at the following related video courses:
- Exciting F#, previously published on Microsoft Channel 9
- Functional Programming on Intuit.ru (in Russian)