6 ECTS credits
150 h study time

Offer 1 with catalog number 4013476ENW for working students in the 1st semester at a (E) Master - advanced level.

Semester
1st semester
Enrollment based on exam contract
Impossible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Enrollment Requirements
Following courses are mutually exclusive : 'Declaratief Programmeren' and 'Declarative Programming'Men mag zich niet inschrijven voor 'Declaratief programmeren' indien men ingeschreven of eerder geslaagd was voor 'Declarative programming' en vice versa
Taught in
Dutch
Faculty
Faculty of Sciences and Bioengineering Sciences
Department
Computer Science
Educational team
Geraint Wiggins (course titular)
Activities and contact hours

26 contact hours Lecture
26 contact hours Seminar, Exercises or Practicals
150 contact hours Independent or External Form of Study
Course Content

1) Theoretical background: syntax, semantics and proof theory of clausal logic
2) From logic programming to Prolog: SLD-resolution, steering the search process, negation as failure
3) Applications: knowledge representation, search algorithms, meta-programming
4) Evaluation variants: Co-routining
5) Advanced reasoning techniques: definite clause grammars in natural language processing, constraint logic programming.

 
Course material
Digital course material (Required) : All transparencies and their accompanying code will be made available on the website of the course http://como.vub.ac.be/~ydehauwe/index.php?page=decl_prog, http://como.vub.ac.be/~ydehauwe/index.php?page=decl_prog
Digital course material (Required) : Simply Logical - Intelligent Reasoning by Example, Freely available at http://www.cs.bris.ac.uk/~flach/SimplyLogical.html, Peter Flach, Wiley, 1994
Additional info

All transparencies and their accompanying code will be made available on the website of the course: http://como.vub.ac.be/~ydehauwe/index.php?page=decl_prog

Book:
Simply Logical - Intelligent Reasoning by Example
Peter Flach, Wiley, 1994
Freely available at http://www.cs.bris.ac.uk/~flach/SimplyLogical.html

Learning Outcomes

General competencies

The goal of this course is three-fold:

- to offer students insight into the theoretical background that underlies the declarative programming paradigm
- to familiarize students with specific programming languages in this paradigm
- to acquaint students with applications in the domain of artificial intelligence and automated reasoning for which declarative programming is well-suited

The corresponding competences are:

Knowledge and Understanding:
Students have to be able to describe and motivate the underlying principles of declarative programming and logic programming in particular. Based on this theoretical background, students have to be capable of deriving the declarative as well as the procedural interpretation of a concrete logic program.

Application of Knowledge and Understanding:
Students have to be able to apply their newly gained knowledge to typical problems in artificial intelligence.
To this end, the students will develop modest logic programs during the exercise sessions.
Students also have to be able to design a more elaborate knowledge-based system and implement this using logic programming techniques. To this end, students will complete an individual programming project.

Making Judgements:
Students have to be capable of determining whether a given problem lends itself to an implementation that is based on logic programming.

Communication:
Students have to be able to motivate the decisions they make with respect to the aforementioned project, demonstrating that they can communicate clearly on the above topics.

Learning Skills:
Referencing the concepts taught in this course, students will be able to acquaint themselves independently with programming languages from the declarative paradigm and recognize opportunities for applying such languages in practice.

Grading

The final grade is composed based on the following categories:
Written Exam determines 50% of the final mark.
SELF Practical Assignment determines 50% of the final mark.

Within the Written Exam category, the following assignments need to be completed:

  • written test with a relative weight of 100 which comprises 50% of the final mark.

Within the SELF Practical Assignment category, the following assignments need to be completed:

  • Autotutorial with a relative weight of 5 which comprises 5% of the final mark.
  • Formative project in Prolog with a relative weight of 15 which comprises 15% of the final mark.
  • Summative project in Prolog with a relative weight of 30 which comprises 30% of the final mark.

Additional info regarding evaluation

The exam consists of two parts:
- a written test about the entire course (closed book)
- three programming projects, one an on-line quiz, two about given problems in Prolog

The end result is calculated as the average of the results on both parts.

Allowed unsatisfactory mark
The supplementary Teaching and Examination Regulations of your faculty stipulate whether an allowed unsatisfactory mark for this programme unit is permitted.

Academic context

This offer is part of the following study plans:
Master of Applied Computer Science: Default track (only offered in Dutch)
Master in Applied Sciences and Engineering: Computer Science: Artificial Intelligence (only offered in Dutch)
Master in Applied Sciences and Engineering: Computer Science: Multimedia (only offered in Dutch)
Master in Applied Sciences and Engineering: Computer Science: Software Languages and Software Engineering (only offered in Dutch)
Master in Applied Sciences and Engineering: Computer Science: Data Management and Analytics (only offered in Dutch)
Master of Teaching in Science and Technology: computerwetenschappen (120 ECTS, Etterbeek) (only offered in Dutch)