Metody programowania to jeden z przedmiotów obowiązkowych. Jego
zasadniczym celem jest rzucenie światła na zasady rządzące językami
programowania oraz ich implementacjami: interpreterami i kompilatorami.
Przedmiot ma charakter praktyczny: zagadnienia są prezentowane przy
użyciu funkcyjnego języka programowania. Kładziony jest nacisk na
używanie języków programowania jako formalnych narzędzi komunikacji
między ludźmi.
Wykład prowadzą Marek Materzok, Piotr Polesiuk i Maciej Piróg.
Program:
1. Abstrakcja funkcyjna
2. Rekursja i iteracja
3. Drzewiaste struktury danych
4. Abstrakcja danych i modularność
5. Rola systemów typów w programowaniu
6. Struktura programów i indukcja
7. Składnia konkretna i abstrakcyjna
8. Gramatyki bezkontekstowe i parsowanie
9. Interpretacja i kompilacja
10. Środowiskowy model obliczeń
11. Interpeter metacykliczny
12. Niedeterminizm i programowanie z nawrotami
13. Programowanie imperatywne
14. Interpretacja funkcji rekurencyjnych
15. Sprawdzanie i inferencja typów
16. Kompilator i maszyna wirtualna