Capacitar o aluno para produzir código de qualidade, fácil manutenção, auto-explicativo e com boa documentação. Incorporar técnicas de testes e métodos de depuração de código à prática cotidiana da programação. Conhecer as Técnicas de Programação,ou seja, as boas práticas aplicadas no mercado.
Alocação dinâmica de memória; Análise de complexidade de algoritmos; Estruturas Lineares; Árvores; Outras estruturas.
- Programação Defensiva
- Assertivas e Programação por Contrato.
- Documentação de Código.
- Tratamento de Erros e Depuração de Código.
- Boas Práticas de Programação e Projeto.
- Refatoração.
- Framework.
- Desenvolvimento Avançado de Software.
Aulas: quartas e sextas, das 10:00 às 11:50 hrs. Atendimento: quarta e sexta das 08:00 às 10:00, sala 35. Email: [email protected]
A metodologia consiste em aulas expositivas, com o auxílio do quadro branco e projetor digital. A fim de fortalecer a aprendizagem da disciplina, as aulas serão complementadas com exercícios e atividades, presenciais e extra-classe.
A avaliação do curso será feita através de exercícios práticos e trabalhos a serem realizadas/entregues em datas determinadas no cronograma ou na plataforma Moodle.
Os exercícios são compostos por problemas e projetos de software irão explorar o conteúdo apresentado na semana, de forma prática. O aluno deve submeter soluções para esses projetos aplicando as boas práticas e técnicas de códigos relacionados aos tópicos da ementa do curso, em procedimento a ser detalhado ao longo do curso.
Os trabalhos serão projetos onde os alunos deverão aplicar as técnicas. Serão feitas duas entregas, em forma de apresentação. Serão avaliados os projetos em relação à aplicação das técnicas apresentadas em sala até o dia da apresentação.
- (eBrary) Pete Goodlie. Code Craft: The Practice of Writing Excellent Code. No Starch Press, 2006.
- (eBrary) Steve MacConnell. Code Complete. Microsoft Press, 2004.
- (open access) Fowler, M. Refactoring.com. Disponível em: http://www.refactoring.com/
- (eBrary) Hawkins, B. Preventative Programming Techniques. Charles River Media, Cengage Learning, 03/2003.
- (eBrary) Gerard Meszaros. xUnit Test Patterns: Refactoring Test Code. Addison-Wesley, 2007.
- (eBrary) Tomayko, J. Hazzan, O. Human Aspects of Software Engineering, Charles River Media, Cengage Learning, 06/2004