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/