Desfășurare cursuri și laboratoare
- Curs
- Laboratoare Andrei Arusoaie (vineri, 08h00 - 12h00)
- Laborator Ștefan Ciobâcă (joi, 14h00 - 16h00)
Cursul de Programare Funcțională se va desfășura on-site în fiecare joi, de la ora 10h00, în sala C309 (vezi orar).
Laboratorul are loc on-site, în sala C411.
Laboratorul are loc on-site, în sala C413.
Studenții aleg grupa de laborator la care participă, în limita numărului de locuri din laborator. Alegerea se face în prima săptămână.
Pentru o mai buna organizare, este recomandat sa intrati pe serverul Discord aferent cursului (folosiți numele adevărat, nu un pseudonim).
Programare Funcțională 2023-2024 (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@uaic.ro
- Laborator: Andrei Arusoaie - andrei.arusoaie@uaic.ro
Referințe Bibliografice
Plan de Lucru preliminar
-
Săptămâna 1 - Introducere
Instalare: e recomandat să instalați mediul de lucru folosind ghcup.Săptămâna 2 - Efecte secundare, transparență referențială, pattern matching, funcții recursive
-
Curs
Laborator
Săptămâna 3 - Tipuri algebrice de date
-
Curs
-
Laborator
Săptămâna 4 - Funcții de ordin superior
-
Curs
-
Laborator
Săptămâna 5 - Clase de tipuri
-
Curs
-
Laborator
Săptămâna 6 - Polimorfism. Evaluare leneșă.
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) - se recupereaza pe data de 17 mai (t.b.c.)
Săptămâna 11 - Topici avansate 2 (e.g., structuri de date pur funcționale, rezolvarea problemelor în stil funcțional)
Săptămâna 12 - Lambda calcul netipizat.
Săptămâna 13 - Codări Church.
Săptămâna 14 - Strategii de evaluare în lambda-calcul.
-