Desfășurare cursuri și laboratoare
- Curs
- Laboratoare Andrei Arusoaie (vineri, 08h00 - 12h00)
- Laboratoare Ștefan Ciobâcă (joi, 18h00 - 20h00; vineri, 14h00-16h00)
Cursul de Programare Funcțională se va desfășura on-site în fiecare joi, de la ora 16h00, în sala C112.
Laboratorul are loc on-site, în sala C412.
Laboratorul are loc on-site, în sala C401.
Programare Funcțională 2022-2023 (semestrul de vară)
- Notare
- Evaluare pe parcurs (rezolvarea în timpul laboratorului a fișelor de exerciții de la fiecare laborator): maxim 20p / semestru (maxim 2p / laborator).
- Test final: maxim 80p.
- Reexaminare: test de maxim 80p.
- Testul final urmărește următoarele obiective de invățare:
- Capacitatea de a defini funcții recursive de dificultate medie (e.g., funcții de sortare, funcții cunoscute de la matematică);
- Capacitatea de a proiecta și defini tipuri algebrice de date de dificultate medie (e.g., pentru reprezentarea unor expresii aritmetice sau logice);
- Capacitatea de a utiliza și de a înțelege funcții de ordin superior (e.g., map, filter, reduce) în contexte de dificultate medie;
- Capacitatea de a face calcule folosind regula de beta-reducere în lambda-calcul.
- Nota finală se calculează prin împărțirea punctajului final la 10 și rotunjire la cel mai apropiat întreg.
- În Săptămâna 8 vom avea o simulare de examen.
- Contact
- Curs: Ștefan Ciobâcă - stefan.ciobaca@gmail.com
- Laborator: Andrei Arusoaie - andrei.arusoaie@uaic.ro
Referințe Bibliografice
Plan de Lucru
-
Săptămâna 1 - Introducere
Laborator: PDF. Curs: ghci, hs. Instalare: e recomandat să instalați mediul de lucru folosind ghcup. Întrebări: Pe canalul #general în Discord.Săptămâna 2 - Efecte secundare, transparență referențială, pattern matching, funcții recursive
Laborator: PDF. Curs: ghci, hs, PDF.Săptămâna 3 - Tipuri algebrice de date
Laborator: PDF. Curs: ghci, hs, PDF.Săptămâna 4 - Funcții de ordin superior
Laborator: PDF. Curs: ghci, hs, PDF.Săptămâna 5 - Clase de tipuri
Laborator: PDF. Curs: ghci, hs, PDF.Săptămâna 6 - Polimorfism. Evaluare leneșă.
Laborator: PDF. Curs: ghci, hs, PDF.Săptămâna 7 - Monada IO.
Săptămâna 8 - Simulare examen
Săptămâna 9 - Module. Instrumentul stack. Property-based Testing
Săptămâna 10 - Topici avansate 1 (e.g., structuri de date pur funcționale, rezolvarea problemelor în stil funcțional)
Săptămâna 11 - Lambda calcul netipizat.
Săptămâna 12 - Codări Church.
Săptămâna 13 - Strategii de evaluare în lambda-calcul.
Săptămâna 14 - Recapitulare (laborator).