|
|
|
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.
:: موضوعات مرتبط:
برنامه نويسی توصيفی
خلاصه پايان نامه ها
:
|
برای دريافت فايل خلاصه پايان نامه ها، پس از كليك روی دانلود و وارد شدن به سايت پرشين گيگ، روی دكمه دانلود راست كليك كرده و سپس
Save As
را انتخاب كنيد. در ضمن در متون خلاصه پايان نامه ها، بخش هايی كه قرمز شده است، هنوز به طور كامل تاييد و تصحيح نشده است.
|
موضوع
|
اندازه
|
دريافت
|
|
متدولوژیها و تکنیکهای مدیریت پروژههای نرمافزاری
|
1.88 MB
|
دانلود
|
|
معرفی هوش جمعی و کاربردهای آن
|
701 KB
|
دانلود
|
|
معرفی نرم افزار نت لوگو
|
1.47 MB
|
دانلود
|
|
شبيهسازی رفتارهای دسته جمعی
|
0 KB
|
دانلود
|
|
معرفی ابزارهای شناختی طراحی عامل و کاربرد آن در مهندسی نرمافزار
|
478 KB
|
دانلود
|
|
روبات نوریاب
|
569 KB
|
دانلود
|
|
محاسبات نرم و سیستم های دسته بندی کننده یادگیر
|
1.05 MB
|
دانلود
|
|
تشخيص شماره پلاک خودرو با روشهاي پايه پردازش تصوير
|
823 KB
|
دانلود
|
|
برنامهنويسی موبايل
|
1.45 MB
|
دانلود
|
|
زندگی مصنوعی و سیستمهای ليندن ماير
|
297 KB
|
دانلود
|
|
الگوريتم کلونی مورچگان و پيادهسازی يک کاربرد
|
863 KB
|
دانلود
|
|
تكنيك ها و متدولوژی های مديريت پروژه های نرم افزاری
|
977 KB
|
دانلود
|
|
استفاده از پايگاه داده برای ذخيره سازی پايگاه دانش يك سيستم خبره
|
1.60 MB
|
دانلود
|
|
پردازش فازی تصوير
|
1.01 MB
|
دانلود
|
استفاده و نقل قول از خلاصه پايان نامه های موجود در وبلاگ،
با ذکر نام نویسنده يا نويسنده ها و آدرس وبلاگ،
مجاز است. همچنين می توانيد نظرات، پيشنهادات و انتقادات خود را درمورد خلاصه پايان نامه ها، از طريق بخش
نظرات
منعكس كنيد.
|
|
|
پايان نامه
:
|
|
دانشجويان تا پيش از تحويل نهايی پايان نامه، لازم است در طی چند مرحله، گزارش پيشرفت كار خود را به
صورت تايپ شده،
حضوری و در دانشگاه
با هماهنگي قبلی ارائه دهند.
هماهنگی قبلی به صورت حضوری و يا از طريق ايميل خواهد بود و
حداقل ارائه سه گزارش،
؛ شامل گزارش اوليه، گزارش ميانی و گزارش پايانی
ضروری است.
سه هفته قبل از تحويل نهايی پايان نامه،
می بايست گزارش نهايي پايان نامه را تايپ شده و بدون صحافی، جهت بررسی و تعيين ايرادهای احتمالی تحويل داده شود.
تحويل پايان نامه صحافی شده، پس از رفع ايرادهای احتمالی و همراه با ارائه حضوری در دانشگاه خواهد بود.
برای دريافت فايل دستورالعمل نگارش و تدوين پايان نامه،
اينجا
كليك كنيد.
|
|
|
:: موضوعات مرتبط:
پايان نامه ها (کارشناسی)
|
|
|
|
|
|
|
|
|