Descrição Formação de 12 semanas (360 horas), dividida em 3 módulos. Quatro semanas de Fundamentos de Programação (120 horas), 4 semanas de Fundamentos de Java (120 horas) e 4 semanas de Projectos Práticos (120 horas). Esta formação fornece aos participantes um conjunto alargado de conhecimentos técnicos e a experiência prática ajustados à realidade atual do mercado. Desta forma ficam preparados e com os conhecimentos necessários para aproveitarem ao máximo o percurso profissional que os espera. Objetivos: Oferecer uma formação teórico-prática avançada, sólida, especializada e atualizada; Dotar os formandos com o know-how e a qualificação necessários para realizarem um estágio profissionalizante; Desenvolver as competências pessoais essenciais à atividade de programador web e de aplicações Java. Programa Curricular – 3 módulos Módulo I: Fundamentos de Programação (120 horas) 1.1 HTML5 e CSS3 Conceitos de páginas de Internet Protocolo HTTP Sintaxe e regras HTML Elementos HTML Sintaxe e Regras CSS Propriedades CSS CSS3 Media Queries 2 Responsive Web Design Fundamentos de IHM, usabilidade e UX 1.2 Fundamentos de Programação Conceitos básicos de programação Estrutura lógica de uma aplicação Variáveis, tipos primitivos de dados e conversões (cast) utilizando Javascript Expressões e operações Regras de precedência, ordens de avaliação Estruturas de decisão Estruturas cíclicas Definir e invocar métodos Modular código usando métodos reutilizáveis 1.3 Introdução aos paradigmas de Programação Paradigma OO, Classes e Objectos Programação Funcional 1.4 Algoritmos e estrutura de dados Princípios de algoritmia Algoritmos (pesquisa e ordenação) Estruturas de dados (listas, mapas, sets, filas e iteradores) Padrões de desenho (Singleton, Factory, Strategy, Composite e Data Access Object) 1.5 Bases de Dados Bases de Dados Relacionais Linguagem SQL Bases de dados NoSQL 3 Módulo II: Fundamentos de Programação em JAVA (120 horas) 2.1 Java SE 8 JVM Gestão de memória (heap e stack) Diferenças entre tipos primitivos, arrays e objetos Boxing e unboxing Construtores Encapsulamento Access modifiers Classes, interfaces e herança Statics, abstracts e constantes (atributos, métodos e classes) Excepções String e StringBuilder Enums Anotações Overriding e overloading Collections, generics e type erasure Expressões lambda Streams 2.2 Qualidade de software e Integração contínua Maven Ferramentas de gestão de versões Testes unitários 2.3 Java EE 7 Introdução ao JEE (relação entre JSE e JEE) Servidores aplicacionais 4 Estrutura do WAR e do EAR JNDI ORMs e JPA CDI EJB (statefull e stateless) Descritor de uma aplicação web (web.xml) JSF (modelo de desenvolvimento e ciclo de vida) Módulo III: Projectos Práticos JAVA (120 horas) Master Class - Dia a dia do Programador Introdução à metodologia SCRUM-Agile Trabalho em equipa Reporte de Problemas Boas práticas de código TDD - Test-driven development BDD - Behavior-driven development Open-source Projectos Criar projectos de portefólio de desenvolvimento aplicacional utilizando os conhecimentos teóricos e práticos obtidos em pequenas equipas aplicando o método Agile com Scrum diário e user stories bem documentadas. Eventos Up Academy Meetups no Labs Lisboa, CTO days com CTOs de Consultoras de Software e de Startups e Mini Masterclasses/ Workshops. 5