Functional and Logic Programming — ae4b33flp

News

  • The short programming test for 7 points will take place on March 21st. It will be for 15 minutes and the students are not allowed to use computers.
  • The second lisp assignment is available in the upload system.
  • The public testing data for the first assignment are available here samples.
  • The deadline for the first part of your seminar work (robot simulation) for 6 points is on March 20 at midnight. Until the midnight of the following day, you can still gain up to 4 points. You will not get any points for a later submission, but you need the first part to solve the second part. Your submission to the upload system will be evaluated on 10 inputs. For each wrong output, you lose one point, but you cannot get a negative score. The score for all the following Lisp assignments will be computed the same way.

Summary

This course introduces students into the techniques of functional programming in the LISP (or more precisely SCHEME) and HASKELL language and logic programming in the PROLOG language. Both languages are declarative in that the programmer symbolically describes the problem to be solved, rather than enumerating the exact sequence of actions to be taken. In PROLOG, one describes the problem by specifying properties of objects and relations thereamong through logic formulas. In LISP, the problem description takes the form of function definitions. Both languages have found significant applications in artificial intelligence fields, such as agent systems or symbolic machine learning. Motivating tasks from these domains will be used throughout the course.

Credit requirements

The tutorials consist of two halves (Scheme + Prolog). Each is evaluated separately according to following rules:

  • Out of the total of 25 points, students must achieve at least 13 to be allowed to take the exam.
  • During the term, there will be a test (7 points) and 3 compulsory assignments (6 points each).

Assignments

Scheme

Exam

Students who receive the credit (based on points from the tutorials) are allowed to take the exam. The written exam has a theoretical part and a practical part (programming). Additional points can be obtained during the oral exam.

For the exam a maximum of 50 points can be awarded. A minimum of 25 points must be achieved for a passing grade:

Total points Minimum for passing
Tutorials (assignments + tests) 50 26
Exam 50 25

The final grade is assigned according to the sum of tutorials and exam points.

ECTS grade Pass Fail
A B C D E F
Points 100-90 89-80 79-70 69-60 59-50 50-0

Literature

  • Brian Harvey and Matthew Wright: Simply Scheme: Introducing Computer Science, MIT Press, 1999, now available online
  • Bryan O'Sullivan, Don Stewart, and John Goerzen: Real World Haskell, Paperback: 700 pages, O'Reilly, November 2008, English, ISBN-10: 0596514980, ISBN-13: 978-0596514983 now available online
  • Peter Flach: Simply logical, John Wiley 1994, xvi + 240 pages, now available online

Teachers

Functional programming
Lecturer & TI Tutorial instructors
Jiří Vyskočil Kollár Ivor lisy_viliam-80x95.jpg
Jiří Vyskočil Kollár Ivor Viliam Lisý
Logic programming
Lecturer Tutorial instructors
Filip Železný Radomír Černoch Ivan Havel
Filip Železný Radomír Černoch Ivan Havel
 
misc/projects/oppa_oi_english/courses/ae4b33flp/start.txt · Last modified: 2013/10/04 13:02 (external edit)