MC723 - Laboratório de projetos de sistemas computacionais

Informações Gerais

Professor: Rodolfo Jardim de Azevedo (email)

Aula: Qua e Sex: 08h-12h

Atendimento: Enviar email marcando, indicando preferência de horário. Vejam mais detalhes na seção de atendimento abaixo.

Sala: CC01/CC02

Avaliação

Veja Também

Avisos

11/02
Notas finais.
26/01
Temos uma vaga para PAD nesta disciplina para o primeiro semestre de 2010. Interessados entrem em contato comigo.
18/01
Instruções para instalar as ferramentas no seu computador pessoal.
15/01 Vejam dois pequenos tutoriais no site de vídeos (em MC723AB de 2009).
12/01 Discussão sobre os trabalhos no dia 13/01 no início da aula.
12/01 Entregas feitas até o momento. Por favor, sigam a nomenclatura dos arquivos entregues.
07/01 Modelo de Relatórios.
05/01 Formem grupos para a segunda parte da disciplina. Preencham esta planilha.
05/01 Datas importantes do calendário de graduação.

Objetivos

Aprimorar os conceitos aprendidos no curso de Projeto de Sistemas Computacionais através de exercícios e da modelagem de um sistema com processador(es) e periférico(s).

Atividades

O semestre será dividido em duas partes: exercícios e projeto. Na parte de exercícios, cada aluno implementará pequenas atividades para garantir o entendimento de alguns tópicos básicos. Na segunda parte, cada grupo implementará um projeto que será definido no início do semestre.

Todas as entregas possuem uma carência automática de 24 horas, mas não aceitarei nenhuma justificativa de adiamento com base em fatos ocorridos nessas 24 horas. A carência não é válida se ultrapassar o limite do período letivo.

Bibliografia

Os documentos online, referenciados aqui, também estão disponíveis no meu homedir do IC3 (cd ~rodolfo/mc723).

Atendimento

Além do horário reservado para a disciplina, posso atender os alunos em vários horários alternativos, incluindo pedaços do horário do almoço e também horários no início da noite (até 20h).

Para facilitar seu atendimento, procure marcar por email para garantir que eu esteja disponível no dia. Envie uma mensagem sugerindo um horário de atendimento (olhe minha agenda atualizada). Se você quer me demonstrar algum código, procure tê-lo instalado na máquina ssh.students.ic.unicamp.br para que seja fácil demonstrar na hora (por favor, evite trazer algo para instalar na minha máquina, minha experiência diz que teremos grande trabalho para instalar).

Exercícios

Todos devem fazer, individualmente, cada um dos exercícios a seguir:

Os exercícios deverão ser realizados predominantemente em sala de aula.

Trabalhos

Vejam os prazos de entrega no calendário:

Cada entrega deve ser na forma de um relatório com tamanho máximo de 2 páginas. Todos os grupos devem guardar o código definido por cada entrega para apresentação. Haverá um sorteio para as fases intermediárias e todos os grupos farão uma apresentação final diretamente com o professor.

Relatório da Especificação Detalhada

Este é o primeiro relatório onde o grupo deve descrever, em detalhes, o que será feito no trabalho. O limite continua sendo de 2 páginas, por isto, escreva apenas o necessário. Pense nele como uma fase de estudos e melhoria da especificação. Utilize os conceitos que você já aprendeu com os exercícios, juntamente com as metas para o seu trabalho. É possível mudar a especificação no futuro, junto com as outras entregas (converse com o professor se for necessário).

Para os trabalhos sobre plataforma, recomendo as seguintes seções:

  1. Introdução: Apresente superficialmente o que é esperado de sua plataforma: funcionalidades, características, componentes, motivação para criá-la, um diagrama geral da plataforma pode ser útil para as seções futuras, etc
  2. Componentes da plataforma: Crie uma subseção para cada um dos componentes e indique questões relevantes sobre cada um deles. Ex.: protocolo de comunicação, interface com o software, restrições, forma de implementação (ao menos uma meta), etc.
  3. Software: O que será feito em software, como vai funcionar, o que vai ser executado em cada processador, etc.
  4. Distribuição das atividades para cada entrega: Planejamento das próximas aulas e justificativa para a abordagem escolhida. Ex.: em cada aula pode ser feito um subconjunto dos componentes implementados e funcionando ou todos os componentes serão desenvolvidos em paralelo mas serão entregues parcialmente em cada entrega, etc.
  5. Alocação de atividades aos componentes do grupo: Se o grupo vai dividir as atividades, indicar quais ficarão com cada componente.

Para os demais trabalhos, o formato é livre, mas usem como inspiração a descrição acima sobre plataformas.

Formato da entrega

Para as entregas parciais, proceda conforme os exercícios entregando apenas um relatório de 2 páginas nomeado gXXfY.pdf onde XX é o número do seu grupo com 2 dígitos e Y é o número da entrega. O assunto do email deve ser: MC723 - FY - GXX.

Um arquivo com o nome gXX.tgz, onde XX é o número do seu grupo com 2 dígitos (Ex.: 01 ao invés de 1), enviado por email que contenha o assunto: MC723 - FY - GXX, onde Y é a fase da entrega e XX é o número do seu grupo. Dentro desse arquivo deve existir apenas um diretório com o nome gXX, onde XX é o número do seu grupo, e dentro desse diretório deve conter:

Alguns grupos estão reclamando por não conseguirem executar o comando arp. O problema está no comando que estão tentando executar. O comando correto é o arp.py que está dentro do diretório bin. Infelizmente há um outro programa dentro do pacote do arp que está causando esta confusão (ele era um soft-link que acabou sendo quebrado durante a distribuição).

Qualquer entrega fora da especificação que não contar com um acordo prévio com o professor será terminantemente desconsiderada.

Calendário

06/01Q Apresentação da disciplina e Exercício 1.
08/01S
Exercício 2
13/01Q
Exercício 3
15/01S
Exercício 4
20/01Q
Trabalho
22/01S
Trabalho
27/01Q
Entrega dos trabalhos (primeira opção de data)
10/02Q
Entrega dos trabalhos (segunda opção de data)