COURSE UNIT TITLE

: ADVANCED LOGIC PROGRAMMING

Description of Individual Course Units

Course Unit Code Course Unit Title Type Of Course D U L ECTS
CSE 5087 ADVANCED LOGIC PROGRAMMING ELECTIVE 3 0 0 7

Offered By

Graduate School of Natural and Applied Sciences

Level of Course Unit

Second Cycle Programmes (Master's Degree)

Course Coordinator

DOCTOR ÖZLEM ÖZTÜRK

Offered to

Computer Engineering (Non-Thesis-Evening) (English)
Computer Engineering Non-Thesis (English)
Computer Engineering (English)
Computer Engineering (English)
COMPUTER ENGINEERING (ENGLISH)

Course Objective

The aim of this course is:
- to present the key concepts behind logic programming: logic as a declarative (context-free) language, how to write programs with logic, and how to make efficient implementations
- to introduce Prolog as the most common practical implementation of a logic programming language

Learning Outcomes of the Course Unit

1   Understand recursive structures, appending
2   Understand the potential applications of Logic programming
3   Represent knowledge in the form of Prolog facts and rules
4   Write simple Prolog programs that can compute relations using facts and rules
5   Demonstrate an understanding of the principles underlying Prolog, logic programming and its implementation

Mode of Delivery

Face -to- Face

Prerequisites and Co-requisites

None

Recomended Optional Programme Components

None

Course Contents

Week Subject Description
1 An overview of Prolog
2 Structure of a logic program
3 Communication with the Prolog computing environment
4 Syntactical structures of Prolog
5 Calling built-in predicates of Prolog
6 Writing and running simple Prolog programs
7 Using recursion in programs, MIDTERM
8 Elementary list processing: Unification of lists, basic patterns for list processing
9 Less elementary list processing: Processing lists within lists, using accumulators, using open-ended lists
10 More on Prolog execution strategy
11 Writing and debugging programs
12 Context Free Grammar and Definite Clause Grammar
13 Comparison of programming techniques in Prolog and in imperative languages
14 Simple applications of Prolog: databases, graphs, Student Presentations

Recomended or Required Reading

Textbook(s): Ivan Bratko, Prolog Programming for Artificial Intelligence, 3rd edition, Addison-Wesley, 2001.
Supplementary Book(s): Leon Stirling & Ehud Shapiro, The Art of Programming, 2nd edition, The MIT Press, 1994

Planned Learning Activities and Teaching Methods

Presentations, term projects, paper research and examination

Assessment Methods

SORTING NUMBER SHORT CODE LONG CODE FORMULA
1 PRJ PROJECT
2 MTE MIDTERM EXAM
3 FIN FINAL EXAM
4 FCG FINAL COURSE GRADE PRJ * 0.30 + MTE * 0.30 + FIN * 0.40
5 RST RESIT
6 FCGR FINAL COURSE GRADE (RESIT) PRJ * 0.30 + MTE * 0.30 + RST * 0.40


Further Notes About Assessment Methods

None

Assessment Criteria

Learning Outcomes (LO) 1, 2, 3, 4, and 5 will be assessed by examination. LOs 2, 3, 4, and 5 will also be assessed by Projects.

Language of Instruction

English

Course Policies and Rules

To be announced.

Contact Details for the Lecturer(s)

Dr. Özlem ÖZTÜRK
Dokuz Eylul University
Department of Computer Engineering
Tinaztepe Campus 35160 BUCA/IZMIR
Tel: +90 (232) 301 74 17
e-mail: ozlem.ozturk@cs.deu.edu.tr

Office Hours

Thursday 13:00 15:00
Friday 13:00 15:00

Work Placement(s)

None

Workload Calculation

Activities Number Time (hours) Total Work Load (hours)
Lectures 14 3 42
Preparation for midterm exam 1 6 6
Preparation for final exam 1 8 8
Preparing presentations 2 5 10
Design Project 4 20 80
Preparations before/after weekly lectures 14 2 28
Midterm 1 2 2
Final 1 2 2
TOTAL WORKLOAD (hours) 178

Contribution of Learning Outcomes to Programme Outcomes

PO/LOPO.1PO.2PO.3PO.4PO.5PO.6PO.7PO.8PO.9PO.10PO.11
LO.133233323222
LO.233233323222
LO.333233323222
LO.433233323222
LO.533233323222