Artificial Intelligence


Educational goals

he course gives a general introduction to Artificial Intelligence and its applications. The aim of this course is also to introduce problem solving techniques used in Artificial Intelligence, knowledge representation schemes, application areas of Artificial Intelligence, principles, characteristics and limitations of Intelligent Systems. The course also introduces Logic Programming and Functional Programming as two different paradigms of programming methodologies for the development of intelligent systems. Logic Programs are defined and their Resolution Principle is discussed. Special emphasis is given to Logic Programming through the Prolog language. By the end of the course the students are expected to:

  • have a good knowledge of the main concepts of Artificial Intelligence (AI)
  • have a good knowledge of the main application areas of Artificial Intelligence
  • be able to apply declarative programming techniques for the development of intelligent systems
  • be able to understand the advantages and disadvantages of declarative programming over imperative/ procedural programming
  • be able to evaluate the role of Artificial Intelligence in scientific and social development
General Skills
  • Search, analyze and synthesize data and information, using the necessary technologies
  • Independent work
  • Teamwork
  • Demonstrate social, professional and ethical responsibility and sensitivity to the use of state o the art ICT an AI

Course Contents

Introduction to Artificial Intelligence (AI)
Definitions of AI, history and evolution
AI and philosophical issues
The nature of the problems encountered by AI, the Turing test
Defining AI Problems – Knowledge Representation – Intelligent Search
AI Application Categories
Declarative programming languages: Special features and comparison with procedural languages
Logical and Functional programming.
Logical programming and as a methodology: Recursive programming, Top-Down and Bottom-Up program development, incremental programming, nondeterminitic programming.
Applications: Examples of intelligent systems and their implementation
The moral an ethical dimensions of AI and its impact on society.

Teaching Methods - Evaluation

Teaching Method
  • Face to face theoretical teaching (lectures, discussion, problem solving and practice exercises).
Use of ICT means
  • Slide show presentation software.
  • Online learning platform (moodle).
  • Logical and function programming languages
Teaching Organization
Activity Semester workload
Writing and presenting work30
Programming of applications and exercises38
Individual study and analysis of literature60
Total 180
Students evaluation

Assignements, individual / team work presentation (20% of rating)
Final Written Examination (80% of the score) that including short theory questions, multiple choice tests and problem solving

Recommended Bibliography

Recommended Bibliography through "Eudoxus"
  1. (Ελληνικά) Τεχνητή Νοημοσύνη. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου. Γ' Έκδοση, Εκδόσεις Β. Γκιούρδας Εκδοτική, 2006
  2. Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη. Μανόλης Μαρακάκης, ISBN: 978-960-6759-98-7, Διαθέτης (Εκδότης): ΕΚΔΟΣΕΙΣ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΜΟΝ. ΕΠΕ
Complementary greek bibliography
  1. (Ελληνικά) Τεχνικές Λογικού Προγραμματισμού – Η Γλώσσα Prolog. Η. Σακελλαρίου, Π. Κεφαλάς, Ν. Βασιλειάδης, Δ. Σταμάτης, Έκδοση Ελληνικά Ακαδημαϊκά Ηλεκτρονικά Συγγράμματα
  2. Τεχνητή Νοημοσύνη - Μια Σύγχρονη Προσέγγιση, 2η έκδοση, S. Russel και P. Norvig, Κλειδάριθμος 2004. (Ελληνική μετάφραση Ι Ρεφανίδης)
Complementary international bibliography
  1. S. Russell and P. Norvig Artificial Intelligence: A Modern Approach (2nd edition), Prentice Hall, 2nd ed., 2003