Web Full Stack
Trilhas
Nossa Metodologia
A educação tradicional tem um foco no ensino, o conteúdo é passado de uma forma e os alunos que se adaptarem vão bem e os demais vão mal. O conteúdo é quase sempre expositivo tornando o aluno um mero "espectador" do seu próprio processo de aprendizagem. Na Let's Code buscamos o oposto. Nosso foco é na aprendizagem, em auxiliar o aluno a desenvolver sua autonomia sob orientação do professor. Planejamos constantemente novas ferramentas e a aplicação de metodologias nas quais o aluno possa se engajar em reforçar e consolidar seus conhecimentos na prática, além de adquirir novos.
Nossas aulas utilizam metodologias ativas, são majoritariamente práticas e se valem constantemente de projetos (Project Based Learning, PBL). Projetos permitem que os alunos envolvam-se com problemas complexos e realistas, resolvidos pela aplicação dos conhecimentos adquiridos em sala de aula, no material e por meio de pesquisa. A jornada de aprendizagem do aluno se dá de forma síncrona (durante a aula) e assíncrona (atividades autônomas fora de aula), sempre priorizando o aprendizado prático.
Nossa avaliação é formativa, qualitativa e contínua, abrange alunos, professores e uma auto-avaliação do aluno. A avaliação é continua, aula a aula medimos o engajamento dos alunos no ensino remoto e a qualidade do aprendizado a cada final de módulo (a cada 3 semanas). As avaliações apresentam de forma clara o que era esperado do nível em que ele foi avaliado, bem como o necessário para alcançar os próximos. Assim ele pode continuar se desenvolvendo de forma autônoma, até mesmo após o final do curso.
Tecnologias
Java
JavaScript
C#
Angular
HTML, CSS & Javascript
React
Node.js
Typescript
Nginx
Docker
Módulos
Back-End
Lógica de Programação
Trabalha os fundamentos de programação estruturada, conceitos, estruturas e sintaxes fundamentais à programação como alocação de memória (constantes, variáveis, arrays, matrizes), condicionais, laços e recursão e funções.
Programação Orientada a Objetos
Trabalha um estilo de programação baseado na modelagem de entidade do "mundo real" de forma computacional, que possuem características e comportamentos. São trabalhados também padrões de projeto básicos e SOLID básico, bem como o conceito de abstração e implementação.
Estrutura de Dados (I e II)
Trabalha estruturas de dados importantes para o entendimento de vários processos computacionais (pilhas), para cenários de arquiteturas distribuídas (filas), para resolução de problemas recursivos de profundida desconhecida (árvores) e para modelos computacionais avançados (grafos).
Técnicas de Programação
Trabalha técnicas de programação específicas da linguagem de programação e seu ecossistema de pacotes/módulos utilizada no curso e suas características.
Programação WEB (I, II, III)
Trabalha diferentes aspectos da programação para web para backend, desde os mais legados como server pages até APIs. Inclui tópicos de autenticação, autorização, middlewares, arquitetura cliente servidor baseada em protocolo HTTP, cookies, tokens, entre outros.
Arquitetura de Software (I e II)
Trabalha a importância e as técnicas de aplicação de conceitos como SOLID e design patterns para conseguir maior coesão e menor acoplamento de código, bem como produzir códigos de fácil manutenção e amigáveis aos testes automatizados.
Testes automatizados
Trabalha técnicas de automação de testes incluindo conceitos de TDD, testes unitários e de integração, mocks, cobertura (coverage) utilizando as principais ferramentas e frameworks de testes disponíveis nas linguagens.
Deployment
Trabalha conceitos de CI/CD e técnicas importantes de deployment em conteineres e conteineres múltiplos, serviços em conteineres, configuração de servidores de aplicação e proxies reversos e fundamentos de infraestrutura de web, como DNS e domínios.
Front-End
Web Estática
Trabalha os fundamentos de criação de páginas estáticas e técnicas como responsividade utilizando HTML, HTML semântico e CSS.
Front-End Dinâmico
Trabalha o uso de Javascript Vanilla para uso em navegador. São apresentadas as técnicas para seleção e manipulação de elementos do DOM, criação de ouvintes de eventos, manipulação de classes, uso dos storages dos navegadores, cookies e timers.
Frameworks de Front-End (I e II)
Trabalha o uso de frameworks de frontend (Angular ou React) para o desenvolvimento de SPAs.