| Code: | L.EIC018 | Acronym: | LC |
| Keywords | |
|---|---|
| Classification | Keyword |
| OFICIAL | Informatics Engineering and Computing |
| Active? | Yes |
| Responsible unit: | Department of Informatics Engineering |
| Course/CS Responsible: | Bachelor in Informatics and Computing Engineering |
| Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
|---|---|---|---|---|---|---|---|
| L.EIC | 332 | Syllabus | 2 | - | 6 | 52 | 162 |
| Teacher | Responsibility |
|---|---|
| Francisco António Ferraz Martins de Almeida Maia |
| Lectures: | 2,00 |
| Laboratory Practice: | 2,00 |
| Type | Teacher | Classes | Hour |
|---|---|---|---|
| Lectures | Totals | 2 | 4,00 |
| Francisco António Ferraz Martins de Almeida Maia | 4,00 | ||
| Laboratory Practice | Totals | 17 | 34,00 |
| Ricardo Jorge Teixeira de Sousa | 2,00 | ||
| Francisco António Ferraz Martins de Almeida Maia | 4,00 | ||
| Bruno Daniel Durães Pereira Mendes | 4,00 | ||
| Fernando Luís Santos Rego | 4,00 | ||
| José Eduardo Ferreira da Costa | 4,00 | ||
| Hugo Miguel Oliveira Romualdo Simões | 8,00 | ||
| Sara Filipa Couto Fernandes | 4,00 | ||
| Simão Paulo Rato Alves Reis | 4,00 |
1- Introduction
Peripheral devices are a fundamental part of a computer, without which the usefulness or ease of use of computers would be significantly lower. The importance of these devices in computer-based systems has grown since the earliest days of computers (around 1950) and continues with the increasingly widespread adoption of embedded systems. However, programming peripheral devices using their programmatic interface, i.e., the “hardware” interface, requires specific knowledge and techniques.
2- Specific Objectives
The objectives of the course unit are to provide students with essential knowledge so that they are able to:
3- Percentage Distribution
Scientific: 30%
Technological: 70%
Students, who successfully complete this course unit, should understand the main models of hardware access and be able to apply them in the development of relatively large programs.
Students should have the knowledge and have acquired the competencies expected from approval in the courses:
Input/output peripherals and their modes of operation. Direct mapping into the memory address space. Access to peripherals in polled mode and via interrupts. Interrupts on IA-32 and ARM processors and the PC’s respective interrupt controllers; writing interrupt service routines. Typical PC peripherals.
Programming in C: main differences compared to C++, and methods for structuring code. Memory organization of a process. Functions: calling mechanism, parameter passing, local storage, and returning values. Event-driven programming and state machines.
Creating and using libraries. Static linking of object code. Systematic debugging techniques based on the scientific experimental method.
Use of software development tools: cc, make, ar, diff, patch, Git, doxygen.
“Learning by doing.” In the first 8 lab classes, students work in groups on small practical assignments involving common PC peripherals, applying specific programming techniques. In the remaining lab classes, students will carry out a project, also in groups, which should integrate most of the peripherals and techniques studied.
In the theoretical classes, the concepts are presented with an ongoing focus on their practical application, and the details needed to carry out the practical assignments and the project are discussed.
| Designation | Weight (%) |
|---|---|
| Teste | 40,00 |
| Trabalho laboratorial | 60,00 |
| Total: | 100,00 |
| Designation | Time (hours) |
|---|---|
| Estudo autónomo | 30,00 |
| Frequência das aulas | 52,00 |
| Trabalho laboratorial | 80,00 |
| Total: | 162,00 |
To obtain attendance eligibility, students must not exceed the absence limit (25% of the scheduled classes).
Students who obtained a grade higher than 10 points in the project in previous years (23/24 or 24/25) and indicate their intention to use that grade in the current year are exempt from attending the practical classes.
It is not possible to use test grades from previous years.
Final grade = 0,4*T + 0,6*Proj
where:
T = theoretical test grade
Proj = the project's grade
Although the project will be done in groups of 4 students, members of the same group may have different grades depending on their contribution
To pass this subject, students are required to get a minimum of 8.0 on the test. It is not possible to use test grades from previous years.
Students who obtained a grade higher than 10 points in the project in previous years (23/24 or 24/25) may use that grade by indicating this intention to the course unit coordinator via the appropriate form.
Students may improve their grade for the theoretical component in the resit exam.
Students who passed in the previous edition may improve their grade in all components by enrolling in the course unit again.
In extraordinary situations (such as registration of students who do not know Portuguese), classes can be taught in English.
During assessment sessions, the use of any electronic device (for example: mobile phones, tablets, earphones, smartwatches, glasses, etc.) is strictly prohibited, except for those expressly authorized by the teaching staff, or in situations предусмотр under the Special Needs Student Statute. It is the student’s responsibility to anticipate and address this situation before the start of the assessment session.