The course provides an introduction to Logic Programming. Topics Include: the syntax and the semantics of Prolog; Prolog interpreter; problem solving in AI; Prolog database querying, parsing, meta-programming; List Processing; Controlling Backtracking; Definite Clause Grammars; Practical Applications; Semantic Web and Logic Programming.
Intended learning outcomes
Knowledge &understand
Explain basic concepts and definitions of logic programming.
To be familiar with the basic components of the program using the Prolog language
To understand the difference between declarative programming and procedural programming
To understand the principles of declarative specification
To explain the problems in a logical programming style
To know the facts and rules
Explaining the term of Predicates
Explain the different features of variables in the Prolog language
mental skills
Distinguish between the different types of terms (data objects) in the Prolog language
To compare the declarative programming method and procedural programming
Distinguish between unification and backtracking to evaluate a series of objectives
To compare the values of arithmetic expressions.
To describe the main techniques for String manipulation in Prolog
Practical & professional skills
To use the Prolog language , and designing well Prolog programs
It uses unification and backtracking technology to evaluate a series of targets entered by the user.
Evaluate arithmetic expressions and compare their value.
Evaluate a set of goals in Prolog iteratively.
Use 'Cut' predicate and Cut with Failure to specify exceptions to general rules
Define predicates to create a database of relevant facts within a Prolog database.
Represent Data in the form of Lists
General and transferable skills
To be able to use modern technological tools.
Working in a team to complete a mini project
To use internet sites and scientific references for independent study
To be able to deliver and present, writing reports