Curso JavaScript Super Sayajin
:rice: Curso COMPLETO de JavaScript do básico ao avançado, trilhando o caminho Funcional.
**Precisei remover todos os dados das ISSUES a pedido do Github.** The project is written primarily in JavaScript, first published in 2017. Key topics include: caraio, completo, curso, estrutura-de-dados, foda.
AVISOS
Precisei remover todos os dados das ISSUES a pedido do Github.
<hr>Soltarei as atualizações desse Curso diretamente por esse Twitter @curso_jsssj
<hr>
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<br>
domino todos os itens, mas com o decorrer de cada aula estudarei cada vez<br>
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
<p align="center"> <img src="https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/cards.jpg"> </p>Exercícios
Para responder os exercícios crie um repositório chamado:<br>
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<br>
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<br>
a meta ATUAL agora é 200 alunos e para isso adicionarei alguns sorteios no curso!
E o valor é de R$35 POR MÓDULO.
<br> <br>Início
Dia 15 de Agosto de 2017.
<br> <br>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,<br>
pois EU acredito que a Matemática Discreta é OBRIGATÓRIA para todo o programador, assim como é:<br>
- 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 <br>
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<br>
terá dois conjuntos: de entrada e de saída. Ou seja, qualquer tipo de transformação<br>
que você faça será uma função que SEMPRE retornará algo.
ps1: se não retorna algo não é função <br>
ps2: em uma função de set você pode retornar o próprio objeto <br>
que contém a propriedade setada, para que você possa encadear suas funções, <br>
por exemplo.
Níveis
<img src="https://media.giphy.com/media/KdzF8XLE3FwXe/giphy.gif">- 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<br>
matemático será voltado para casos reais e eu LHE GARANTO que você usará algum dia, <br>
porém antes você precisa entender como cada operação matemática funciona por trás dos panos, <br>
depois disso você sempre re-usará as funções previamente criadas, ou seja, para criar a próxima<br>
função você deverá obrigatóriamente ter criado as anteriores.
Super Sayajin I
<p align="center"> <img src="https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss1.jpg"> </p>Módulo 1 - Funções e Lógica
Nesse módulo ensinarei como você irá traduzir seu conhecimento prévio, <br>
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<br>
e como trabalhar com o tipo Number, para isso inciaremos direto na função, <br>
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<br>
não precise iniciar nenhuma constante que não seja a função, só depois disso que você<br>
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<br>
o conceito de conjutos com Array e Set, pois o Set não possui NENHUMA das operações<br>
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<br>
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 devaraqui! - 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 <br>
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<br>
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<br>
de dados numéricos.
Objetivo
Construir uma calculadora, via API, com a maiorias das funções de Matemática Estatística utilizadas<br>
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.
<br> <hr> <br>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
<br> <hr> <br>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<br>
no navegador como no Node.js
JavaScript
- Async
- Call Stack
- EventLoop
- Events
- Promises
- Prototype
Super Saiyajin II - INCOMPLETO
<p align="center"> <img src="https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss2.jpg"> </p>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
<p align="center"> <img src="https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss3.jpg"> </p>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
<p align="center"> <img src="https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss4.jpg"> </p>- Teoria das Categorias
- Point-free programming,
- Morphisms,
- Data structures
Pré-requisitos
- Conclusão do Nível Super Saiyajin III
Super Sayajin V - INCOMPLETO
<p align="center"> <img src="https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss5.jpg"> </p>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.
Contributors
Showing top 5 contributors by commit count.