Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
FIŞA DISCIPLINEI

Codul	Disciplina	
MID1007	Programare bazata pe reguli	

Specializarea	Semestrul	Ore: C+S+L	Categoria	Statutul	
Programare bazată pe componente - în limba engleză	3	2+1+1	specialitate	obligatorie	
Metode formale în programare - în limba engleză	3	2+1+1	specialitate	obligatorie	

Titularii de disciplină	Conf. Dr. MOTOGNA Simona Claudia, motogna@cs.ubbcluj.ro	
Obiective	Cursul introduce modelul programarii bazate pe reguli care specifica compartamentul programului. Se vor prezenta paradigmele care permit o astfel de abordare si domeniile in care se aplica aceste tehnici.	
Conţinutul	Cursul va compara programarea procedurala traditionala, cu cea bazata pe reguli, din punctul de vedere al structurii programului, cat si a paradigmelor folosite. Va descrie: proiectarea bazata pe reguli a programelor, un studiu al domeniilor de aplicarea a tehnicilor bazate pe reguli, precum si o introducere in implementarea si semantica regulilor. Se vor analiza cateva studii de caz care sa justifice abordarea bazata pe reguli.	
Bibliografie	1.R Bird and P Wadler. An Introduction to Functional Programming (2nd Edition if available). Prentice-Hall. 1996
2. I Bratko. Prolog Programming for Artificial Intelligence. Addison-Wesley
3. Friedman-Hill, Ernest, JESS in Action, Manning, Greenwich, CT, 2003.
4. Kowalski, T., Levy, L. &#8211; Rule-Based Programming, Springer, 1996
5. Mitchell, J. &#8211; Concepts in Programming Languages, Cambridge Univ. Press, 2003 
6. S Thomson. The Craft of Functional Programming. Addison-Wesley. 1996.
7. Jess Homepage - http://www.jessrules.com/jess/index.shtml
8. JUnit homepage &#8211; www.junit.org
	
Evaluare	Evaluarea va lua in calcul:
- referate din bibliografie suplimentara prezentate public in timpul orelor de seminar.
- proiect care va implementa unul din modelele prezentate la curs pentru un mini-limbaj.
Nota finala se va calcula astfel:
- referat 20%
- proiect 30%
- examen final 50%