Wykład dot. rachunku Lambda, matematycznej teorii kategorii oraz ich zastosowania we współczesnych językach programowania na przykładzie Haskella oraz C#. Przedstawienie tła historycznego powstania modeli obliczeniowych: maszyny Turinga oraz rachunku lambda, przedstawienie różnic między tymi modelami. Analiza wpływu poszczególnych modeli na struktury języków programowania. Przedstawienie podstawowych pojęć programowania funkcyjnego, niemutowalność, brak efektów ubocznych, rekurencja, monady.