| Designação | Código | Curso | Regime | Regente | 
|---|
| Sistemas de Computação | 14268 [8502N6] | Licenciatura em Ciências da Computação [CCOM] | S2 | João Luís Ferreira Sobral | 
| Objetivos | Esta UC é lecionada em diversos ciclos de estudos de licenciatura. A caraterização apresentada é feita a um nível de abstração que possibilite que, em diferentes licenciaturas, alguns aspetos possam ser objeto de maior ou menor aprofundamento. | 
| Programa | 1. Organização e estrutura de um computador A informação num computador: representação da informação (texto, números, imagens e comandos para o processador); representação binária de inteiros e de valores reais (inc. norma IEEE 754).
 Estrutura interna dum computador; execução de instruções; níveis de abstração; execução de programas num ambiente laboratorial (x86 em Linux).
 2. Arquitetura do instruction set
 Estrutura dum instruction set: operações/operandos, acesso a dados, tipos e formatos de instruções, modelo de programação dum processador.
 O nível ISA do x86 em Linux: operações aritméticas e acesso a operandos, estruturas de controlo em C, funções/procedimentos.
 Análise comparativa do instruction set de outras arquiteturas com a do IA-32.
 3. Avaliação do desempenho de computadores
 Metodologia de avaliação de desempenho.
 Fatores da arquitetura dum computador no seu desempenho
 | 
| Bibliografia | Computer Systems: A Programmer's Perspective (CS:APP), Randal Bryant and David O'Hallaron, Pearson, 3rd Ed., 2015. 
 Computer Organization and Design: the hardware/software interface, D.Patterson, J.Henessy, Morgan Kaufmann Publishers, 4th Ed., 2011.
 | 
| Resultados da aprendizagem | Ao completar com sucesso a UC cada estudante deverá demonstrar que adquiriu os seguintes conhecimentos, capacidades e aptidões: - reconhecer a organização e estrutura funcional dum computador;
 - adquirir capacidades para acompanhar a evolução da estrutura dos sistemas de computação;
 - reconhecer as principais características da arquitetura de um instruction set;
 - analisar a funcionalidade de programas imperativos (tipo C), com recurso ao assembly e a linguagem máquina;
 - aplicar técnicas com impacto no desempenho na execução de código;
 - analisar código compilado para linguagem máquina;
 - aptidões transversais, nomeadamente a ter desenvolvido a capacidade de raciocínio na resolução de problemas, e a capacidade de comunicação escrita e oral
 | 
| Método de avaliação | 1. Participação dos alunos na preparação e execução das práticas experimentais 2. Prova(s) escrita(s) individual
 3. Exame de recurso
 | 
| Funcionamento | Turno: T 1; Docente: João Luís Ferreira Sobral; Dep.: DI; Horas: 30.Turno: PL 1; Docente: Rui António Sabino Castiço Silva; Dep.: DI; Horas: 30.
 Turno: PL 2; Docente: Rui António Sabino Castiço Silva; Dep.: DI; Horas: 30.
 Turno: PL 3; Docente: João Luís Ferreira Sobral; Dep.: DI; Horas: 30.
 Turno: PL 4; Docente: João Luís Ferreira Sobral; Dep.: DI; Horas: 30.
 |