Computer Security

Lecturer (Coordinator):
Manuel Carro
Julio Mariño
Juan Caballero
Boris Köepf
Dario Fiore
Alessandra Gorla


First semester




This course gives students a general view of Computer Security. Lectures are divided in independent blocks which provide basic cocepts in Computer Security, such as cryptography, software security, information access control, communication network security, or privacy. Each block includes a theory part to give students the basic concepts and a practical exercise to demonstrate and fix the presented concepts. The particular order and length of the topics in the blocks will depend on the schedule of the instructors.

Students taking this subject will:

  • Be exposed to research literature
  • Gain experience in critical reading, including identifying the strengths and weaknesses of the proposed approaches
  • Develop skills for delivering effective technical presentations
  • Gain a background on key past research results that laid the foundations of the area, as well as current topics of research interest.

Learning Goals

  • This course will provide students with a global vision of the field of computer security. The course will be divided in independent lecture blocks, each one addressing basic concepts of an area of software security, information access control, security in communication networks, and privacy. Each block will contain theory lectures to provide the basic foundations and a practical excercise to put the learned concepts to work.


  1. Cryptography
  2. Software Security
  3. Information Access Control
  4. Network security
  5. Privacy


  • Some undergraduate-level training on computer security would be an advantage but is not required.
  • Some knowledge on the basic principles of computer security is necessary.

Assessment Method

  • Students will be assessed on their ability to perform critical reading, paper presentations, and overall participation.

Lecture Theatre

IMDEA Software s-379

Tuition Language


Subject-Specific Competences

Code, description and proficiency level for each subject-specific competence
Code Competence Proficiency Level
CEM2 Analysis and synthesis of solutions to problems requiring innovative approaches to the definition of the computational infrastructure, processing and analysis of heterogeneous data types A
CEM7 Evaluation and application of diverse mathematical and statistical theories, and available knowledge extraction and discovery processes, methods and techniques for large data volumes A
CEM8 Application of the theoretical and mathematical foundations of heterogeneous functions and data processing and analysis and evaluation and design of related methods for application in practical domains A

Learning Outcomes

Code, description and proficiency level for each subject learning outcome
Code Learning Outcome Associated competences Proficiency level
RA-APDI-12 Be familiar with examples of real applications and research trends and lines CEM2, CEM7 S
RA-APDI-13 Select and apply optimization methods to specific problems CEM8 A
RA-APDI-15 Knowledge of techniques for proving code correctness CEM8 C
RA-APDI-112 Identify computer security threats and decide the best proactive and reactive measures against them CEM8 A

Learning Guide

Learning Guide: Computer Security