Objetivos

Transformar as experiências do aprendizado em experiências para a vida profissional. Uma maneira de concretizarmos essa ideia é criando atividades e projetos de aprendizagem que requerem habilidades no trabalho. Além disso, desafiamos os estudantes a serem solucionadores de problemas, colaboradores e iniciadores. 

Principais conceitos de programação

  •  Utilize os componentes fundamentais de JavaScript para desenvolver programas e aplicações: Variáveis e Tipos de Dados, Condicionais, Laços de repetição (Loops), Objetos e Arrays, Funções, Escopo, Laços de Evento, DOM (Documento de Modelo de Objeto), Eventos e Classes.
  • Desenvolva aplicações JavaScript utilizando conceitos de nível intermediário: Herança de Protótipo, Closure, palavra-chave `this`, Promessas e Async/await.
  • Trabalhe com programação orientada à objeto baseado em JavaScript.
  • Crie aplicações front-end utilizando conceitos e tecnologias como: HTML5, CSS3, JavaScript, Design Responsivo e React.
  • Crie aplicações back-end utilizando conceitos e tecnologias como: NodeJS, ExpressJS, REST (Transferencia representacional de estado) APIs e MongoDB.
  • Desenvolva aplicações full-stack utilizando uma variedade de técnicas e arquiteturas de software como: REST(Transferência representacional de estado), SPAs (Aplicação de página única) e Renderização do lado do servidor.
  • Escreva queries no MongoDB para extrair informações de banco de dados e manipulá-los: configurar o banco de dados, implementar ações CRUD (Criar, Ler, Editar e Deletar) e referenciar documentos.
  • Crie esquemas (schemas) e modelos para o banco de dados do MongoDB utilizando ODM (Documento Mapeador de Objetos).
  • Implemente autenticação e autorização em uma aplicação web.
  • Integre serviços de terceiros (APIs) com uma aplicação back-end ou front-end já existente em JavaScript.
  • Utilize linhas de comando, Git, controle de versão, GitHub e o modelo de ramificação (branching) Gitflow para gerenciar e subir aplicações na web.
  • Configurar um ambiente de testes e executar testes unitários.
  • Subana web aplicações front-end e back-end para um serviço de nuvem.
  • Escreva códigos modulares, limpos e eficientes seguindo as boas práticas: KISS, YAGNI, DRY e SOC.
  • Utilize frameworks ágeis para gerenciamento de produtos: standups, retros, kanban, MVP, restrições vs escopo, etc, para garantir colaboração e bom fluxo de trabalho.