CEN448 Introduction to Logic Programming

6 ECTS - 3-0 Duration (T+A)- 8. Semester- 3 National Credit

Information

Code CEN448
Name Introduction to Logic Programming
Semester 8. Semester
Duration (T+A) 3-0 (T-A) (17 Week)
ECTS 6 ECTS
National Credit 3 National Credit
Teaching Language İngilizce
Level Lisans Dersi
Type Normal
Mode of study Yüz Yüze Öğretim
Catalog Information Coordinator Prof. Dr. SELMA AYŞE ÖZEL


Course Goal

The goal of this course is to make an introduction to propositional and first-order logic, then to make an introduction to logic programming with Prolog.

Course Content

Introduction to logic, propositional logic, first-order logic, arguments and inferences, introduction to Prolog, facts, queries, variables, recursion, semantics, program correctness, arithmetic, predicates, cuts and negation, program development.

Course Precondition

Basic programming knowledge

Resources

M. Spivey, An Introduction to Logic Programming Through Prolog, Prentice Hall, 1996.

Notes

Any reference to Prolog language.


Course Learning Outcomes

Order Course Learning Outcomes
LO01 Explains propositional and first-order logic.
LO02 Identifies resolution principle.
LO03 Explains inductive inference.
LO04 Identifies knowledge representation.
LO05 Learns Prolog programming language and develops applications.


Relation with Program Learning Outcome

Order Type Program Learning Outcomes Level
PLO01 Bilgi - Kuramsal, Olgusal Has capability in the fields of mathematics, science and computer that form the foundations of engineering 3
PLO02 Bilgi - Kuramsal, Olgusal Identifies, formulates, and solves engineering problems, selects and applies appropriate analytical methods and modeling techniques, 2
PLO03 Bilgi - Kuramsal, Olgusal Analyzes a system, its component, or process and designs under realistic constraints to meet the desired requirements,gains the ability to apply the methods of modern design accordingly. 3
PLO04 Bilgi - Kuramsal, Olgusal Ability to use modern techniques and tools necessary for engineering practice and information technologies effectively. 2
PLO05 Bilgi - Kuramsal, Olgusal Ability to design and to conduct experiments, to collect data, to analyze and to interpret results
PLO06 Bilgi - Kuramsal, Olgusal Has ability to work effectively as an individual and in multi-disciplinary teams, take sresponsibility and builds self-confidence 3
PLO07 Beceriler - Bilişsel, Uygulamalı Can access information,gains the ability to do resource research and uses information resources 5
PLO08 Beceriler - Bilişsel, Uygulamalı Awareness of the requirement of lifelong learning, to follow developments in science and technology and continuous self-renewal ability 4
PLO09 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Ability to communicate effectively orally and in writing, and to read and understand technical publications in at least one foreign language 4
PLO10 Yetkinlikler - Öğrenme Yetkinliği Professional and ethical responsibility,
PLO11 Yetkinlikler - Öğrenme Yetkinliği Awareness about project management, workplace practices, employee health, environmental and occupational safety, and the legal implications of engineering applications,
PLO12 Yetkinlikler - Öğrenme Yetkinliği Becomes aware of universal and social effects of engineering solutions and applications, entrepreneurship and innovation, and knowledge of contemporary issues


Week Plan

Week Topic Preparation Methods
1 Introduction to logic, arguments, constants, logical systems Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Soru-Cevap
2 Propositional logic Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Soru-Cevap
3 Predicate logic: sentences, quantifiers, formulas, sets. Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Soru-Cevap
4 Semantics of predicate logic, relations, function symbols Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Soru-Cevap
5 Arguments, semantic inference relations Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Soru-Cevap
6 Deduction, soundness and completeness Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Soru-Cevap
7 Introduction to logic programming, facts, queries, variables, substitutions, instances, rules. Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Soru-Cevap
8 Mid-Term Exam Reading the lecture notes Ölçme Yöntemleri:
Sözlü Sınav, Proje / Tasarım
9 Introduction to programming in Prolog Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Soru-Cevap
10 Arithmetic, compound terms Reading the lecture notes, program implementation Öğretim Yöntemleri:
Anlatım, Soru-Cevap, Gösterip Yaptırma
11 Meta-logical predicates Reading the lecture notes, program implementation Öğretim Yöntemleri:
Anlatım, Soru-Cevap, Gösterip Yaptırma
12 Cuts and negation, tail recursion Reading the lecture notes, program implementation Öğretim Yöntemleri:
Anlatım, Soru-Cevap, Gösterip Yaptırma
13 Input/output, interactive programs Reading the lecture notes, program implementation Öğretim Yöntemleri:
Anlatım, Soru-Cevap, Gösterip Yaptırma
14 Nondeterministic programming Reading the lecture notes, program implementation Öğretim Yöntemleri:
Anlatım, Soru-Cevap, Gösterip Yaptırma
15 Project presentations Program implementation, writing report, preparing presentation Öğretim Yöntemleri:
Grup Çalışması, Proje Temelli Öğrenme
16 Preparation to Final Exam Reading the lecture notes Öğretim Yöntemleri:
Soru-Cevap
17 Term Exams Reading the lecture notes Ölçme Yöntemleri:
Yazılı Sınav


Student Workload - ECTS

Works Number Time (Hour) Workload (Hour)
Course Related Works
Class Time (Exam weeks are excluded) 14 3 42
Out of Class Study (Preliminary Work, Practice) 14 5 70
Assesment Related Works
Homeworks, Projects, Others 0 0 0
Mid-term Exams (Written, Oral, etc.) 1 15 15
Final Exam 1 30 30
Total Workload (Hour) 157
Total Workload / 25 (h) 6,28
ECTS 6 ECTS