# Logic Programming (CMPE413) Course Detail

Course Name Course Code Season Lecture Hours Application Hours Lab Hours Credit ECTS
Logic Programming CMPE413 3 0 0 3 5
Pre-requisite Course(s)
N/A
Course Language English N/A Bachelor’s Degree (First Cycle) Face To Face Lecture. The objective of this course is to teach different logic programming concepts via programming practices realized by using different logic programming languages. The students will be able to compare how different logic programming concepts are handled in different type of languages. The students get a chance to apply their knowledge by completing homework assignments written in example logic programming languages. The students who succeeded in this course; Gain necessary knowledge for LISP/Prolog programming. Discuss main constructs of logic programming languages. Comprehend the basic differences between logic programming and imperative, functional, and object-oriented languages. Identify practical/suitable usage areas for logic programming. Lisp programming: symbolic expressions, elementary functions, Lambda notation, forms, functions, list structures, Prolog programming: facts, rules, relationships; data structures; backtracking; input/output; built-in predicates.

### Weekly Subjects and Releated Preparation Studies

Week Subjects Preparation
1 Logical Agents Chapter 7 (from other source 5)
2 First-Order Logic Chapter 8 (from other source 5)
3 Inference in First-Order Logic Chapter 9 (from other source 5)
4 Inference in First-Order Logic Chapter 9 (from other source 5)
5 Clauses, Predicates, Satisfying Goals, Operators and Arithmetic (In Prolog) Chapter 2,3,4 (from other source 1)
6 Input Outputs /Loops /Preventing Backtracking (In Prolog) Chapter 5,6,7 (from other source 1)
7 List Processing String Processing (In Prolog) Chapter 9,10 (from other source 1)
8 Syntax, Semantics, Functions, Variables (in LISP) Chapter 4,5,6 (from main text)
9 Syntax, Semantics, Functions, Variables (in LISP) Chapter 4,5,6 (from main text)
10 Control Structures, Macros (in LISP) Chapter 7,8 (from main text)
11 Numbers, Characters, Strings, Collections, File I/O (in LISP) Chapter 10,11,14 (from main text)
12 Object Reorientation (Generic functions, Classes) (in LISP) Chapter 16,17 (from main text)
13 Object Reorientation (Generic functions, Classes) (in LISP) Chapter 16,17 (from main text)
14 Practical Applications (in LISP) Chapter 26,27,28 (from main text)

### Sources

Course Book 1. Seibel, P., “Practical Common LISP”, 2005, Springer. 2. M.Bramer, “Logic Programming with Prolog”, 2005, Springer, ISBN: 1-85233-938-1. 3. L.Sterling, E.Shapiro, “The Art of Prolog: Advanced Programming Techniques”, (MIT Press Series in Logic Programming), 4. http://www.atilim.edu.tr/~hurevren/COMPE462/Sebesta_Ch16.ppt 5. http://common-lisp.net/ 6. Artificial Intelligence : A Modern Approach (Second Edition)., Stuart Russell and Peter Norvig, Prentice-Hall, 2003, ISBN: 0-13-790395.

### Evaluation System

Attendance/Participation - -
Laboratory - -
Application - -
Field Work - -
Special Course Internship - -
Quizzes/Studio Critics - -
Homework Assignments 2 15
Presentation - -
Project 1 30
Report - -
Seminar - -
Midterms Exams/Midterms Jury 1 25
Final Exam/Final Jury 1 30
Toplam 5 100
 Percentage of Semester Work 70 30 100

### Course Category

Core Courses X

### The Relation Between Course Learning Competencies and Program Qualifications

# Program Qualifications / Competencies Level of Contribution
1 2 3 4 5
1 Adequate knowledge in mathematics, science and subjects specific to the computer engineering discipline; the ability to apply theoretical and practical knowledge of these areas to complex engineering problems. X
2 The ability to identify, define, formulate and solve complex engineering problems; selecting and applying proper analysis and modeling techniques for this purpose. X
3 The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose.
4 The ability to develop, select and utilize modern techniques and tools essential for the analysis and determination of complex problems in computer engineering applications; the ability to utilize information technologies effectively. X
5 The ability to design experiments, conduct experiments, gather data, analyze and interpret results for the investigation of complex engineering problems or research topics specific to the computer engineering discipline. X
6 The ability to work effectively in inter/inner disciplinary teams; ability to work individually
7 Effective oral and writen communication skills in Turkish; the ability to write effective reports and comprehend written reports, to prepare design and production reports, to make effective presentations, to give and to receive clear and understandable instructions. X
8 The knowledge of at least one foreign language; the ability to write effective reports and comprehend written reports, to prepare design and production reports, to make effective presentations, to give and to receive clear and understandable instructions.
9 Recognition of the need for lifelong learning; the ability to access information, to follow recent developments in science and technology.
10 The ability to behave according to ethical principles, awareness of professional and ethical responsibility;
11 Knowledge of the standards utilized in software engineering applications
12 Knowledge on business practices such as project management, risk management and change management;
14 Knowledge on sustainable development
15 Knowledge on the effects of computer engineering applications on the universal and social dimensions of health, environment and safety;
16 Awareness of the legal consequences of engineering solutions
17 An ability to describe, analyze and design digital computing and representation systems.
18 An ability to use appropriate computer engineering concepts and programming languages in solving computing problems. X

Activities Number Duration (Hours) Total Workload
Course Hours (Including Exam Week: 16 x Total Hours) 16 3 48
Laboratory
Application
Special Course Internship
Field Work
Study Hours Out of Class 16 2 32
Presentation/Seminar Prepration
Project 1 10 10
Report
Homework Assignments 2 5 10
Quizzes/Studio Critics
Prepration of Midterm Exams/Midterm Jury 1 10 10
Prepration of Final Exams/Final Jury 1 15 15