MAC0218  Técnicas de Programação II

Por | Em

OBJETIVOS:  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]