Go to:
Logótipo
You are here: Start > EIC0020

Computer Laboratory

Code: EIC0020     Acronym: LCOM

Keywords
Classification Keyword
OFICIAL Computer Arquitechture

Instance: 2010/2011 - 1S

Active? Yes
Web Page: http://web.fe.up.pt/~pfs/aulas/lcom2010/
E-learning page: http://moodle.fe.up.pt/
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEIC 119 Syllabus since 2009/2010 2 - 6 70 162

Teaching language

Suitable for English-speaking students

Objectives

This course unit aims to endow students with the knowledge and the skills required to:
- use hardware interface of the most common computer peripherals;
- develop low level software and embedded software;
- program in the C language (using C++ as a reference);
- use various tools of software development.

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.

Program

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. Writing 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.
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.

Complementary Bibliography

Muhammad Ali Mazidi; 80X86 IBM PC and Compatible Computers: Assembly Language, Design, and Interfacing Volumes I & II, Prentice Hall, 2003. ISBN: 0-13-061775-X

Teaching methods and learning activities

A "learn by doing" approach will be used. In each of the first 7 weeks, students will have a lab assignment about one PC peripheral. 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, and to discuss the details of the lab assignments and the projects.


Software

DJGPP: Plataforma de programação GNU para DOS e MS-Windows
SVN: Sistema de controlo de versões
NASM: "Assembler" para a arquitectura IA-32

keywords

Physical sciences > Computer science > Computer architecture
Physical sciences > Computer science > Programming

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Description Type Time (hours) Weight (%) End date
Attendance (estimated) Participação presencial 58,00
Code development for lab assignments Trabalho escrito 28,00 2010-11-17
Project Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 40,00 2010-12-17
Total: - 0,00

Amount of time allocated to each course unit

Description Type Time (hours) End date
Understanding of concepts and APIs Estudo autónomo 36 2010-11-24
Total: 36,00

Eligibility for exams

Students have to do and present the final project and they cannot miss more than 4 classes.

Calculation formula of final grade

Sum_i(0,05 * Lab_Grade_i ) + 0,35 * Project + 0,10 * Global Evaluation

Examinations or Special Assignments

An individual lab assignment may take place at the end of the semester, if there is any doubt regarding students’ grade.

Special assessment (TE, DA, ...)

Students association leaders will be assessed as ordinary students
Working students have to do the project and four lab assignments(1 every other week, in the first 8 weeks), and present them to the instructor.

Classification improvement

Students have to do a project and lab assignments in the following year.

Observations

Prerequisites: Students should have completed the following course units: Programming, and Microprocessors and Personal Computers.

In extraordinary situations (such as registration of students who do not know Portuguese), classes can be given in English.
Recommend this page Top
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2024-09-29 at 23:12:37 | Acceptable Use Policy | Data Protection Policy | Complaint Portal