433-432 Logic Programming

Note

Credit may not be gained for both 433-432 Logic Programming and 433-632 Logic Programming.

Credit Points

12.5

Prerequisites

Knowledge of predicate calculus and Prolog at the level taught in 433-255 Logic and Computation. Programming experience equivalent to the projects in 75 points of 200 and 300 level computer science subjects.

Semester

2 (view timetable)

Contact

Twenty-four hours of lectures, 11 hours of workshops

Subject Description

The use of logic as a computational formalism originally grew out of natural language processing. Since then it has also been widely adopted in databases, rule-based systems, knowledge representation and formal methods. Logic programming languages offer a very high level approach to problem-solving and several novel programming techniques.

Topics covered include: theoretical foundations: logical semantics, fixpoint semantics, SLD resolution; logic programming languages: logic variables, types and modes; logic programming techniques: structural induction, accumulators, difference lists, higher order programming, meta programming, program transformation; debugging: tracing, declarative debugging; implementation issues: indexing, tail recursion, management of backtracking.

Assessment

Project work during semester, expected to take about 36 hours (40%) and a 3-hour end of semester written examination (60%). To pass the subject, students must obtain at least 50% overall, 20/40 on the projects and 30/60 in the examination.



Status:                   Official 2007
Last Modified:            Tuesday October 31 22:20
SGML to HTML Conversion:  Information Division - CWIS (SDI)
Authorised by:            Academic Registrar
Enquiries:                http://unimelb.custhelp.com/

Valid CSS! Valid XHTML 1.0!