/Curso-JavaScript-Super-Sayajin

:rice: Curso COMPLETO de JavaScript do básico ao avançado, trilhando o caminho Funcional.

Primary LanguageJavaScript

Curso - JavaScript Super Saiyajin

Curso - JavaScript Super Saiyajin

depois de criar que percebi que faltou um i em Saiyajin

Curso COMPLETO de JavaScript do básico ao avançado trilhando pelo caminho Funcional utilizando ES6.

Antes do Curso

Antes do Curso

Depois do Curso

Depois do Curso

O Curso

Esse curso, por mais que você odeie, irá iniciar pela Matemática mais básica possível,
pois EU acredito que a Matemática Discreta é OBRIGATÓRIA para todo o programador, assim como é:

  • algoritmo
  • lógica ( booleana e matemática )
  • estrutura de dados
  • inglês

Para você conseguir programar QUALQUER COISA, você no mínimo, precisa saber os itens acima.

Sabe o por quê?

Simplesmente porque é com essa Matemática que você aprende os conceitos de função e conjuntos, que
para mim é muitíssimo importante, pois antecede a própria Estrutura de Dados.

Além disso veja a definição de uma função:

Uma função ou aplicação é uma relação de um conjunto A com um conjunto B.

fonte: https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_(matem%C3%A1tica)

Trocando em míudos:

Uma função é a ação de transformação entre conjuntos, onde você SEMPRE
terá dois conjuntos: de entrada e de saída. Ou seja, qualquer tipo de transformação
que você faça será uma função que SEMPRE retornará algo.

ps1: se não retorna algo não é função

ps2: em uma função de set você pode retornar o próprio objeto
que contém a propriedade setada, para que você possa encadear suas funções,
por exemplo.



Níveis

  • Super Sayajin I
  • Super Sayajin II
  • Super Sayajin III
  • Super Sayajin IV
  • Super Sayajin V

Antes de falar da ementa de cada um eu quero que você entenda que o conteúdo
matemático será voltado para casos reais e eu LHE GARANTO que você usará algum dia,
porém antes você precisa entender como cada operação matemática funciona por trás dos panos,
depois disso você sempre re-usará as funções previamente criadas, ou seja, para criar a próxima
função você deverá obrigatóriamente ter criado as anteriores.

Pré-requisitos

  • Usar o cérebro
  • Ensino Médio
  • Ter brio
  • Ter Internet

Meta

Como teve uma busca enorme e em no máximo 4 dias estamos chegando em 100 inscritos
a meta ATUAL agora é 150 alunos e para isso adicionarei alguns sorteios no curso!

E o valor é de R$35.



Tá suave né???



Início

Iniciaremos após atingirmos a meta, espero que seja no início de Agosto!

Inscrição

Para se inscrever basta abrir uma issue nesse repositório com seus seguintes dados:

Email Facebook/Twitter Telegram






Super Sayajin I

Módulo 1 - Funções e Lógica

Nesse módulo ensinarei como você irá traduzir seu conhecimento prévio,
principalmente em Matemática do Ensino Médio, em JavaScript Funcional.

Esse módulo É OBRIGATÓRIO para quem:

  • Não saiba a definição de função e/ou conjunto;
  • Não sabe como compor operações matemáticas complexas usando apenas soma e números negativos;
  • Não tem lógica matemática forte

Tópicos

Matemática Discreta

Vamos aprender como criar TODAS as operações mais utilizadas na Matemática
e como trabalhar com o tipo Number, para isso inciaremos direto na função,
para que o aluno entenda que esse é o conceito mais importante que ele precisa.

As primeiras funções irão utilizar os números passados por parâmetro para que ele
não precise iniciar nenhuma constante que não seja a função, só depois disso que você
aprenderá a trabalhar com o tipo Number, encapsulando e usando suas principais funções.

Depois iremos aprender a parte de coleções de números e conjuntos, onde emularemos
o conceito de conjutos com Array e Set, pois o Set não possui NENHUMA das operações
de conjuntos, como: adição, subtração e intersecção.

Conceitos
  • Constante;  - nada de var aqui!
  • Função;
    • sempre pura!
  • Números;
  • Operações matemáticas:
    • soma, subtração, multiplicação, divisão, exponenciação e radiciação;
    • todas baseadas apenas na soma;
  • Boolean;
  • Lógica: matemática e booleana;
  • Conjuntos;
  • Operaçes com Conjuntos;
  • Física: como inferir fórmulas baseando-se em conceitos.
