Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Master

SUBJECT

Code
Subject
MID1007 Rule-Based Programming
Section
Semester
Hours: C+S+L
Category
Type
Component-Based Programming - in English
3
2+1+0
speciality
compulsory
Formals Methods in Programming - in English
3
2+1+0
speciality
compulsory
Teaching Staff in Charge
Assoc.Prof. MOTOGNA Simona Claudia, Ph.D.,  motognacs.ubbcluj.ro
Aims
The course will introduce students to a completely different way of programming, in which you specify rules of behavior. It will discuss paradigms that allow rule constructions, or addition of rules, and the application areas for which they are suited.
Content
This course emphasizes program structure as well as functional and rule-based programming, which is compared to more traditional procedural programming. The unit aims to demonstrate medium to large scale rule-based program design, to survey the application areas for which rule based techniques are best suited, and to provide an introduction to the implementation and semantics of rules. Several case studies will be considered in order to prove this approach.
References
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. – Rule-Based Programming, Springer, 1996
5. Mitchell, J. – 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 – www.junit.org
Assessment
The students will be asked to present a project consisting in either a rule-based application or in a study that presents a rule based system.
The final grade will be computed based on the following algorithm:
- project presentation 40%
- final exam 60%
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject