آموزش نصب و اجرای چند مثال با SWI-Prolog
لينك دانلود كتاب پرولوگ -ايوان براتكو- براي درس برنامه نويسی توصيفی


:: موضوعات مرتبط: برنامه نويسی توصيفی
ن : K. Mirzaie
ت :

Declarative Programming

Fall-1388

Prerequisites:

Programming Languages (PL)

Text Books:


[1] I. Bratko "Prolog Programming for Artificial Intelligence" , 2000
[2] D. Poole, A. Mackworth and R. Goebel, "Computational Intelligence: A Logical Approach" , 1998

Reference Books:

[3] P. Blackburn , J. Bos and K. Striegnitz, "Learn Prolog Now!", 2001
[4] U. Nilsson and J. Maluszynski, "Logic, Programming and Prolog", 2000
[5] J. L. Hein, "Prolog Experiments in Discrete Mathematics, Logic, and Computability", 2005
[6] P. Brna, "Prolog Programming: A First Course" , 2001

Aim of The Course:

The aim of the course is to get the students acquainted with the idea of declarative programming. In contrast with imperative programming, covered by earlier and other courses, declarative programming means a different point of view, which is explained during the course.

Declarative Programming Languages and Prolog:

Declarative programming languages are an important alternative to languages (such as C, C++, and Java) that use the more familiar imperative programming paradigm. The course is based on Prolog language. Prolog(PROgrammation et LOGique) is a logic programming language widely utilised in Artificial Intelligence. That is, Prolog is presented with a set of facts, rules, and goals, and it attempts to prove that the goals are true by applying the rules to the facts. If it succeeds it proving the goal, it has established the truth of that goal; if it does not, it has established that the goal is false or at least that there is not enough information to determine whether it is true or false. Prolog proceeds by backward chaining. That is, it starts with the goal and works backward to see what would need to be true in order for the goal to be true. To succeed in proving the goal, Prolog would need to eventually reduce the goal to simple facts. So basically the way Prolog works is that you give it a set of rules which describes your knowledge about an area. Then you give it a set of facts which describe a given situation. Finally, you present it with a goal -- something which you are trying to establish as true or false-- and see whether Prolog can prove it true.

Ideal of Declarative Programming:

  • To say only WHAT you want to compute
  • Let the computer find HOW to compute it
Prolog is a high-level programming language which enables the user to build programs by stating what they want the program to do rather than how it should do it. Due to Prolog's grounding in first-order predicate logic it is intended to be more analogous with human deductive reasoning than other programming languages. As you will see during the course of the semester, it is often possible to devise simple and elegant declarative solutions to problems that would otherwise result in complex and awkward imperative programs.

Course Topics:

  • Introduction to imperative and declarative paradigms
  • Prolog: Facts, Questions and Rules
  • Propositional and Predicate logic
  • ...

Grade Distribution:

Your performance will be assessed by assignments, quizzes, class participation and final exam. Their weights are:

Quizzes and Class Participation 5%
Assignments and Projrcts 15%
Final Exam 80%

Participation means coming to class, asking questions, taking part in discussions and so on. Assignments have to be typed, if you want them corrected. All of students must work on assignments individually. The assignments play a crucial part in understanding the course material, and you are expected to do all of them. Homeworks must be turned in by class time on the due date for full credit.
If you have any comments and suggestions about the class and my teaching course, you can send me a mail.


:: موضوعات مرتبط: برنامه نويسی توصيفی
ن : K. Mirzaie
ت :
 
صفحه اصلی

.:: Kamal Mirzaie ::.