
Introdução aos Sistemas e Redes de Computadores
Código
7884
Unidade Orgânica
Faculdade de Ciências e Tecnologia
Departamento
Departamento de Informática
Créditos
6.0
Professor responsável
Pedro Abílio Duarte de Medeiros
Horas semanais
5
Total de horas
60
Língua de ensino
Português
Objectivos
Concebida para uma metodologia de ensino em espiral, onde os mesmos temas são abordados múltiplas vezes mas com uma profundidade crescente, a disciplina "Introdução aos Sistemas e Redes de Computadores" tem como objectivo geral proporcionar aos alunos uma primeira visão, em largura, da arquitectura de computadores, sistemas de operação e redes de computadores.
- Compreender como a informação nas suas múltiplas vertentes, numérica inteira, numérica real, imagem, som, etc..., são representadas e manipuladas pelo computador;
- Compreender como os circuitos digitais síncronos e assíncronos se combinam de forma a implementar um sistema computacional;
- Conhecer os componentes fundamentais de um sistema computacional;
- Compreender as relações entre os múltiplos componentes de um sistema computacional e como estes interagem;
- Conhecer os elementos básicos da organização de um microprocessador;
- Compreender a noção de instrução máquina, como é executada e dos seus efeitos no estado da computação;
- Conhecer os marcos fundamentais da história da informática;
- Compreender a funcionalidade dos sistemas de operação;
- Conhecer os componentes fundamentais das redes de computadores;
- Compreender como os múltiplos componentes de uma rede de computadores cooperam para atingir um objectivo comum.
- Realizar operações matemáticas em diferentes bases numéricas;
- Simplificar expressões em Álgebra de Bool;
- Converter expressões em Álgebra de Bool em circuitos digitais equivalentes e vice-versa;
- Usar um simulador de hardware;
- Desenvolver programas em assembly para um CPU muito simples.
- Aplicação de ferramentas constantes do ciclo de desenvolvimento de programas.
- Cálculo dos tempos básicos de transferência de informação em cenários simplificados de redes de computadores.
- Desenvolvimento da capacidade de comunicação usando linguagem técnica, tanto oral como escrita;
- Capacidade de planeamento e gestão do tempo;
- Selecção de instrumentos adequados à solução de um problema.
Pré-requisitos
A partir da 7ª semana de aulas, é assumido que os alunos têm conhecimentos básicos de Java.
No caso normal, esses conhecimentos vêm da frequência em simultâneo da disciplina de Introdução à Programação. Caso os alunos tenham sido dispensados dessa unidade curricular, assume-se que essas competências já existem.
Conteúdo
1- Circuitos digitais
Álgebra de Boole e circuitos combinatórios
Circuitos sequenciais
Construção dos componentes básicos usados na construção de um computador.
2- Componentes da arquitectura de um computador
Descrição da arquitectura de von Neumann: CPU e memória
Representação de informação
Unidades de entrada e saída
As instruções máquina de um processador.
Programação em assembly. O CPU Intel Pentium
3- Suporte da execução de programas
Sistema operativo e as suas funções. Chamadas ao sistema
Como os programas armazenam informação: ficheiros e directorias
Ciclo de vida de um programa: compilação, interpretação, ligação e carregamento
4- Introdução às redes de computadores
Redes locais. Clientes e servidores
Internet e os seus protocolos.Encaminhamento e resolução de nomes
Estudo de um caso: o protocolo HTTP; HTML e geração de páginas Web
Servidores concorrentes. Noção de processo e seu suporte pela arquitectura e sistema operativo
Bibliografia
Livro recomendado:
Não existe.
Referências adicionais:
Nell Dale and John Lewis
"Computer Science Illuminated", 4th edition
Jones and Bartlett Publishers, 2011
ISBN-13:978-0-7637-7646-6 (pbk.)
James F. Kurose and Keith W. Ross
"Computer Networking: A Top-Down Approach", 5/E
Addison-Wesley, 2009
ISBN-13: 9780136079675
Linda Null and Julia Lobur
"The Essentials of Computer Organization and Architecture", 2nd edition
Jones and Bartlet Publishers, Inc., 2006
ISBN-13: 978-0-7637-3769-6
ISBM-10: 0-7637-3769-0
(Apenas os capítulos 1 a 5, 8 e 12 são relevantes para esta disciplina)
Método de ensino
Por semana, são leccionadas uma aula teórica com a duração de uma hora e meia, uma aula teórico-prática também com duração de uma hora e meia, e uma aula prática com a duração de duas horas.
Nas aulas teóricas, que funcionam em regime aberto de frequência facultativa, são apresentados os pontos essenciais da matéria que serão aprofundados nas aulas teórico-práticas correspondentes que também decorrem em laboratório.
As aulas práticas, que funcionam em regime de laboratório assistido, destinam-se à apresentação e realização de trabalhos práticos sobre tópicos seleccionados da matéria. Nestas aulas laboratoriais irão ser realizados exercícios de "lápis e papel" e exercícios que fazem uso do computador. Neste caso os exercícios serão baseados na experimentação com simuladores e na realização de pequenos programas.
São disponibilizados acetatos da matéria teórica, e teorico-prática, juntamente com guiões dos trabalhos práticos. Os alunos têm ao seu dispor uma página da cadeira no sistema CLIP (http://clip.unl.pt) que mantém informação actualizada sobre o funcionamento da cadeira, em particular prazos de realização dos trabalhos.
Método de avaliação
Durante o semestre serão realizados dois testes escritos individuais, com a duração de duas horas cada. Os dois testes serão classificados com notas entre 0 e 20 com arredondamento a duas casas decimais (NT1 e NT2).
Haverá dois trabalhos para avaliação a realizar e apresentar durante as aulas práticas a saber: Circuitos digitais (NP1); HTTP/Servlet (NP2). Cada um destes trabalhos é avaliada com uma nota, respectivamente NP1 e NP2
Para os alunos de primeira inscrição, a nota da avaliação contínua (NotaAC1) é calculada como se segue:
(1) NotaAC1 = 0.35 * NT1 + 0.35 * NT2 + 0.15 * NP1 + 0.15 * NP2
Para os alunos de segunda inscrição ou superior, a realização dos trabalhos práticos é facultativa. Para estes estudantes, a fórmula de cálculo da nota de avaliação contínua é:
(2) NotaAC2 = 0.5 * NT1 + 0.5 * NT2
No entanto, caso o desejem, estes alunos de segunda inscrição ou superior, poderão realizar os 2 trabalhos práticos, e a fórmula aplicada é a mesma que para os alunos de primeira inscrição. No entanto, neste caso, a sua decisão tem de ser feita até à entrega do trabalho NP1. Esta decisão baseia-se em:
a) caso os alunos repetentes entreguem o primeiro trabalho assume-se automaticamente que a fórmula a aplicar é a (1)
b) caso os alunos não entreguem o trabalho NP1, a nota final será calculada pela fórmula (2) ,
Nos dois casos descritos, caso NotaAC seja superior ou igual a 9.5, o aluno fica aprovado na cadeira e a nota final é a NotaAC calculada, arrendondada às unidades. Caso contrário, o aluno fica automaticamente inscrito no exame.
Para quem tem de ir a exame, e está em 1ª inscrição, ou não estando em primeira inscrição optou por fazer os trabalhos práticos, a nota é caculada pela fórmula (3)
(3) NotaEx1 = 0.70 * Nota_exame + 0.15 * NP1 + 0.15 * NP2
Para quem tem de ir a exame, e não estando em primeira inscrição optou por não fazer os trabalhos práticos, a nota é caculada pela fórmula (4)
(4) NotaEx2 = Nota_exame
Os alunos aprovados por testes, podem inscrever-se para melhoria de nota na época de recurso na Divisão Académica da FCT, obedecendo aos prazos anunciados. A fórmula de cálculo da nota é (3) ou (4) consoante a escolha feita durante o semestre.
Alunos já aprovados à disciplina no ano anterior, e que queiram fazer melhoria de nota, poderão fazê-lo unicamente na época de exame de recurso. Não é permitida a realização de melhoria de nota através de testes. Neste caso, a nota da melhoria é calculada usando a fórmula (4).