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
ت :

خلاصه پايان نامه ها :

موضوعات پیشنهادی برای پايان نامه
دستورالعمل نگارش و تدوين پایان نامه
دستورالعمل نگارش و تدوين گزارش كارآموزی
دستورالعمل نگارش خلاصه پايان نامه

برای دريافت فايل خلاصه پايان نامه ها، پس از كليك روی دانلود و وارد شدن به سايت پرشين گيگ، روی دكمه دانلود راست كليك كرده و سپس 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

دانلود


استفاده و نقل قول از خلاصه پايان نامه های موجود در وبلاگ، با ذکر نام نویسنده يا نويسنده ها و آدرس وبلاگ، مجاز است. همچنين می توانيد نظرات، پيشنهادات و انتقادات خود را درمورد خلاصه پايان نامه ها، از طريق بخش نظرات منعكس كنيد.


پايان نامه :

دانشجويان تا پيش از تحويل نهايی پايان نامه، لازم است در طی چند مرحله، گزارش پيشرفت كار خود را به صورت تايپ شده، حضوری و در دانشگاه با هماهنگي قبلی ارائه دهند. هماهنگی قبلی به صورت حضوری و يا از طريق ايميل خواهد بود و حداقل ارائه سه گزارش، ؛ شامل گزارش اوليه، گزارش ميانی و گزارش پايانی ضروری است. سه هفته قبل از تحويل نهايی پايان نامه، می بايست گزارش نهايي پايان نامه را تايپ شده و بدون صحافی، جهت بررسی و تعيين ايرادهای احتمالی تحويل داده شود. تحويل پايان نامه صحافی شده، پس از رفع ايرادهای احتمالی و همراه با ارائه حضوری در دانشگاه خواهد بود. برای دريافت فايل دستورالعمل نگارش و تدوين پايان نامه، اينجا كليك كنيد.



:: موضوعات مرتبط: پايان نامه ها (کارشناسی)
ن : K. Mirzaie
ت :


 
صفحه اصلی

.:: Kamal Mirzaie ::.