MAB353 - Computadores e Programação

## Computadores e Programação

A disciplina apresenta fundamentos importantes como a preparação para as disciplinas na área de arquitetura de computadores, sistemas operacionais e compiladores.

É uma das matérias mais básicas do curso de Ciência da Computação e uma que dá uma compreensão boa de como um computador funciona. Geralmente é dividida em duas fases: **HELL** - você aprende exatamente como um computador trabalha com bits, representa números e aprende linguagem de montagem, que tem tanto detalhe a ser lembrado que dá vontade de gritar. E **PURGATORY** - essa é a parte relativamente mais simples da matéria, com linkagem de programas e resolução de símbolos. Você passa a entender C e Linux de uma forma bem diferente depois disso tudo.

## Tópicos Abordados

* Estrutura dos computadores. Linguagem de máquina. Técnicas de endereçamento.
* Representação digital de dados.
* Codificação simbólica e montadores.
* Geração de código de montagem para construções em linguagem de alto nível.
* Implementação de chamadas a subrotinas.
* Armazenamento e manipulação de vetores e estruturas heterogêneas.
* Estrutura de processos, tratamento de exceção e interrupções, comunicação entre processos e de processos com o sistema operacional.
* Resolução de símbolos, bibliotecas estáticas e dinâmicas, carga e ligação de programas.

## Avaliação

### Presença

**Aguiar -** Cobra presença e reprova por falta. A aula não é tão interessante, porque todo o conteúdo tem no livro (e o que não tem está nos slides). Mas ele dá pontos bônus para resolver umas questões em sala.

### Trabalhos

**Aguiar -** Tem trabalhos (uns três geralmente) e são essenciais para passar na matéria.

### Provas

**Aguiar -** São duas/três provas mais PF e segunda chamada. A média final para passar é 5.

### Didática

**Aguiar -** Não é lá o professor dos sonhos. Ele basicamente passa slides e explica os conceitos pelo que está nos slides. Às vezes parece que ele não tem tanta familiaridade/experiência com o conteúdo. Tudo o que ele dá em aula está no livro, então o lado bom de puxar com o Aguiar é ter o livro para estudar depois.

### Carrasco/Mamata

**Aguiar -** Não é mamata nem de longe. A primeira prova dela é geralmente tão grande que você não vai conseguir terminar tudo.

### Agrega valor

**Aguiar -** A matéria em si agrega muito valor. Você entende C e Linux como nunca antes, e entende como o computador funciona bem mais claramente. Porém a didática faz com que o valor seja um pouco menor.

### Veredito

**Aguiar -** Já puxei matéria com o Quilula (o outro professor que dá essa matéria) e francamente se a escolha for entre Aguiar e Quilula eu recomendaria o Aguiar.

## Dicas

* Tenha o livro de comp prog para as aulas do Aguiar. É essencial.
* Arruma um grupo que preste para os trabalhos, eles ajudam MUITO na nota final.
* Estuda bastante e faz provas antigas antes da primeira prova. Não se preocupa muito em deixar coisas em branco, acontece com a maioria.
* Não almoce no bandejão. O Aguiar sempre chega na hora e faz a chamada assim que ele chega, se você atrasar pode ficar na listinha dele ou receber só meia presença.

## Testemunhos

**2015/1 - Aguiar**: Ele está na aula 13h em ponto. E reclama se você falar, não prestar atenção ou dormir. Se ele marcar sua cara, vai pegar no seu pé até o fim do período. Fica escondido, tenta prestar atenção na aula e você vai se sair bem. Aulas são bem chatinhas com slides e dá vontade de dormir, ainda mais após o almoço. A forma que ele calcula as notas ajuda bastante algumas pessoas a aumentar a nota.