Métodos Avançados de Programação - 2008.2
Professor: Rodrigo Rebouças de Almeida (rodrigor@rodrigor.com)
Monitor: Jefferson (Visite a página da monitoria).
Se você é aluno da disciplina, você deve se inscrever no grupo de discussão a seguir. Infome seu e-mail:
|
|
| Participe do grupo Métodos Avançados de Programação |
| Visitar este grupo |
- Se você programa em Java, você deve se inscrever no Grupo de Usuários Java da Paraíba! Acesse: http://www.pbjug.org
Pré-requisitos
Atenção! Além dos pré-requisitos de disciplinas, para aproveitar ao máximo o conteúdo, você deve:
- Programar bem em Java. (Nesta disciplina desenvolveremos um projeto, em Java. Se você não programa bem em Java, corra atrás do prejuízo agora! Pegue um bom livro de Java e estude muito!).
Exemplo de um bom livro de Java: Thinking in Java 3rd edition - Ter conhecimentos sobre Orientação a Objetos (trabalhar com interfaces, herança, polimorfismo, etc.)
- Saber UML
- Saber usar o ANT
- Saber usar o EasyAccept
Avaliação
A avaliação da disciplina será composta por mini-testes surpresa e por um projeto que deve ser desenvolvido ao longo do período.
- Mini-testes: Uma ou duas questões para serem respondidas em sala de aula. O conteúdo do mini-teste é qualquer assunto discutido em sala de aula. Cada aluno deve responder a 5 mini-testes por unidade (ou 15 mini-testes na disciplina inteira).
- Poderão ser aplicados mais de 5 mini-testes, ao longo de uma unidade. O aluno deve responder a pelo menos 5 deles.
- O aluno pode ver o mini-teste e optar por entregá-lo ou não.
- Se o aluno entregar mais de 5 mini-testes, serão consideradas as 5 maiores notas.
- Se o aluno entregar menos de 4 mini-testes num período, ele deverá informar ao professor se quer fazer a reposição da nota. (veja detalhes sobre a reposição, abaixo).
- Um projeto: O Projeto tem como objetivo por em prática o conteúdo visto em sala de aula, permitindo que o aluno aprofunde o conteúdo abordado. O projeto deverá ser implementado e entregue em três etapas, na semana de provas de cada unidade. A cada etapa, o projeto será avaliado segundo os três critérios a seguir, com seus respectivos pesos:
- Funcionalidade (30%) - O projeto deve passar nos testes de aceitação definidos para a unidade.
- Implementação dos padrões de projeto (40%)
- Qualidade do código produzido (30%).
- Participação do Aluno no Projeto: (nota entre 0,0 e 1,0) Embora o projeto seja em equipe, a avaliação é individual. Os integrantes serão cobrados por sua participação na análise, design e programação do projeto. Terão que demonstrar segurança quanto às decisões tomadas e justificar as decisões de projeto. Ao final de cada unidade, farei uma breve avaliação sobre a implementação do seu projeto. Esta avaliação lhe atribuirá uma nota entre 0,0 a 1,0. Esta avaliação poderá ser oral, com apresentação do projeto pela equipe, ou uma ou duas questões sobre o projeto, inclusas em minitestes.
Atenção: Se for comprovada cópia de projetos, as equipes envolvidas receberão nota zero na iteração.
Para compor a nota de cada unidade, a média dos minitestes e a nota do projeto terão pesos diferentes, conforme a tabela a seguir:
| Peso minitestes | Peso projeto |
|
|---|---|---|
| 1a unidade | 90% | 10% |
| 2a unidade | 70% | 30% |
| 3a unidade | 50% | 50% |
A nota de cada unidade será calculada assim:
NotaUnidade = (MédiaDosMinitestes * PesoMiniteste) +
(NotaDoProjeto * PesoProjeto * ParticipacaoAluno)
- Reposição:
- Se o aluno entregar menos de 5 minitestes numa unidade, ele poderá optar por cancelar a nota da unidade e fazer reposição.
- Se o aluno não participar da implementação do projeto, na unidade, ele poderá optar por fazer reposição.
- Se a equipe não enviar o projeto na unidade, os membros da equipe podem optar por fazer reposição.
- A reposição será uma prova, contendo questões sobre o assunto visto na unidade.
- A nota da unidade será a nota da prova de reposição.
Bibliografia
Head First Design Patterns, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004, Pages: 676, ISBN 10: 0-596-00712-4 | ISBN 13:9780596007126
Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson e Vlissides, Addison-Wesley, 1995.