Fases de estudo e tópicos - Grupo-de-estudos-2024/Fase-1 GitHub Wiki

Ementa

Esse é o resumo dos assuntos a serem abordados ao longo dos estudos com objetivo de formar programadores.

As fases tem assuntos cujo estudo é obrigatório e também fases opcionais.

Devido à natureza do estudo de programação, que tende a não ser linear, alteraremos esse arquivo ao longo do tempo.

Fase 1 - Fundamentos

  • Introdução
    • Ementa
    • Linguagem
    • Ferramentas
      • git e git bash
      • vscode com extensão de live share
      • nodejs
    • Decidir como funcionará
      • Segunda, Quarta e Sexta: 21:00 > 22:30
  • Ambiente de dev:
    • IDE (Integrated development environment)
  • Declação de variáveis notas
  • Tipos primitivos de variáveis notas
  • Operadores iniciais notas
  • Tipos complexos de variáveis
  • Instruções de Controle de fluxo
  • Funções
  • Lista de exercícios
  • Pequeno projeto?
  • Introdução à classes -> Chamar LucasRatzz
    • Métodos
  • Estruturas de dados
    • Fila
    • Pilha
    • Matriz 2d
    • Matriz nd
    • Árvore
    • Árvore binária
    • Grafos
  • High Order Functions
    • foreach
  • Outro pequeno projeto?
  • Promises
  • async/await
  • Bibliotecas
  • Projetos usando o conteúdo acima

Complementar:

  • Requisições
  • Recursão
  • Uso básico do terminal
  • Manipulação de arquivos
  • Git
    • Publicação de código
  • Diferença entre declarações de variável (let, const, var)
  • Leitura e interpretação de erros
    • Erros comuns
    • Stacktrace
  • Serialização de dados
    • JSON
  • SQL

Fase 2 - Desenvolvimento Web

  • Introdução
    • O que é desenvolvimento web
    • Linguagens
    • Ferramentas
  • HTML
    • Elementos
    • Atributos
    • Formulários
    • ...
  • CSS
    • CSS básico
    • Responsividade
    • ...
  • JS com DOM
    • Manipulação de páginas
    • Uso de localstorage
    • ...
  • Projetos usando o conteúdo acima

Complementar:

  • Como hospedar websites
  • Design de websites

Fase 3 - Desenvolvimento de Webservers

  • Introdução
    • O que é um webserver
    • Biblioteca
    • Ferramentas
  • Protocolo HTTP
  • REST
  • Projeto CRUD
  • Persistência
  • Projetos usando o conteúdo acima

Complementar:

  • Como hospedar um webserver
  • CORS
  • Banco de dados relacionais
  • Banco de documentos
  • Banco chave valor
  • Autenticação e autorização
  • Orientação a objeto

Fase 4 - Engenharia de Software

  • O que é engenharia de software
  • Design patterns
  • Design de sistemas
  • Big O Notation