Back to Teaching Page

PROGRAMARE LOGICÃ SI FUNCTIONALÃ

Intalnirile se desfasoara online pe Google Meet (vedeti link-urile din orar). Pentru teme folosim Google Classroom (inscrieti-va folosind codurile din orar).

CURSURI

  1. Curs 1 Notiuni de baza ale programarii functionale
  2. Curs 2 Recursivitate in Lisp (I)
  3. Curs 3 Recursivitate in Lisp (II)
  4. Curs 4 Blocuri DO. Iterativitate in Lisp
  5. Curs 5 Argumente optionale. Liste de asociere. Abstractizare
  6. Curs 6 Inchideri lexicale
  7. Curs 7 Macro-uri
  8. EXAMEN PARTIAL (scris)
  9. Curs 9 Introducere in programarea logica. Prolog
  10. Curs 10 Liste. Recursivitate in Prolog. Acumulatori
  11. Curs 11 Backtracking si predicatul de taiere. Exemple de utilizare. Negatia ca insucces
  12. Curs 12 Prolog eficient. Consideratii asupra stilului de programare. Clauze Horn. Principiul rezolutiei. Rezolutie SLD corectitudine si completitudine
  13. Curs 13 Logica predicatelor de ordinul I. Forma clauzala. Unificare
  14. Curs 14 Programare logica cu constrangeri. Recapitulare


LABORATOARE

  1. Laborator 1 Introducere in Common Lisp
  2. Laborator 2 Recursivitate in Lisp (I)
  3. Laborator 3 Recursivitate in Lisp (II) Exercitii
  4. Laborator 4 Iterativitate in Lisp
  5. Laborator 5 Argumente optionale. Liste de asociere. Abstractizare
  6. Laborator 6 Inchideri lexicale
  7. Laborator 7 Macro-uri
  8. TEST practic
  9. Laborator 9 Introducere in SWI-Prolog. Fapte, reguli, interogari TEMA
  10. Laborator 10 Structuri de date, liste, recursivitate TEMA
  11. Laborator 11 Acumulatori, backtracking, predicatul cut
  12. Laborator 12 I/O Operatii cu fisiere
  13. Laborator 13 Recapitulare
  14. Laborator 14 Logica predicatelor de ordinul I. Formal clauzala. Unificare

NOTARE:

30% examen partial (sapt. 8 din partea de Programare Functionala), 10% test practic (sapt. 8 din partea de Programare Functionala), 20% teme + activitate de laborator pe parcursul semestrului, 30% examen scris (in sesiune din partea de Programare Logica), 10% test practic (in sesiune din partea de Programare Logica).

Material bibliografic

  1. M. Marin, V. Negru, I. Dramnesc, Principles and Practice of Functional Programming, Editura Universitatii de Vest, 2016
  2. GNU CLISP .
  3. SWI-PROLOG .
  4. Ulf Nilsson, Jan Maluszynski, Logic, Programming and Prolog, 2nd Edition, copyright Ulf Nilsson and Jan Maluszynski, 2000.
  5. Paul Brna, Prolog Programming A First Course, Copyright Paul Brna, 1988.
  6. M. A. Covington, Efficient Prolog: A Practical Guide, Research Report AI-1989-08, The University of Georgia, Athens, Georgia, 1989.
  7. M.A. Covington, D. Nute, A. Vellino, Prolog Programming in Depth Prentice Hall, New Jersey, 1997.
  8. Robert Kowalski, Logic for Problem Solving, North Holland New York, Amsterdam, Oxford, 1979.
  9. C.S. Mellish, W. F. Clocksin, Programming in Prolog, Springer Verlag Telos, 4th edition, 1994.
  10. Jan Wielemaker, SWI-Prolog 5.6.60 Reference Manual, ©1990-2008 , University of Amsterdam. http://gollem.science.uva.nl/SWI-Prolog/Manual.
  11. M. Ben-Ari, Mathematical Logic for Computer Science, Springer Verlag, London, 2nd edition, 2001
  12. B. Buchberger, G. Collins, R. Loos - Computer algebra and Symbolic Computation, Springer Verlag, 1983 N. C. Heinze, J. Jaffar, C. Michailov, P. J. Stuckey, R. H. C. Yap - The CLP($\cal R$) Programmers Manual, version 1.2, Dept. of Computer Science, Monash University, 1992.
  13. P. Van Hentenryck - Constraint Satisfaction in Logic Programming, M.I.T. 1989
  14. T. Muller, K. Popov,C. Schulte, J. Wurtz – Constraint Programming in Oz, DFKI Oz Documentation Series, 1995
  15. C. Muscalagiu - Introducere in programarea logica si limbajele de programare logica, Ed. Univ. "A.I.Cuza" Iasi, 1996
  16. Bratko - PROLOG. Programming for Artificial Intelligence, Addison Wesley, third edition, 2001
  17. St. Trausanu-Matu - Programare in LISP. Inteligenta artificiala si web semantic, Ed. POLIROM, 2004
  18. P. Graham - ANSI Common Lisp, Prentice Hall, 1996
  19. P. Graham - On Lisp. Advanced techniques for Common Lisp, Prentice Hall, 1994.
  20. D. Friedman, M. Wand, C. Hayes - Essentials of Programming Languages, second edition, MIT, 2001.
  21. Grillmeyer - Exploring Computer Science with Scheme, Springer, 1997.
  22. B. Harvey, M. Wright - Simply Scheme. Introducing Computer Science, second edition, MIT, 1999.
  23. H. Abelson, G.J. Sussman, J. Sussman - Structure and Interpretation of Computer Programs, Second edition, MIT, 1996.
  24. C. Queinnec - Les Langages Lisp, InterEditions, 1994.