Skip to content

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

Notifications You must be signed in to change notification settings

suissa/Curso-JavaScript-Super-Sayajin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

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

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:

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

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.

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.

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published