Expor o estudante a técnicas mais avançadas de programação, incluindo depuração, testes, orientação a objetos, padrões de projeto e construção de sistemas Web. Esses tópicos são aplicados em uma parte prática que consiste em desenvolver um sistema Web de médio porte em uma linguagem orientada a objetos (por exemplo Java, Python ou Ruby).
1. Boas práticas metodológicas para desenvolvimento de software de forma colaborativa e ferramentas de gestão de projetos. 2. Orientação a objetos. 3. Arcabouços orientados a objetos para construção de sistemas web. 4. Padrões de projeto de software. 5. Técnicas avançadas de teste de software. 6. Qualidade de código e refatoração.
1. Boas práticas metodológicas para desenvolvimento de software de forma colaborativa e ferramentas de gestão de projetos. 2. Orientação a objetos: encapsulamento, herança, polimorfismo, interfaces, tratamento de exceções. 3. Arcabouços orientados a objetos para construção de sistemas web. Introdução a HTTP, HTML, CSS e JavaScript. 4. Padrões de projeto de software. 5. 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. Test-driven development (TDD) e Behavior-Driven Development (BDD). 6. Qualidade e estética de código e refatoração. 7. Noções de implantação na nuvem e contêineres.
Bibliografia Básica: A. Fox, D. Patterson. Construindo Software como Serviço: Uma Abordagem Ágil Usando Computação em Nuvem, Strawberry Canyon, 2017. E. Freeman, E. Robson, B. Bates, K. Sierra, Head First Design Patterns, O Reilly, 2004. Robert C. Martin Series. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice-Hall. 2008. Bibliografia Complementar: M. Aniche, Test-Driven Development. Teste e Design no Mundo Real, Cada do Código K. Beck, TDD desenvolvimento guiado por testes, Bookman, 2010 M. Fowler, Refactoring. Improving the Design of Existing Code, Addison-Wesley, 1999 E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995. "Beck, Kent. Implementation Patterns. Upper Saddle River, NJ: Addison-Wesley, 2007."