Estudo e aplicação de estratégias e técnicas ágeis na programação de computadores. Clean Code. Coding Dojo. Pair Programming. Refatoração de código. Test-driven Development. Behavior-driven Development. Organização e manutenibilidade de código.
Linguagem DART. Framework Flutter: layout, widgets, eventos, navegação entre telas, menus, temas.
Conceitos de testes – falha / bug / erro. Objetivo de um teste unitário. Anatomia de testes unitários. Pilares de um bom teste. Mock e dependência de injeção. TDD. Testes de integração. Testes funcionais. Selenium. Xpath.
Framework Flutter: Armazenamento de informações. Integração com aplicações REST. Autenticação. Firebase.
Sala com informações gerais para alunos e para que possam efetuar a ambientação com a plataforma UFPR Virtual antes do efetivo início do curso.
Estarão disponíveis exemplos de tarefas e questionários, que os professores usarão como avaliação das disciplinas.
Noções de Banco de Dados. Arquitetura e Recursos dos Sistemas Gerenciadores de Banco de Dados. Linguagem SQL. Tecnologias NoSQL.
Conceitos de planejamento de projetos de software. Envolvimento com partes interessadas em projetos ágeis. Concepção ágil de projetos de software. Planejamento ágil baseado no método Scrum.
Gestão visual de projetos. Acompanhamento de projetos com o método Kanban. Métricas ágeis em projetos de software.
Estudo e aplicação de técnicas ágeis para o desenvolvimento e implantação de softwares. Gerenciamento de ciclo de vida de aplicações. Sistemas de controle de versões. Infrastructure as code. Integração e entrega Contínuas (CI/CD). Técnicas de build e deploy automáticos. Micro-serviços. Conteinerização.
Conceitos básicos. Tipos de dados. Variáveis e constates. Estruturas de controle. Arrays. Métodos. Classes e objetos. Herança. Polimorfismo. Interfaces e classes abstratas. Coleções. Acesso a bancos de dados.
Princípios do desenvolvimento ágil de software. Métodos de desenvolvimento ágil de software
Levantamento de Requisitos, Casos de Uso, Histórias de Usuário, Prototipação, Domain-Driven Design. Aspectos Ágeis de Modelagem.
Princípios básicos da UML: Objetos, Classes, Relacionamentos, Encapsulamento, Herança, Polimorfismo. Diagramas da UML: Diagrama de Classes, Diagrama de Sequência, Diagrama de Transição de Estados, Diagrama de Atividades, Diagrama de Pacotes. Aspectos Ágeis de Modelagem.
Conceitos sobre usabilidade, design centrado no usuário (UCD), design de interação (IxD) e experiência do usuário (UX). Apresentação dos principais modelos teóricos para integração de UX no desenvolvimento ágil (Big Design Up Front, One Sprint Ahead, Dual Track, BOB, Lean UX). Técnicas do mercado para a integração de UX (Design Sprint, Lean Inception). Principais artefatos utilizados na integração de UX. UX como ferramenta de estratégia, planejamento do produto, pesquisa, validação e métrica.
Arquitetura Web: Protocolo HTTP, HTML, CSS, JavaScript. Desenvolvimento para internet: arquitetura de aplicações, framework Angular. TypeScript. Componentes. Rotas. Data Binding. Serviços. Formulários.
Programação reativa em Angular. Integração com back-end. WebServices e REST. Spring Boot. Spring JPA.