General information


Subject type: Mandatory

Coordinator: Alfonso Palacios González

Trimester: Second term

Credits: 4

Teaching staff: 

Léonard Janer Garcia
Pere Barberan Agut 
Pere Barberan Agut 

Teaching languages


The documentation of the subject will be mostly in English. Poden haver-hi documents en castellà i català, però l'idioma principal serà anglès.

Therefore, the student must be able to read English correctly.

Skills


Basic skills
  • B2_That students know how to apply their knowledge to their job or vocation in a professional way and have the skills they demonstrate by developing and defending arguments and solving problems within their area of ​​study

  • B5_That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy

Transversal competences
  • T1_That students know a third language, which will be preferably English, with an adequate level of oral and written form, according to the needs of the graduates in each degree

  • T2_That students have the ability to work as members of an interdisciplinary team either as one more member, or performing management tasks in order to contribute to developing projects with pragmatism and a sense of responsibility, making commitments taking into account the available resources

Description


In general, this subject covers the following descriptors specified for the subject to which it belongs (Architecture, Operating Systems and Computer Networks):

1.- Processors of specific purpose, RISC processor (unicycle and multicycle)

2.- Machine language and assembler of a RISC processor, structure of the logical space of a program

3.- Introduction to the memory hierarchy (cache) and to the input / output subsystem 

4.- Introduction to the support of the architecture to the operating system (virtual memory, TLB)

5.- Concurrence, entry / exit and buses (survey, interruptions, DMA, I / O type)

6.- Programming in processor assembly language (RISC and CISC) and link with high level languages

7.- Internal structures in the memory hierarchy (disks, main memory, caches, error detection and correction mechanisms)

8.- Introduction to linear and multiprocessor segmented processors

9.- Introduction to operating systems (types of operating systems and characteristics, processes, flows, address spaces, execution modes, basic commands)

10.- Address space management (system services, memory management, virtual memory, swap, thrashing, basic support structures)

11.- Input / output management (system services, buffering, spooling, device independence, basic support structures)

For the follow-up of the subject the student works with his personal computer (laptop) that will have to take to each and every one of the classes

Learning outcomes


At a general level, this subject contributes to the following learning outcomes specified for the subject to which it belongs (Architecture, Operating Systems and Computer Networks):

1.- Demonstrate knowledge and understanding of the internal operation of a computer and the operation of communications between computers

2.- Appropriately use theories, procedures and tools in the professional development of computer engineering in all its areas (specification, design, implementation, deployment, implementation and evaluation of products) so as to demonstrate an understanding of the commitments adopted in design decisions

3.- Evaluate and select hardware and software production platforms for the execution of computer applications and services

4.- Identify current and emerging technologies and evaluate if they are applicable and to what extent to meet the needs of users

5.- Development of team projects

6.- Understand and use effectively manuals, product specifications and other technical information written in English

At a more specific level, at the end of the course the student must be able to:  

LO 1. Describe what a microcontroller is, basic concepts and differences with a microprocessor

LO 2. Detail how the elementary and structured data types typical of high-level languages ​​are represented in computer memory, and apply the algorithms to perform the basic operations with these data types.

LO 3. Understand the difference between different system architectures (RISC, CISC, ...).

LO 4. Differentiate the different modes of addressing microprocessors and microcontrollers

LO 5. Understand how interruptions work

LO 6. Description of the Arduino development board

LO 7. Development of several simple applications focused on the use of microcontrollers in real environments.

LO 8. Describe the devices that allow input / output operations on a computer

LO 9. List the different elements that make it possible to store the information that a computer works with, with a view to technological and architectural aspects for the implementation of registers, main memory and cache.

Working methodology


Guided learning hours include:

  1. Theoretical / practical classes in large groups (the whole class) in which the teacher introduces the contents of the subject and teaching activities are carried out that pursue that the student is an active protagonist in the acquisition of his knowledge.
  2. Activities that are carried out in teams of two people or individually. These practical activities will be carried out both in classes with small groups and in classes with large groups (all students).
  3. Presentations individually and / or in groups of specific topics related to the subject
  4. Writing reports individually and / or in groups of specific topics related to the subject
  5. Execution of projects (in work teams) to work skills, transversal competencies
  6. Problem solving in a given time in the form of challenges to assess the student's ability to cope with everyday market situations 

The final objective is that the student acquires the knowledge of the subject through activities which can be small as more complete projects where the knowledge that is acquired throughout the course takes part. Within the hours of autonomous learning are considered the hours to prepare the theoretical classes, the hours to study and consolidate the acquired knowledge, the hours to prepare the work of the practices and, finally, the hours that the student can dedicate to increase and complement their knowledge on the subject.

Contents


Topic 1- Introduction

  • Introduction to microcontrollers and microprocessors. Basic differences and main features Introduction to the Arduino hardware platform and the Atmel328P microcontroller

