Guia do CiCalouro da UnB

Guia criado com o objetivo de ajudar os calouros do curso de Ciência da Computação da Universidade de Brasília

Índice:

Introdução aos Sistemas Computacionais

Índice

Introdução

É uma disciplina com um foco maior em hardware, considerada por alguns como uma das mais trabalhosas do primeiro semestre.

Para os calouros ela é ministrada pelo Professor Lamar, cuja reputação inclui provas difíceis e projetos finais trabalhosos, portanto é importante não ficar para trás na matéria.

Suas aulas são muito bem explicadas e organizadas, não hesite em tirar dúvidas caso não tenha entendido algo.

Conteúdos

Todas as aulas e conteúdos são previstos detalhadamente na ementa da disciplina.

Inicialmente é dado um breve resumo da história da computação, então ensinando-se sobre os componentes básicos de um computador com alguns detalhes a mais.

Após esse começo, o professor revisa a matéria de eletrodinâmica (nada além do que foi ensinado no Ensino Médio), e então o professor ensina sobre os processadores RISC-V e seu conjunto de instruções (linguagem) chamado Assembly RISC-V.

Como vocês vão ver, Assembly RISC-V é uma linguagem de programação de baixíssimo nível, e nela vocês terão que resolver alguns exercícios e programar um jogo usando um simulador chamado RARS para o projeto final (todos estes termos ficarão mais claros conforme a matéria avança).

Provas

A disciplina tem 3 provas. É recomendado fazer as listas de exercício antes das provas. No momento da prova, é preciso tomar muito cuidado com questões aparentemente fáceis e com o gerenciamento do tempo, pois apesar de pequenas elas são trabalhosas.

Prova 1: Bastante conversão de base, geralmente uma questão de conversão em IEEE754, além de aritmética em outras bases. Por ser a primeira prova, preste atenção ao estilo do professor em montar as provas, pois será o mesmo no resto da disciplina.

A preencher (falar sobre cada prova e dicas)

Projeto Final

O projeto final dessa disciplina, como dito em Conteúdos, consiste em programar um jogo usando a linguagem Assembly RISC-V que será ensinada antes.

Para não ficar estagnado na hora de programar o jogo ou cometer muitos erros difíceis de resolver, é recomendado que você programe alguns programas simples antes, como alguns exercícios fáceis das aulas práticas de APC, assim você irá se acostumar com a linguagem e irá perder menos tempo na hora de fazer o jogo.

O jogo será programado no simulador RARS, que contém simuladores de entrada e saída para teclado (Keyboard MMIO Simulator) e um “monitor” chamado Bitmap Display, detalhes de como usar serão ensinados pelo professor, mas se tiver dúvidas não hesite em perguntá-las para o professor, monitores ou veteranos.

Assim como em APC, o melhor jeito de entender como começar ou como estruturar seu jogo e seu código se trata de ler outros projetos já feitos, seguem alguns recomendados:

Note que para usar imagens no simulador, elas precisam estar no formato binário (isso será explicado pelo professor), então para adicionar facilmente imagens ao seu jogo, crie ou procure as imagens que quiser e salve-as no formato Bitmap, então use uma ferramenta chamada bmp2bin para convertê-las para o formato binário e usá-las no projeto.

Recursos

A princípio, todos os recursos recomendados podem ser encontrados no moodle da disciplina. Mas para aqueles que desejam mais, segue a lista:

Cheat Sheet