JavaScript
  • while/for;
  • Function;
  • Number;
  • Array;
  • Set.

Pré-requisitos

  • Ensino Médio (cursando ou completo)
  • Não ter medo da Matemática pq ela é uma LINDA!

Artigo

Sim além dos exercícios que serão passados em cada aula ainda teremos pelo menos
um artigo sobre algum dos temas abordados.

Projeto Final

Criação de uma calculadora com o máximo possível de funções matemáticas e físicas, cada aluno
deverá criar pelo menos 2 funções novas.




Módulo 2 - Estatística & Estrutura de Dados

Super Saiyajin Dai Ni Dankai (第2形態)

Nesse módulo mostrarei como criar funções de Estatística baseando-se apenas na sua explicação e porque a estatística é a base para se usar as Redes Neurais e muito provavelmente no futuro a programação seja mais probabilística do que determinística.

Com isso você aprenderá a organizar seus dados e retirar informações em cima de um conjunto
de dados numéricos.

Objetivo

Construir uma calculadora, via API, com a maiorias das funções de Matemática Estatística utilizadas
pela Inteligência Artificial para que não precisemos depender do Python ou R para isso.

Conceitos
  • Recursividade;
  • Métodos de Matriz;
  • Média;
  • Moda;
  • Desvio Padrão;
  • Como inferir fórmulas baseando-se em conceitos;
  • Organização e estruturação dos dados;
  • etc.
Química
  • Estruturação dos dados dos átomos;
  • Estruturação dos dados das moléculas;
  • Reações Químicas Inorgânicas: síntese e decomposição;
  • Distribuição Eletrônica;
  • Balanceamento de Reações;
  • Cálculo de Lei de Hess.
JavaScript
  • let;
  • map/filter/reduce/concat/etc;
  • Object;
  • Math;
  • Symbol.
Projeto Final

Uma Tabela Periódica diferente utilizando-se UX e API.




Módulo 3 - Biologia e Arquitetura de API

Super Saiyajin Dai San Dankai (超サイヤ人第3段階)
Pré-requisitos
  • Conclusão do Módulo 2
Biologia
JavaScript



Módulo 4 - O JavaScript nú

Super Saiyajin Full Power (超サイヤ人フルパワ)

Nesse módulo aprenderemos como o JavaScript funciona por trás das cortinas, tanto
no navegador como no Node.js

JavaScript
  • Async
  • Call Stack
  • EventLoop
  • Events
  • Promises
  • Prototype





Super Saiyajin II

Vários conceitos teóricos da Programação Funcional serão explicados e implementados, como:

  • Aridade
  • Immutable data
  • Pipe/Compose
  • Currying
  • Partial application
  • Trampoline
  • Y-Combinator
  • TCO
  • FantasyLand
Pré-requisitos
  • Conclusão do Nível Super Saiyajin I





Super Sayajin III

Pré-requisitos
  • Conclusão do Nível Super Saiyajin II

Módulo 1 - NoSQL

  • MongoDb
  • Redis
  • Neo4J

Módulo 2 - Arquitetura

  • Arquitetura Backend (Redux)
  • Atomic Fucking Design
  • Programação Reativa





Super Sayajin IV

  • Teoria das Categorias
  • Point-free programming,
  • Morphisms,
  • Data structures
Pré-requisitos
  • Conclusão do Nível Super Saiyajin III





Super Sayajin V

Pré-requisitos
  • Conclusão do Nível Super Saiyajin IV

Ementa

  • Socket.io
  • WebRTC
  • Webtorrent
  • Blockchain
  • Redes Neurais

Certificado

O aluno receberá um certificado mediante a entrega de todos os requisitos obrigatórios.

Forma de pagamento

Será feito via depósito diretamente na conta do professor. O valor de investimento do curso é 35R$.

Exercícios

Suporte

O curso conta com o suporte da própria comunidade e também dos professores da Webschool através do Telegram e do nosso Fórum. Vamos utilizar as Issues nosso repositorio Fórum para poder documentar as duvidas, assim podendo manter um histórico que possa ajudar outras pessoas que venham a ter a mesma dúvida que você. Além disso o nosso fórum e conectado com o grupo do telegram para que sua dúvida possa ser respondida facilmente.

Apoio

Entre em contato para apoiar esse curso.