Course syllabus

Computer Science, Second Cycle, Declarative Problem Solving with Answer Set Programming, 3 credits

Course code: DT721A Credits: 3
Main field of study: Computer Science Progression: A1N
Last revised: 14/09/2023    
Education cycle: Second cycle Approved by: Head of school
Established: 30/11/2021 Reading list approved: 14/09/2023
Valid from: Spring semester 2024 Revision: 2

Learning outcomes

Knowledge and comprehension
After completed course the student shall

  • know about major principles and paradigms in declarative problem solving, with a principal focus on diverse approaches in logic programming and its derivatives
  • have a conceptual and theoretical understanding of (constraint) logic programming and answer set programming
  • be able to name and explain different languages, practical tools / logic-based methods for declarative problem solving, as well as to correctly argue theoretical relations, and
  • gain an understanding of the application of declarative problem solving or computing for contemporary AI and Cognitive Systems in industrial settings (e.g., autonomous driving, AI in Media and Entertainment Computing, Robotics).

Proficiency and ability
After completed course the student shall be able to

  • model and formalise different problems such as combinatorial search and optimisation problems in a declarative manner
  • practically apply state of the art solvers to encode classic search and optimisation problems in a declarative manner, and
  • demonstrate practical skills in modelling hybrid solutions based on logic programming and answer set programming in particular.

Values and attitude
After completed course the student shall be able to

  • judge the suitability and value of symbolic as well as neurosymbolic reasoning methods for a given AI problem in the backdrop of the declarative computing paradigm
  • determine the need and value of diverse and mutually synergistic techniques in AI for their practical value in building real-world systems, and
  • Compare and contrast the pros and cons of declarative computing vis-a-vis other programming paradigms such as imperative, and object-oriented.

Content

  • Basic Concepts in Declarative Programming
  • Practical Introduction to Logic Programming (LP) and Derivatives (e.g., CLP, ILP, ASP)
  • Declarative Spatial Reasoning with Constraint and Answer Set Programming
  • Non-Monotonic Reasoning with Declarative Methods, with focus on Answer Sets
  • Applications of Declarative (Spatial) Reasoning.

Examinations and grades

Theory, 1 credits (Code: A003)
Grades used are Fail (U), Pass (G) or Pass with Distinction (VG).

Laboratory work, 2 credits (Code: A005)
Grades used are Fail (U), Pass (G) or Pass with Distinction (VG).


According to the Higher Education Ordinance, Chapter 6, Section 18, a grade is to be awarded on the completion of a course, unless otherwise prescribed by the university. The university may determine which grading system is to be used. The grade must be determined by a teacher specifically nominated by the university (the examiner).

In accordance with university regulations on grading systems for first and second-cycle courses and study programmes (Vice-Chancellor’s decision ORU 2018/00929), one of the following grades is to be used: fail (U), pass (G) or pass with distinction (VG). For courses included in an international master’s programme (60 or 120 credits) or offered to the university’s incoming exchange students, the A to F grading scale is to be used. The vice-chancellor, or a person appointed by them, may decide on exceptions from this provision for a specific course, if there are special grounds for doing so.

The grades used on this course are Fail (U), Pass (G) or Pass with Distinction (VG).

Comments on grades

Grade on whole course
To obtain the grade Pass with Distinction (VG) on the course as a whole, Pass with Distinction (VG) is required for both exams.

Modes of assessment

Theory (code A003): Written submission task
Laboratory Exercises (code A004): Written submission task

For students with a documented disability, the university may approve applications for adapted or other modes of assessment.

For further information, see the university's local examination regulations.

Specific entry requirements

At least 180 credits including 15 credits programming as well as qualifications corresponding to the course "English 5"/"English A" from the Swedish Upper Secondary School.

For further information, see the university's admission regulations.

Other provisions

The course is given in English.

Students who have been admitted to and registered on a course have the right to receive tuition and/or supervision for the duration of the time period specified for the particular course to which they were accepted (see, the university's admission regulations (in Swedish)). After that, the right to receive tuition and/or supervision expires.

Reading list and other learning resources

Compulsory literature

Chitta Baral (2003). Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press.

Ivan Bratko (2008). Prolog Programming for Artificial Intelligence. (Third Edition). Pearson.

Martin Gebser, Roland Kaminski, Benjamin Kaufmann, and Torsten Schaub (2012). Answer Set Solving in Practice, Synthesis Lectures on Artificial Intelligence and Machine Learning. Morgan and Claypool.