AVISOS
Precisei remover todos os dados das ISSUES a pedido do Github.
Soltarei as atualizações desse Curso diretamente por esse Twitter @curso_jsssj
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 o caminho Funcional com ES6.
ps: ensinarei tudo que eu sei e ainda vou estudar sobre ES6/ES7
ES6
Essa é uma pequena lista das features que o ES6 nos provê, ainda não
domino todos os itens, mas com o decorrer de cada aula estudarei cada vez
mais e mais para poder passar o melhor conteúdo possível para você!
Separei pelos módulos onde cada uma será destrinchada:
- arrows: Nível I - Módulo 1
- template strings: Nível I - Módulo 1
- destructuring: Nível I - Módulo 1
- default + rest + spread: Nível I - Módulo 1
- let + const: Nível I - Módulo 1
- array API: Nível I - Módulo 1
- set + weakset: Nível I - Módulo 1
- map + weakmap: Nível I - Módulo 2
- number: Nível I - Módulo 1
- math: Nível I - Módulo 2
- string API: Nível I - Módulo 2
- object APIs: Nível I - Módulo 2
- symbols: Nível I - Módulo 2
- enhanced object literals: Nível I - Módulo 3
- classes: Nível I: Módulo 3
- iterators + for..of: Nível I - Módulo 3
- proxies: Nível I - Módulo 3
- unicode: Nível I - Módulo 4
- modules: Nível I - Módulo 4
- module loaders: Nível I - Módulo 4
- subclassable built-ins: Nível I - Módulo 4
- generators: Nível I - Módulo 4
- promises: Nível I - Módulo 4
- binary and octal literals: Nível I - Módulo 4
- reflect api: Nível I - Módulo 4
- tail calls: Nível I - Módulo 4
fonte: lista retirada de https://github.com/lukehoban/es6features
Exercícios
Para responder os exercícios crie um repositório chamado:
Curso-JavaScript-Super-Sayajin-Nível-1-Módulo-1-exercícios
Dentro dele crie uma pasta chamada aula01 ou aula02 ou aulaNumeroDela e coloque
dentro todos seus códigos, sendo cada exercício separado por arquivo .js
!
POR FAVOR teste seu código com Node.js ANTES DE ENVIAR!
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 é 200 alunos e para isso adicionarei alguns sorteios no curso!
E o valor é de R$35 POR MÓDULO.
Início
Dia 15 de Agosto de 2017.
Inscrição
Para se inscrever basta abrir uma issue nesse repositório com seus seguintes dados:
Email Facebook/Twitter Telegram
Antes 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.
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
Quantidade de aulas: pelo menos 20.
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.
Além disso eu ensinarei como podemos inferir fórmulas e resolver problemas matemáticos/físicos
sem a necessidade de utilização da fórmula.
Se você não sair MONSTR(A|O) em lógica matemática e booleana eu programarei só em JAVA!
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;
- Correlações entre os números;
- Matemática: como inferir fórmulas baseando-se nos conceitos.
- Física: como inferir fórmulas baseando-se nos 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 - INCOMPLETO
- 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 - INCOMPLETO
Super Saiyajin Dai San Dankai (超サイヤ人第3段階)
Pré-requisitos
- Conclusão do Módulo 2
Biologia
JavaScript
Módulo 4 - O JavaScript nú - INCOMPLETO
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 - INCOMPLETO
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 - INCOMPLETO
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 - INCOMPLETO
- Teoria das Categorias
- Point-free programming,
- Morphisms,
- Data structures
Pré-requisitos
- Conclusão do Nível Super Saiyajin III
Super Sayajin V - INCOMPLETO
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.