Department of Computer Science

Course director: t.b.a.
Implementation details: None

COSC 4402.03 Logic Programming
(x-listed COSC 5311.03)

Section A  Fall         Tue, Thu 10:00-11:30

Logic programming has its roots in mathematical logic and it provides a view of computation which contrasts in interesting ways with conventional programming languages. Logic programming approach is rather to describe known facts and relationships about a problem, than to prescribe the sequence of steps taken by a computer to solve the problem.

One of the most important problems in logic programming is the challenge of designing languages suitable for describing the computations which these systems are designed to achieve. The most commonly recognized language is PROLOG.

When a computer is programmed in PROLOG, the actual way the computer carries out the computation is specified partly by the logical declarative semantics of PROLOG, partly by what new facts PROLOG can "infer" from the given ones, and only partly by explicit control information supplied by the programmer. Computer Science concepts in areas such as artificial intelligence, database theory, software engineering knowledge representation, etc., can all be described in logic programs.

Topics covered may include the following.

At the end of this course a student will be familiar with fundamental logic programming concepts and will have some programming expertise in PROLOG.

Texts: t.b.a.

Prerequisites: general prerequisites, including COSC3401.03, and COSC3101.03 or COSC3111.03.