Código: | L.EIC018 | Sigla: | LC |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Engenharia Informática e Computação |
Ativa? | Sim |
Página Web: | http://web.fe.up.pt/~pfs/aulas/lcom2223/ |
Unidade Responsável: | Departamento de Engenharia Informática |
Curso/CE Responsável: | Licenciatura em Engenharia Informática e Computação |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
L.EIC | 476 | Plano Oficial | 2 | - | 6 | 52 | 162 |
1- Enquadramento
Os dispositivos periféricos são uma parte fundamental dum computador, sem a qual a utilidade ou a facilidade de uso dos computadores seriam significativamente inferiores. A importância destes dispositivos em sistemas baseados em computadores tem crescido desde os primórdios dos computadores (cerca de 1950) e continua com a difusão cada vez maior de sistemas embebidos. Contudo, a programação dos dispositivos periféricos usando a sua interface programática, i.e. a interface de "hardware", requer conhecimentos e técnicas específicas.
2- Objetivos Específicos
Os objetivos da unidade curricular são dotar os estudantes com conhecimentos essenciais para serem capazes de:
3- Distribuição Percentual
Científica: 30%
Tecnológica: 70%
Todos os estudantes que terminarem a unidade curricular com sucesso deverão compreender os principais modelos de acesso a dispositivos periféricos e ser capazes de os aplicar em programas de alto nível relativamente complexos.
Considera-se como essencial para alcançar os objetivos acima enunciados, a aprovação a unidades curriculares (UC) cujo conteúdo é o das UCs:
Periféricos de entrada/saída e seus modos de funcionamento. Mapeamento direto no espaço de endereçamento de memória. Acesso a periféricos no modo "polled" e por interrupção. Interrupções nos processadores IA-32 e ARM e respetivos controladores de interrupções do PC, escrita de rotinas de interrupção.
Periféricos típicos de um PC e de plataformas embebidas.
Programação na linguagem C: principais diferenças em relação à linguagem C++, métodos para estruturação do código. Organização da memória dum processo. Funções: mecanismo de chamada, passagem de parâmetros, armazenamento local e retorno de valores. Programação baseada em eventos. Máquinas de estados.
Criação e utilização de bibliotecas. Ligação estática de código objecto. Programação combinada em C e "assembly". Técnicas sistemáticas para “debugging” baseadas no método científico experimental.
Criação e utilização de bibliotecas. Ligação estática de código objeto.
Utilização de ferramentas de desenvolvimento de software: cc, make, ar, diff, patch, Git, doxygen.
Em situações excecionais (por exemplo, alunos Erasmus inscritos na unidade curricular), as aulas poderão ser lecionadas em Inglês.
"Aprender fazendo". Nas primeiras 10 das aulas laboratoriais os estudantes realizam em grupos de 2 estudantes pequenos trabalhos práticos sobre periféricos comuns do PC ou em plataformas computacionais para sistemas embebidos e aplicando técnicas de programação específicas. Nas restantes aulas laboratoriais será realizado um projeto proposto pelos estudantes que deverá integrar a maioria dos periféricos e técnicas estudadas.
Nas aulas teóricas faz-se a exposição dos conceitos, tendo sempre em vista a sua aplicação prática, e discute-se os pormenores necessários à realização dos trabalhos práticos e do projeto.
Designação | Peso (%) |
---|---|
Teste | 50,00 |
Trabalho laboratorial | 50,00 |
Total: | 100,00 |
Designação | Tempo (Horas) |
---|---|
Estudo autónomo | 30,00 |
Frequência das aulas | 52,00 |
Trabalho laboratorial | 80,00 |
Total: | 162,00 |
Para a obtenção de frequência os estudantes deverão:
1) Ter uma nota mínima de 8 valores em pelo menos um dos testes de programação;
2) Ter uma classificação mínima de 10 valores no projeto;
3) Elaborar e demonstrar o projeto final de integração;
4) Preencher o formulário de auto-avaliação do projeto final de integração;
5) Não exceder o limite de faltas (25% das aulas previstas).
0,5 PP + 0,5 * min(Proj, PP+4)
onde:
PP = (PP1+PP2)/2
PP1, PP2 - classificação da primeira e da segunda provas de programação, respetivamente
Proj - classificação do projeto
Embora o projeto seja realizado em grupos de 4 estudantes, excecionalmente de 3 estudantes, membros do mesmo grupo podem ter classificações diferentes dependendo da sua contribuição.
Para aprovação na unidade curricular, os estudantes têm que:
A avaliação dos estudantes inscritos em regimes especiais, TE, DA, ..., é idêntica à dos estudantes inscritos em regime normal.
A classificação das provas de programação pode ser melhorada (para cumprir requisitos de aprovação ou melhorar a nota) por realização duma prova única semelhante durante o período de recurso dos exames. Para aceder a esta prova é necessário ter frequência.
A classificação do projeto só pode ser melhorada na ocorrência seguinte da unidade curricular.
Em situações excecionais (por exemplo, alunos Erasmus inscritos na unidade curricular), as aulas poderão ser lecionadas em Inglês.