➹ Lógica de Programação
- Compreender a lógica booleana (E, OU, NOT).
- Entender a árvore de decisão.
- Saber utilizar as estruturas de laço.
- Conhecer o conceito de recursividade.
- Entender a estrutura de dados (vetor, matriz, fila, pilha...).
- Compreender o conceito de variável e constante.
- Saber utilizar um sistema de controle de versão.
- Interface de linha de comando (navegar por diretórios, criar diretórios, apagar diretórios, copiar arquivos, apagar arquivos, mover ou renomear arquivos, listar conteúdo de um diretório, limpar tela do terminal)
➹ Banco de Dados (Postgres)
- Entender os conceitos de entidade, atributo e relacionamento.
- Saber mapear e projetar um banco de dados.
- Criar um banco de dados (DDL- Data Definition Language).
- Manter a integridade referencial do banco de dados (chave estrangeira).
- Manipular banco de dados (DML - Data Manipulation Language).
- Consultar banco de dados (DQL - Data Query Language).
- Consultar múltiplas tabelas de um banco de dados (junção de tabelas).
- Utilizar funções de agregação (soma, máximo, mínimo, média, etc).
- Fazer agrupamento.
- Criar índices para pesquisa no banco de dados.
- Entender o conceito de normalização de banco de dados.
➹ Programação Orientada a Objetos (Java)
- Modelagem de Sistemas (UML) e principais diagramas (Classe, Sequência, Atividades, Estados, etc)
- Compreender compilação, execução e entrada de dados (i/o, teclado, console).
- Dominar os identificadores, palavras chave, tipos e operadores (tipos primitivos, conversão, variáveis, hierarquia de operadores e parênteses).
- Saber utilizar as estruturas de programação (if, loop, switch, break, * Enum , métodos de classe, recursividade) e escopo de variáveis.
- Gerir objetos e classes: acesso, getters, setters, construtores, static.
- Gerir objetos e classes: herança, reescrita, polimorfismo, classes abstratas e Interfaces.
- Manipular data e hora.
- Saber utilizar as estruturas de dados (arrays, coleções).
- Realizar o tratamento de erros.
- Acessar um banco de dados a partir do backend.
- Empacotar aplicações, criar e utilizar bibliotecas.
➹ FrontEnd Essencial (HTML, Javascript e CSS)
- Conhecer os pilares de uma aplicação web, identificar a diferença entre HTML, CSS e JavaScript.
- Saber escrever um documento HTML com suas principais tags.
- Fazer um arquivo CSS com suas propriedades básicas: margin, width. height, padding, color, background, border e outros.
- Utilizar seletores do CSS, conhecendo suas especificidades.
- Saber fatiar um layout, criar uma tela entendendo como funcionam os principais displays: block, inline, none, flex e etc.
- Conhecer o gridsystem do bootstrap e as principais classes para utilização em alert, buttons, modais, group e outros.
- Saber utilizar os conceitos básicos de lógica de programação em JavaScript (variáveis, condicionais, loops, escopos, referência, entre outros).
- Conhecer o DOM, capturar elementos, manipular elementos.
- Conhecer Ecma6, arrow function e class, map, filter.
- Escrever arquivos HTML, CSS e JavaScript seguindo todas as boas práticas e convenções de cada linguagem.
- Fazer requisição AJAX.