Guía Docente 2020-21


Id.: 31381
Subject type: OBLIGATORIA
Year: 4 Teaching period: Primer Cuatrimestre
Credits: 6 Total hours: 150
Classroom activities: 64 Individual study: 86
Main teaching language: Inglés Secondary teaching language: Castellano
Lecturer: Email:


Professionals capable of designing and building this systems are highly appreciated in modern corporations. This course is an introduction to the methods and algorithms for developing intelligent software systems, with a focus in information representation and reasoning. We will review several topics originated in the Artificial Intelligence field, like datamining and machine learning, problem-solving techniques (graph search, heuristics), and in the field of Knowledge Engineering, like reasoning using Predicate Calculus or with uncertainty. Theory will be complemented with programming assignments in Python, Java, RapidMiner, R ....This course builds on the knowledge and competences acquired by the student in previous courses like Discrete Mathematics, Programming Fundamentals,Algorithms and Data Structures, and Information Systems.


General programme competences G01 Ability to use learning strategies independently for use in the continuous improvement of professional practice.
G02 Ability to analyse and synthesise problems of their professional activity and apply in similar environments.
G07 Ability to handle different complex knowledge models through a process of abstraction and its application to approach and solve problems.
Specific programme competences E14 Ability to apply the main foundations and techniques of the smart systems and their practical application in diverse environments.
Learning outcomes R01 Learn the basics of knowledge representation in artificial intelligence.
R02 Learn about artificial intelligence algorithms and methods.
R03 Understand planning methods and algorithms.
R04 Understand machine learning algorithms and methods.


Students enrolled in this course should have a good understanding of Propositional Logic, Graph Theory, Relational Database Theory, and Algorithms and Data Structures


Subject contents:

1 - Artificial Intelligent Introduction
    1.1 - Introduction
2 - Machine Learning and Data Mining
    2.1 - Introduction to the Information Extraction
    2.2 - Clasification Methods
    2.3 - Clustering Methods
    2.4 - Deep Learning
3 - Knowledge Representation
    3.1 - Introduction to the Expert Systems
    3.2 - Logic and Knowledge Representation
    3.3 - Ontologies
    3.4 - Applications
4 - Search and Planning
    4.1 - Graph Search
    4.2 - Heuristic Search
    4.3 - Applications

Subject planning could be modified due unforeseen circumstances (group performance, availability of resources, changes to academic calendar etc.) and should not, therefore, be considered to be definitive.


Teaching and learning methodologies and activities applied:

The teaching methodology used in this course is Problem Based Learning (PBL).
Each topic, the teacher will present to the students a problem related to the topic corresponding to that module. The students must:
Analyze the problem
- Identify learning objectives, recognize what is known and what is not in relation to the problem.
- Develop a work scheme to address the problem.
- Gather information about the problem.
- Use the information collected to propose or develop a solution to the problem.
- Examine one's own ability to solve the problem, making self-control over one's own work done.
The problems will be available through the PDU. In Machine Learning units the problems will be based on python Notebooks on Colab platform. It is expected that the student will be able to perform the proposed activity throughout the difrents unitsc. Each activity will include a list of deliverables that must be prepared by the student for evaluation, and which will normally be a small document of 2-4 pages with the work scheme, the sources consulted, the proposed solution, the results and conclusions, as well as complementary auxiliary material (database schemas, database exports, executable programs ...).
From time to time, this documentation must be submitted to the teacher for evaluation. Through the PDU will be enabled special links that will allow the student to upload their material and through which the teacher will proceed to the evaluation of the activity. One of these links will be enabled for each activity to be delivered to facilitate its control.
Through the PDU, the delivery dates of each activity will be informed in a timely manner. The activities may be delivered after the deadline, as explained later in detail. The active participation of the student is very important, but given the eminently practical nature that has been given to this subject, the teacher expects to adequately motivate students to make the most of this course. That each student is able to self-assess and verify that they are really learning new things is also very important, and tutorials are a perfect place for the teacher to help answer any questions on this subject, so important in Continuous Learning and throughout of the life. Another important feature of this methodology is that minimum objectives are set to be overcome by subject, but not maximum. Each student is free to explore more complex alternatives than those requested in those topics that are of their immediate interest. This dedication has, of course, a taken into account  in the note obtained in the activity. Regarding the material necessary to follow the course, the student is recommended to acquire the basic bibliography. One of the recommendations we always make to new students is that they have at least one general reference book for each area of computer science, one that will not be easily outdated (such as the one proposed in the basic bibliography or Russell's and Norvig book for Artificial Intelligence). You will also need a computer with enough power and hard disk space to be able to install several database managers, as well as an internet connection to access the PDU. To be able to use virtual meetings, you must have a microphone, speaker and webcam.
In case of not entering the practice on time, 2 points of the grade will be reduced

Student work load:

Teaching mode Teaching methods Estimated hours
Classroom activities
Master classes 15
Practical work, exercises, problem-solving etc. 15
Debates 9
Workshops 10
Laboratory practice 10
Assessment activities 5
Individual study
Tutorials 2
Individual study 20,5
Individual coursework preparation 22
Project work 31,5
Compulsory reading 10
Total hours: 150


Calculation of final mark:

Written tests: 25 %
Individual coursework: 10 %
Group coursework: 25 %
Final exam: 30 %
Participation: 10 %
TOTAL 100 %

*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.


Basic bibliography:

Bonifacio Martín del Frio, Alfredo Sanz Molina, Redes neuronales y sistemas difusos, Alfaomega, 2002.
Dean Allemang and Jim Hendler, Morgan Kaufmann Semantic Web for the Working Ontologist (2nd ed.), 2011,
Drew Conway, John Myles White. Machine Learning for Hackers O\\\'Reilly Media February 2012
RUSSELL, S; NORVIG, P. Artificial Intelligence: A Modern Approach, 2nd ed. Prentice Hall, 2003

Recommended bibliography:

Recommended websites:

* Guía Docente sujeta a modificaciones