|Responsible unit:||Department of Informatics Engineering|
|Curso/CE Responsável:||Master in Informatics and Computing Engineering|
|Acronym||No. of students||Study Plan||Curricular Years||Credits UCN||Credits ECTS||Contact hours||Total Time|
|MIEIC||208||Syllabus since 2009/2010||2||-||6||70||162|
|Pedro Alexandre Guimarães Lobo Ferreira Souto|
|Pedro Alexandre Guimarães Lobo Ferreira Souto||2,00|
|Mário Miguel Fernandes Cordeiro||3,00|
|José Carlos de Queirós Pinto||3,00|
|Pedro Miguel Moreira da Silva||9,00|
|Nuno Miguel Cardanha Paulino||3,00|
|Pedro Alexandre Guimarães Lobo Ferreira Souto||3,00|
|Luís Miguel Ramos Bárbara Cunha Pinto||3,00|
I/O devices are an integral part of a computer, without which the usefulness or the ease of use of a computer would be significantly lower. The importance of I/O devices in computer-based systems has increased since the first generation of computers, and it continues up to these days with the ever increasing use of computers in embedded systems. However, programming of I/O devices using their programatic interface requires specific knowledge and techniques.
2- Specific Objectives
This course unit aims to endow students with the knowledge and the skills required to:
3- Percentual Distribution
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 operation. Direct mapping in a process address space. Access to peripherals in polled mode and by interrupt. Processor interrupts in the IA-32 architecture and the interrupt controller, interrupt service routines in Assembly and in C.
Study of some typical personal computer peripherals, such as keyboard, mouse, graphics card, real time clock, timer, loudspeaker and serial port.
Programming in the C programming language: main differences with respect to C++ language; structured programming in C. Memory layout of a process. Function calls: mechanisms, parameter passing, storage of local variables and return values. Event based programming. Combined programming in C and the IA-32 processor family assembly.
Creation and use of libraries. Static linking of object code.
Use of software development tools: gcc, make, gdb, ar, prof, diff, patch and SVN.
A "learn by doing" approach will be used. In the first 9 lab classes, the students will carry out in groups lab assignments about some of the most common PC peripherals. In the remaining weeks, students will develop a small integration project using several peripherals and the techniques previously studied.
Lecture classes will be used to present the concepts, taking into account their application in the lab assignments, and to discuss the details of the lab assignments and the projects.
|Frequência das aulas||60,00|
Students have to do and present the final project and they cannot miss more than 25% of the scheduled classes.
0,45 * Labs + 0,45 * Project + 0,10 * Class_participation
"Labs" is the average of the grade of 4 labs chosen by the student. For final grades of 19 or 20 "valores", one of the labs "chosen" must be the mouse lab.
Although the lab assignments and the project will be done in groups of 2 students, exceptionally of 1 or 3, members of the same group may have different grades.
An individual lab assignment may take place at the end of the semester, if there is any doubt regarding the students’ grade.
Special exams consist of a project similar to the one developed during the semester, including the presentation of 1) a project proposal and, 2) a project specification. After approval of the latter, the student has a 7 day deadline to develop and present the specified project.
Dirigentes Associativos: The grading rules applied to these students are similar to those applied to other students.
Trabalhadores Estudantes: The grading rules applied to these students are similar to regular students except in two aspects. First, these students must present, in dates and times to agree with the lecturer, the 3 labs to be graded in the lab classes. Second, the weight of the final project is 50%. The date of presentation/discussion of the different grading elements (including the proposal and the specification of the project) must fall in the corresponding grading period of regular students. In addition, these students must agree with the lecturer a review of their project in the week of 8 to 12 of December. It is the students responsability to get in touch with the instructor at least 7 days in advance for arranging the different dates.
Students have to do a project and lab assignments in the following year.
In extraordinary situations (such as registration of students who do not know Portuguese), classes can be taught in English.