Topic 2 - Architectures

  • The CISC vs RISC systems
  • Records vs. Memory
  • Inputs and Outputs. Analog and Digital

Topic 3 - Process management

  • Special registers (PC, SP, FP, Status Register)
  • Calls and functions.
  • Stack

Item 4 - Set of instructions and modes of addressing

  • The set of instructions and operation codes
  • Addressing modes

Topic 5 - The interruptions

  • How to modify the life cycle of a program. Enabling and disabling interrupts. Priorities. Interruption Management Routines. Clocks and Timers

Learning activities


A series of eminently practical activities are made available to students, which are the basis of the learning activities of the subject. These activities will have to be solved by the students, sometimes in a non-contact way, following the instructions of the teachers and / or they will also be worked in class, either as examples in the theory sessions, or in laboratory sessions ( large or small groups). Although some of these activities could be optional (teachers will not individually verify the performance by students), they will be essential to achieve the theoretical and practical knowledge of the subject.

With the aim of gathering evidence of the achievement of the expected learning outcomes, the following activities of an evaluative nature will be carried out, related to the common, transversal and specific competences. The transversal competence associated with the subject of third language knowledge is worked from the documentary sources that the students have to consult (the great majority of the available documentation and that works is in English language)

  1. Activity 1: Analog inputs and outputs with Arduino: individual / group tests of practical application of the theoretical concepts and practical procedures of Topics 1 and 2 of the subject (evidence of learning outcomes RA6, RA7, RA8)
  2. Activity 2: Serial and bluetooth communications: individual / group tests of practical application of the theoretical concepts and practical procedures of Topics 1 and 2 of the subject (evidence of learning outcomes RA2, RA7)
  3. Activity 3: Arduino development board and Python programming language: individual / group tests of practical application of the theoretical concepts and practical procedures of Topics 1 and 3 of the subject (evidence of learning outcomes RA7)
  4. Activity 4: Hardware Interruptions: individual / group tests of practical application of the theoretical concepts and practical procedures of the Units 1 and 5 of the subject (evidence of the results of the learning RA5, RA7)
  5. Final challenge: Individual and group evaluation of the knowledge obtained in carrying out the different activities during the term: individual / group tests of practical application of the theoretical concepts and practical procedures of Units 1, 2, 3, 4 and 5 of the subject ( evidence of learning outcomes RA5, RA7, RA8)
  6. Written test: individual / group tests of practical application of the theoretical concepts and practical procedures of the Units 1, 2, 3, 4 and 5 of the subject (evidence of the results of the learning RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8)

In relation to the basic competences assigned to the subject, these are covered especially with regard to the aspects that are explained:

  • CB2: problem solving within their area of ​​study.
  • CB5: development of learning skills needed for further studies (autonomous access to documentation, effective work habits)

In relation to the transversal competences associated with the subject, these are covered especially with regard to the aspects that are explained:

  • CT1: knowledge of the English language is worked from the documentary collections that students must consult, since most of them are mostly in English. 
  • CT2: working as members of an interdisciplinary team is mostly worked on in practical activities and in the challenge, where management and shared responsibility is especially relevant

In relation to the common competencies associated with the subject, these are covered especially so that the aspects that are explained:

  • CIN1: we work mainly on practical tests that involve the development of computer solutions
  • CIN9: work in a transversal way in the written tests of the subject, which work the most theoretical aspects, but also in the practical activities, because in each of them emphasis is placed on aspects of the structure and architecture of the systems

In order to pass (pass) the assessment activities, students must demonstrate:

  • That they have acquired the theoretical knowledge related to the contents of the subject and that their understanding allows them to put them into practice [MECES-2 point a, point c]
  • That they can develop solutions to problems that, although they may be similar to others seen above, present aspects that are new [MECES-2 point f]

Rules for carrying out the activities

  • All activities are required to attend to be evaluated.
  • Activities are mandatory. Activities not performed or not attended are rated as 0.

Evaluation system


  • Written test: 55%
  • Challenge: 15%
  • Practical activities 25%
  • Continuous assessment: 5%

All grades are required. You can retake the final practice (challenge) and the written tests.

For the written tests, the average of the tests must have a minimum rating of 5.0. If the grade is lower than 5.0 then the final grade of the subject will be that of the written tests.

REFERENCES


Basic

Margolis, M, (2012), Arduino Cookbook, Recipes to Begin, Expand, and Enhance your Projects, Second Edition, O'Reilly Media, ISBN: 978-1-449-31387-6

Purdum, Jack, Beginning C for Arduino, Springer Science + Business Media, ISBN: 978-1-4302-4776-0, ISBN: 978-1-4303-4777-7 (eBook)

Presentations and notes of the subject in Moodle