Currently, my teaching at the School of Telecommunication Engineering consists of 3 subjects

Programming I

1st year subject at the Degree in Telecommunications Technologies Engineering

The aim of the course is to provide students with basic skills to program in a high level language. The programming paradigm followed is that of “structured programming”.

  • Express the solution of a simple problem by means of algorithms using top-down design.

  • Identify the data needed to solve a problem and associate them with appropriate datatypes based on their features (size, range, associated operators)

  • Code simple algorithms using the basic types of statements: assignment, selection and iteration.

  • Declare and define functions with a proper use of parameters.

  • Handle I/O operations and file management.

  • Define and use structured data types.
    Define and manage dynamic data structures (lists, stacks, queues and trees).

  • Create modules and library functions and use them in programs.

  • Predict the result of a sequence of statements, knowing the input data.

  • Handle basic tools in an integrated development environment: text editor, compiler, linker, debugger and documentation tools.

  • Develop a small scale project following all the phases: requirements analysis, design, implementation, testing and documentation.
  1. The algorithm and the programming languages.
  2. Grammar and basic elements
  3. Iteration and selection statements
  4. Arrays and strings
  5. Functions
  6. Pointers
  7. Files
  8. Structured type variables
  9. Lists

Instagram
Tiktok
YouTube
X
LinkedIn

Embedded Systems Design

4th year subject at the Degree in Telecommunications Technologies Engineering

Embedded systems are part of almost all the diary activities that involve an electronic device (the alarm clock, the mobile phone, the car…). This course introduces the main concepts behind modern embedded systems that include an operating system, and puts them in practice through a series of exercises and projects.

  • Know the technological base which supports the most recent investigations in the study and design of integrated systems.

  • Understand the basic aspects of the special requirements inherent to embedded systems with hard real time restrictions

  • Adopt a global view of the problem of programming environments with real-time restrictions, and know the proper tools for dealing with them, so that embedded systems can be addressed with a system level approach.

  • Understand the basic elements of fault prevention and fault tolerance

  • Master the concepts related to the organisation of this kind of systems software

  • Handle the tasks scheduling and resources sharing techniques in embedded systems

  • Become familiar with the use of abstraction platforms for developing embedded systems
  1. Concept of Embedded Systems
  2. Operating Systems for Embedded Systems
  3. Architectures of Embedded Systems
  4. Process Scheduling
  5. Reliability and Fault Tolerance
  6. Distributed Embedded Systems
  7. Abstraction Platforms for Embedded Systems Development
  8. Communication with Sensors and Actuators

Distributed Computing

2nd year subject at the Master in Telecommunication Engineering

This course will provide a vision of group of the most usual technologies inside the distributed computing. They will tackle subjects such as the distributed transactions and the replication; the grid computing, cloud computing, and cluster computing; the distributed artificial intelligence; and the parallel and evolutionary computing.

  • To earn skills in the design, development and management of distributed systems.

  • To undertand the functional bases of the distributed systems.

  • To know the distinct concepts related with the distributed computing: clustering, grids, cloud computing and ubiquitous computing.

  • To earn skills for the application of intelligent systems in the distributed computing.

  • To learn how to distribute the execution of tasks for the resolution of problems and optimisation by means of evolutionary and parallel computing.
  1. Distributed artificial intelligence
  2. Parallel and evolutionary computation
  3. Transactions
  4. Replication
  5. Design of Distributed Systems