EA872K/L:2014 2S

De DCA-Wiki

Revision as of 11:59, 26 September 2014; Marco (Discussão | contribs)
(dif) ← Versão anterior | ver versão actual | Versão posterior → (dif)

Contents

EA872 - Laboratório de Programação de Software Básico

  • Prof. Marco A. Amaral Henriques (DCA/FEEC, sala 305)
  • Horário das aulas: 414 415 (turma K) e 416 417 (turma L)
  • Sala: LE-27

Avisos

  • 140923: esta página foi substituída por http://www.ggte.unicamp.br/moodle/course/view.php?id=533 e não será mais atualizada.
  • 140922: esta página da disciplina foi substituída por outra no ambiente Moodle disponível aqui.
  • 140922: Atenção: vários alunos estão perdendo pontos nos relatórios por não explicar COMO/PORQUE os scripts e programas conseguem obter seus resultados. Alertamos mais uma vez que não é suficiente explicar o que os scripts/programas fazem (isso pode ser feito por qualquer um que executá-los). O objetivo é entender os detalhes da codificação que permitiram chegar aos resultados observados.
  • 140922: vejam detalhes do auxiliar da disciplina mais abaixo

Auxiliar didático

  • A disciplina contará com um auxiliar didático que estará disponível nos horários das aulas e em alguns horários extras para ajudar a esclarecer dúvidas na resolução dos exercícios.
  • Nome: Vitor Moia
  • E-mail: vhgmoia@dca.fee.unicamp.br
  • Horários de atendimento além do horário dos laboratórios:
    • Seg: 14:00 ~ 16:00
    • Ter: 14:00 ~ 16:00
  • Local: fora dos horários de aula, envie um e-mail para combinar o local.

Notas

  • Em caso de erro na transcrição ou qualquer outra dúvida, procure o professor imediatamente.

Legenda das colunas na tabela de notas:

  • MR = Média dos Relatórios Parciais
  • RF = Relatório Final (parte do Trabalho Final)
  • AP = Apresentação (entrevista e testes) (parte do Trabalho Final)
  • TF = Nota do Trabalho Final
  • NF = Nota Final da disciplina
  • As notas estão disponíveis em arquivo pdf neste link.

Introdução e Objetivos da Disciplina

Esta disciplina será baseada no desenvolvimento de um projeto. A idéia é oferecer ao aluno a oportunidade de desenvolver durante o período letivo um software que tenha uma grande interação com o software de sistema (sistema operacional). Isto será possível graças à substituição de experimentos independentes por sub-projetos inter-dependentes, onde cada sub-projeto agrega os resultados dos sub-projetos anteriores.

A disciplina é dividida em atividades que, em seqüência, resultarão no desenvolvimento de um elemento da arquitetura WWW (World-Wide Web): o servidor HTTP (Hyper-Text Transfer Protocol). Este servidor, apesar de simples quando comparado aos servidores HTTP comerciais, será capaz de:

  • interagir com navegadores comerciais,
  • manter um diretório de páginas HTML (Hyper-Text Markup Language),
  • responder às principais requisições HTTP.

As atividades cobrirão principalmente os seguintes temas ministrados nas disciplinas EA876 e EA879:

  • compiladores: será construído um parser para análise das mensagens HTTP submetidas ao servidor utilizando as ferramentas lex e yacc;
  • sistemas operacionais: várias chamadas de sistema serão empregadas para:
    • manter um diretório de páginas HTML (sistema de arquivos);
    • criar e controlar processos para atender concorrentemente a requisições HTTP submetida ao servidor (controle de processos);
    • utilizar um pool de buffers na transferência de arquivos para o cliente (gerenciamento de memória).

Adicionalmente, o aluno irá utilizar as chamadas de sistemas para acesso à rede (biblioteca de sockets), adquirindo assim os conceitos básicos de programação distribuída (network programming).

As atividades de programação serão desenvolvidas majoritariamente em C, C++ ou Shell Script e serão baseadas no sistema operacional Unix/Linux.

Dinâmica da Disciplina

  • O professor apresentará no início de cada atividade uma explanação sobre a mesma enfocando os principais conceitos necessários ao seu desenvolvimento.
  • O material será disponibilizado exclusivamente na página Web da disciplina.
  • O professor estará a disposição dos alunos durante os horários de aula, bem como fora destes em sua sala (305) de acordo com horário previamente definido e divulgado na página da disciplina.

Critérios de Avaliação

  • Os alunos deverão conduzir as atividades individualmente.
  • No final do semestre cada aluno fará uma apresentação completa de seu projeto para o professor, onde o aluno será questionado sobre o conteúdo da disciplina, detalhes da implementação do projeto, bem como demonstrar os programas em funcionamento sob diversas situações.
  • A nota final será composta de:
    • média das notas parciais das atividades com peso de 70%;
    • nota da apresentação e relatório final do projeto com peso de 30%.
  • Para ser aprovado o aluno precisa obter nota final maior ou igual a 5,0, ter freqüência maior ou igual a 75%.
    • Nesta disciplina de laboratório não está prevista a realização de exame.

Observações

  • É incentivada a discussão e a troca de informações entre os alunos, mas relatórios e/ou programas em duplicata poderão acarretar a anulação da nota da atividade e a reprovação dos alunos envolvidos (recomenda-se que cada aluno proteja sua área de trabalho com o comando "chmod go-rwx ." executado em sua área home, para evitar cópias por parte de "colegas").
  • Os relatórios serão recolhidos para avaliação no início da aula nos dias marcados, sendo considerada entrega atrasada aquela feita após este recolhimento.
  • A entrega feita com atraso será penalizada em 1 (um) ponto se entregue dentro das primeiras 24 horas de atraso. A cada novo período de 24 horas de atraso (sem contar sabados, domingos e feriados), será descontado mais 1 (um) ponto da nota da atividade atrasada.
    • Observe que entrega do relatório no mesmo dia marcado, mas após o recolhimento no início da aula, será considerada como atrasada. A partir do décimo dia útil de atraso a atividade já não terá mais valor para compor a nota final.
  • Não há exame ou outra atividade para reposição de atividades não realizadas e/ou relatórios não entregues.
  • Se o professor não for localizado para a entrega de uma atividade em atraso, o aluno deverá entregá-la na secretaria do DCA (sala 309) e solicitar à secretária (Carmen) que registre no mesmo a data e a hora do recebimento (peça para ela receber, datar e assinar).


Material didático de apoio


Programa de atividades

Atenção:

* consulte frequentemente este programa, pois ele está sendo revisado e poderá sofrer mudanças.
Atividade Semanas Início Fim Referências
1 1 03/09 10/09 Roteiro da Atividade 1 (PDF)
2 1 10/09 17/09 Roteiro da Atividade 2 (PDF)
3.1 1 17/09 24/09 Roteiro da Atividade 3 (PDF) (Exercícios 8.1 e 8.2)
3.2 1 24/09 01/10 Roteiro da Atividade 3 (PDF) (Exercícios 8.3 e 8.4)


Ferramentas pessoais