MAC0218 Técnicas de Programação II
Por | EmOBJETIVOS: Expor o estudante a técnicas mais avançadas de programação, incluindo depuração, testes, princípios de orientação a objetos, padrões de projeto e construção de interfaces gráficas ou Web. Esses tópicos são aplicados em uma parte prática que consiste em desenvolver um sistema de médio porte em uma linguagem orientada a objetos (por exemplo Java, Python ou Ruby).
PROGRAMA RESUMIDO: Controle de versões. Princípios de orientação a objetos: encapsulamento, herança, polimorfismo, interfaces, tratamento de exceções. Arcabouços orientados a objetos para construção de interfaces gráficas complexas. Introdução a padrões de projeto OO e MVC. Técnicas avançadas de teste de software.
PROGRAMA: Controle de versões tais como git e boas práticas metodológicas para desenvolvimento de software de forma colaborativa. Princípios de orientação a objetos: encapsulamento, herança, polimorfismo, interfaces, tratamento de exceções. Arcabouços orientados a objetos para construção de interfaces gráficas complexas. Introdução a padrões de projeto OO e MVC. Técnicas avançadas de teste de software incluindo arcabouços para automatização de testes e boas práticas de codificação baseadas em testes. Qualidade de Código e Refatoração.
RESPONSÁVEIS: Alan Durham, Alfredo Goldman, Fabio Kon, Marco Aurélio Gerosa.
PRÉ-REQUISITOS: MAC0216.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 6 horas, 4 créditos-aula e 2 créditos-trabalho.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM:
Método: o aluno será avaliado continuamente durante o semestre, tendo em
vista as atividades apresentadas ao professor, monitores e seus pares na
disciplina.
Critério: média ponderada dos tarefas realizados durante a disciplina e
assiduidade às aulas e tarefas.
Norma de recuperação: média ponderada da nota final e de provas e/ou tarefas de recuperação.
BIBLIOGRAFIA BÁSICA:
- E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
- E. Freeman, E. Robson, B. Bates, K. Sierra, Head First Design Patterns, O Reilly, 2004.
- K. Beck, TDD desenvolvimento guiado por testes, Bookman, 2010
- M. Aniche, Test-Driven Development. Teste e Design no Mundo Real, Cada do Código
- M. Fowler, Refactoring. Improving the Design of Existing Code, Addison-Wesley, 1999
- B. Kernighan, R. Pike, The Practice of Programming, Addison-Wesley, 1999
OBSERVAÇÃO: Disciplina optativa eletiva nos currículos do BCC.
[Veja dados da disciplina no JúpiterWeb]