Description
In the first part of the course the theoretical foundations of the mathematical logic are studied making emphasis in the techniques of demonstration of theorems. In the second part of the course the main characteristics of the logical programming are studied in opposition to the imperative programming, studying parallelly the Prolog Language like example.
Type Subject
Optativa
Semester
First
Credits
5.00
Objectives

The logic and the computer science are intimately related. The logic is used to express the behavior of the programs, so that it is possible to prove its properties by means of technical of demonstration. It is also used to describe and to implement systems that they reason on a particular domain (Theory of the specification, Systems based on rules, ...). The derived methods of the logic are valid in many areas such of the artificial intelligence such as the generation of plans, the representation of the knowledge and the understanding of the natural language.

The students that study the subject acquire the knowledge and they develop the abilities that are indicated next:

1. Basic general knowledge of the mathematical logic.
2. Analysis capacity and synthesis.
3. Organization capacity and planning of the work to carry out.
4. Improvement of the communication written in the language used by the students in the different exams presented to the professor.
5. Knowledge of computer tools.
6. Capacity of resolution of problems.
7. Ability to work in team.
8. Development of interpersonal abilities when defending own arguments against the group partners.
9. Capacity of application of the knowledge of the logical programming in the realization of the practices.
10. Capacity to generate new ideas starting from the theoretical concepts studied in class.
11. Work ability in telematic environments.
12. Use of texts in English in the basic bibliography.
13. Self-regulated learning capacity.

Contents

1 Introduction
1.1 What a logic is?
1.2 Some history
1.3 Classification of the logics

2. The Propositional Logic
2.1 The CP0 language
2.2 Normal forms and clauses
2.3 Theory of the demonstration
2.4 The resoultion method
2.5 Knowledge representation
2.6 Properties

3 The First-Order Logic
3.1 The CP1 language
3.2 Normal forms and clauses
3.3 Theory of the demonstration
3.4 Knowledge representation
3.5 Properties

4 Logical Programming /Prolog
4.1 Introduction
4.2 From the logic to the logical programming
4.3 The execution of a program
4.4 Domains
4.5 Reading and writing
4.6 Internal databases
4.7 Other characteristics

The language PROLOG is studied in parallel during the chapter of logical programming.

Methodology

This subject can be studied in two formats, according to the student's preference, present and semi-presential. The main difference among the two modalities is based on the different physical attendance from the students to the classrooms.

During the course they combine different ways to impart the subject:

1. Masterful classes.

In the present modality, the professor imparts during the course the theoretical concepts of the subject by means of masterful classes. In these classes the professor also solves exercises of direct application of the explained concepts. In the modality semi-presential, the student assumes a more active paper in his learning. It has the contents of the course in the virtual campus where there is a study guide that: it explains the concepts of the subject, it references to the bibliography to be able to enlarge these concepts, it contains enunciated of problems and it contains self-evaluated questions where the student can have an indication of his learning degree. In this format, they are carried out three present encounters at least in a year where the students and the professors meet to carry out masterful classes, problems, practical or debates.

2. Hours of class dedicated to solve theoretical exercises, individually or in groups.

During some hours of class the professor outlines theoretical exercises so that they are solved by the students in that moment. These exercises can be resolved individually or in group.

3. Exercises to solve at home.

Apart of the exercises solved in class, the student must solve others at home. The purpose of these exercises is to secure the theoretical ideas. The students have a problem book with exercises. Some of the exercises are resolved.

4. Work in group in hours of class.

During the course, one hour each 2 weeks is dedicated to the realization of exercises. The students solve in group the exercises proposed by the professor. At the end of the class the professor picks up the made exercises and it returns them corrected later.

5. Practical

Along the course 4 practical sessions of Prolog of 2 hours are made in class hours.

Each practice is carried out in groups of 2 and it consists on a group of exercises that should be implemented in Prolog. The students have a document with the practices. So, they can prepare previously some of the proposed exercises. During the practice the professor supervises the work of the students and help them to reach the objectives. These practices are made in a classroom of PC's.

In the case of the semi-presential students, the professor proposes a group of practices that should make in a free way. The students can make consultations on the resolution of the practices in the forums and/or through the electronic mail.

