= Tematică = # Introducere. Limbajul Racket. Modelul de evaluare bazat pe substituție textuală. # Tipuri de recursivitate. Aspecte legate de complexitate. //Tail-call optimization//. # Funcții ca valori de prim rang. Funcționale. Calculul lambda. Paradigma funcțională. # Legarea variabilelor (statică/ dinamică/ mixtă). Modelul de evaluare contextuală. # Întârzierea evaluării. Promisiuni. Fluxuri. # Limbajul Haskell. Evaluare leneșă. Tipuri, sinteză de tip, tipuri de date utilizator. # Rezolvarea problemelor utilizând evaluarea leneșă. # Polimorfism parametric și ad-hoc în Haskell. Clase. # Efecte laterale, transparență referențială. Comparație între paradigmele imperativă și funcțională. # Limbajul Prolog. Ipoteza lumii închise. Înlănțuire înapoi (//backward chaining//). # Logica propozițională și logica cu predicate de ordinul I. Forma normală conjunctivă (FNC), transformare în FNC, unificare, rezoluție. Paradigma logică. # Rezolvarea problemelor în Prolog. # Mașina algoritmică Markov. Paradigma asociativă. Recapitulare.