|
|
لينك
دانلود كتاب پرولوگ -ايوان براتكو- براي درس برنامه نويسی توصيفی
:: موضوعات مرتبط:
برنامه نويسی توصيفی
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.
Useful Links:
DICTIONARY:
PROLOG:
POPLOG:
XSB:
OTTER:
MOZART:
If you have any comments and suggestions about the class and my teaching course,
you can send me a mail.
:: موضوعات مرتبط:
برنامه نويسی توصيفی
|
|
|
|
|
|
|
|