Evaluation

The subject is divided in two clearly differentiated parts: a theoretical part (80%) and a practical part (20%). Each one of these parts is evaluated for separate and they must be passed for separate to be able to pass the subject.

If the two parts are passed, the final note of the subject is the arithmetic sum of the theory note and the practice note.

With the purpose of evaluating if the student had reached in an appropriate degree the objectives of the subject different tests are made:

A. Exams
During the course 1 exam is made.

F.Works made in group
During the first part of the course, the students must solve in group exercises corresponding to the theory.

G. Practical works with computer
The implementation of the practice is made in Prolog language. For each practice the professor has a form for his exhaustive evaluation.

J. Participation in class or in the virtual campus.
The professor of the present modality has a list of possible observations where he writes down the different behaviors and attitudes presented by the students during the class. In the semi-presential system , these attitudes are reflected in the performance and the students' participation in the forums and in the meetings through the virtual classroom.

Evaluation Criteria

Objective 1: Basic general knowledge of the mathematical logic
The student must demonstrate that has acquired an appropriate knowledge of the concepts studied during the course. [A, F,G].

Objective 2: Analysis and synthesis capacity
The student must be able to analyze the problems with he faces and he must demonstrate synthesis capacity in the generation of solutions. [A,F,G, J].

Objective 3: Organization capacity and planning of the work to do
The student must plan and to organize his individual work as well as the work to do in group. [F,G]

Objective 4: Improvement of the communication written in the language used by the students in the different exams presented to the professor
The student must present the exams and reports without spelling lacks and with the style and the appropriate order. [A]

Objective 5: Knowledge of computer tools
The student must demonstrate that he has acquired the necessary knowledge of PROLOG. [A,G]

Objective 6: Capacity of resolution of problems
The student must demonstrate that he knows how to propose appropriate solutions so much for the theoretical exercises as for the practical implementation of the different ones. [A,F,G]

Objective 7: Ability to work in team
The student must be able to work with the group partners and to end up proposing solutions to the different presented problems. [F, G]

Objective 8: Development of interpersonal abilities when defending own arguments against the group partners
The student must maintain a flowing communication with his partners of practice group. [F,G]

Objective 9: Capacity of application of the knowledge of the logical programming in the realization of the practices
The student must identify the formalisms and the appropriate techniques of the theory to implement the practices with the professor's orientation and the help of his group partners [G]

Objective 10: Capacity to generate new ideas starting from the theoretical concepts studied in class.
The student must demonstrate that he is able to apply the theory of the demonstration in the proposed exercises. [A,F]

Objective 11: Work ability in telematic environments
All the semi-presential students base their study on different tools inside a virtual campus. These competitions are evaluated implicitly. [A,G].

Objective 12: Use of texts in English in the basic bibliography
Some of the concepts of the subject are indexed directly in English. These concepts are also evaluated. [A,G]

Objective 13: Self-regulated learning capacity
The student must demonstrate that he is able to acquire knowledge for himself. [A]

Basic Bibliography

- Chin-Liang Chang, Richard C. Lee. Symbolic Logic and Mechanical Theorem Proving
Academic Press,November 1997

- Davis, Ruth E.. Truth, Deduction, and Computation
Computer Science Press, 1989

- Mozota i Coloma, Maria Antònia. Problemes i Solucions CP0
Departament d´informàtica, Escola d´Enginyeria i Arquitectura La Salle. Barcelona, 2007

- Mozota i Coloma, Maria Antònia. Problemes i Solucions CP1
Departament d´informàtica, Escola d´Enginyeria i Arquitectura La Salle. Barcelona, 2007

- Mozota i Coloma, Maria Antònia. Enunciats exercicis de Prolog
Departament d´informàtica, Escola d´Enginyeria i Arquitectura La Salle. Barcelona, 2007

- Prolog Development Center A/S. Language Tutorial. Copenhagen 1986-2001

- Prolog Examples

- Mozota i Coloma, Maria Antònia. Guia d'estudi de l'assignatura

Additional Material

- Visual Prolog. Web oficial