Advanced Programming Languages for A.I. (B-KUL-H02A8A)
Aims
This course aims to provide insight in a number of different new programming languages and tools that emerged in the research field of Artificial Intelligence.
The aim is to give the students understanding of the specific characteristics and key underlying principles of different advanced languages and tools and of the usefulness of these concepts and principles to solve certain classes of problems in A.I. Students should understand the advantages and drawbacks of the languages, be able to compare their features and to situate these languages and related research aspects in the context of the application areas for which they were developed.
Students obtain basic programming skills and are able to write programs to solve typical problems.
Previous knowledge
The students should be familiar with the basics of Artificial Intelligence and they need to have a good knowledge of an object oriented programming language as well as a declarative programming language (Prolog).
Course material
Manual
Toledo / e-platform
Articles and literature
Order of Enrolment
This course unit is a prerequisite for taking the following course units:
H05N0A : Capita selecta computerwetenschappen: Artificiële intelligentie
Is also included in other courses
- Master in de toegepaste informatica (Artificial Intelligence and Databases) 60 ects.

-
Master of Artificial Intelligence
60 ects.
- Master in de informatica (uitdovend, enkel 2e fase) (Specialisation: Artificial Intelligence) 120 ects.

- Master in de ingenieurswetenschappen: computerwetenschappen (Specialisation: Artificial Intelligence) 120 ects.


Activities
2.0 ects. Advanced Programming Languages for A.I.: Lecture (B-KUL-H02A8a)
Content
The selection of studied approaches, languages, systems can vary from year to year. For each introduced approach, language or system, the conceptual foundations, the main built-in representation and problem solving features, the illustrations of the use and limitations and the indication of the key research aspects and the key applications are the important themes.
Without being exhaustive, typical approaches, languages and systems that could be presented are:
- knowledge-system development languages(specifically, the current successors of the rule-based expert systems development tools),
- constraint programming languages
- planning languages and systems
- languages targeted at the development of multi-agent systems
- probabilistic reasoning languages
- AI-extensions of logic, functional or object-oriented programming languages
Description of learning activities
The course is based on a combination of lectures and self-study.
In about 10 lectures the material will be introduced. The relavant notions will be discussed and the important programming aspects will be explained.
For the project, the students are asked to study at least two approaches in more detail, using guided self-study, on the basis of a reading list of scientific papers or chapters of books.
Course material
Slides, papers or chapters of books introducing the concepts/approaches of the systems.
Tutorials of the selected AI-tools.
For the year 2008-2009 there are some books available in the Campus Bibliotheek Arenberg (CBA), namely in the didactical cluster:
- Apt, Krzysztof R., Wallace, Mark, Constraint logic programming using ECLiPSe. 2007.
- Friedman-Hill, Ernest, Jess in action : rule-based systems in Java. 2003.
2.0 ects. Advanced Programming Languages for AI: Paper / Project (B-KUL-H02K8a)
Description of learning activities
A non-classical evaluation is attached to this course. The student makes an assignment and defends it orally during the exam period.
During the lectures the material is introduced.
For the assignment the student should discuss the presented languages and systems and compare and evaluate their main characteristics including the different approaches supported by the individual systems. Typically, this has to be done in the context of a particular problem or a set of problems.
The student should also study in depth some of the selected programming systems and develop programs with them.
The assignment is given at the beginning of the semester. Students can start working on it during the semester.
Evaluation
Evaluation : Advanced Programming Languages for A.I. (B-KUL-H22A8a)
Explanation
A non-classical evaluation is attached to this course.
The student makes an assignment (see project part).
Oral defense during the exam period.
For the third examination period it is the same assignment.
