Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/suissa/curso-javascript-super-sayajin
:rice: Curso COMPLETO de JavaScript do básico ao avançado, trilhando o caminho Funcional.
https://github.com/suissa/curso-javascript-super-sayajin
caraio completo curso estrutura-de-dados foda iniciante javascript pa saiyajin super
Last synced: about 1 month ago
JSON representation
:rice: Curso COMPLETO de JavaScript do básico ao avançado, trilhando o caminho Funcional.
- Host: GitHub
- URL: https://github.com/suissa/curso-javascript-super-sayajin
- Owner: suissa
- Created: 2017-06-22T23:58:50.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-10-11T02:51:25.000Z (about 7 years ago)
- Last Synced: 2024-10-30T01:47:21.476Z (about 2 months ago)
- Topics: caraio, completo, curso, estrutura-de-dados, foda, iniciante, javascript, pa, saiyajin, super
- Language: JavaScript
- Homepage:
- Size: 1.36 MB
- Stars: 240
- Watchers: 33
- Forks: 28
- Open Issues: 177
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AVISOS
**Precisei remover todos os dados das ISSUES a pedido do Github.**
**Soltarei as atualizações desse Curso diretamente por esse Twitter [@curso_jsssj](https://twitter.com/curso_jsssj)**
![Curso - JavaScript Super Saiyajin](http://i.imgur.com/jGXoRO6.png)
# 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](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](https://www.youtube.com/watch?v=dpn1JL15AXA)
- 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:
Facebook/Twitter
Telegram
## Antes do Curso
![Antes do Curso](http://i.imgur.com/PllOhHs.jpg)
## Depois do Curso
![Depois do Curso](http://i.imgur.com/D1HX4AP.jpg)
## 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)](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](https://github.com/Webschool-io/Elementos-Quimica).
#### 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](https://github.com/fantasyland/fantasy-land)##### 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](https://t.me/forumwebschool) e do nosso [Fórum](https://github.com/Webschool-io/forum). Vamos utilizar as Issues nosso repositorio [Fórum](https://github.com/Webschool-io/forum) 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.