Course Title: Mathematical Logic and Logic Programming

Part A: Course Overview

Course Title: Mathematical Logic and Logic Programming

Credit Points: 12.00


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC1208

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2007,
Sem 2 2008,
Sem 2 2009,
Sem 2 2010

COSC2049

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2008,
Sem 2 2009,
Sem 2 2010

Course Coordinator: Assoc. Prof. James Harland

Course Coordinator Phone: +61 3 9925 2045

Course Coordinator Email: james.harland@rmit.edu.au


Pre-requisite Courses and Assumed Knowledge and Capabilities

Students are expected to have a sound understanding of artificial intelligence techniques and the fundamentals of computing before commencing this course. These include planning, knowledge representation, advanced search techniques, and heuristic approaches to problem solving. Completion of the following course (or equivalent) will satisfy the pre-requisite requirements.
• COSC1127 - Artificial Intelligence

Disclaimer: This seminar-mode course will run only if there are sufficient enrolments by the beginning of the relevant semester. If it is cancelled, you will be advised to choose a suitable alternative course.


Course Description

This course covers the basics of mathematical logic, with a particular emphasis on the algorithms involved, and an introduction to logic programming languages, including Prolog. This course is particularly aimed at students who are interested in research issues in these areas.


Objectives/Learning Outcomes/Capability Development

This course contributes to the development of the following capabilities:
Critical analysis: Students will analyse and compare the characteristics of different reasoning systems and different solutions to programming problems.  
Problem solving: Students will design and implement solutions to a number range of problems, including determining the provability of a given logical statement and implementing programs to fulfil a specific set of requirements.
Communication: Students are expected to lead the class discussion in at least one class, to participate in weekly class discussion and to write a report on a particular aspect of the course material.


The objectives of this course are to develop an understanding of the history, development and application of mathematical logic to computer science, and to become familiar with the paradigm of logic programming. Students will gain expertise in the techniques of mathematical logic, such as constructing models of formulae, formal proof systems, automated reasoning and programming in logic programming languages such as Prolog. A particular emphasis is placed on problem-solving skills and critical analysis of the relevant literature and software technology.


Overview of Learning Activities

This course will be run in a seminar mode where articles are discussed and analysed. In addition to developing knowledge of the content area students will develop skills in critical reading of research literature and in synthesising and comparing approaches to problems.

Students will be expected to participate actively in the discussions, and to take it in turn to lead the discussions. Discussion leadership will involve preparation of focus questions as well as leading of the discussion in class.


Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School, and the course notes available for purchase from the RMIT bookshop. Library and relevant internet sites will be provided.


Overview of Assessment

The assessment for this course consists of written summaries of reading material, an evaluation of participation in and leading class discussions, a short review paper and a major assignment. 

For standard assessment details, including deadlines, weightings, and hurdle requirements relating to Computer Science and IT courses see: http://www.rmit.edu.au/compsci/cgi