{"id":18005214,"url":"https://github.com/suissa/curso-javascript-super-sayajin","last_synced_at":"2026-03-10T16:31:42.864Z","repository":{"id":88004942,"uuid":"95166374","full_name":"suissa/Curso-JavaScript-Super-Sayajin","owner":"suissa","description":":rice: Curso COMPLETO de JavaScript do básico ao avançado, trilhando o caminho Funcional.","archived":false,"fork":false,"pushed_at":"2017-10-11T02:51:25.000Z","size":1428,"stargazers_count":240,"open_issues_count":176,"forks_count":25,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-05-02T22:35:26.039Z","etag":null,"topics":["caraio","completo","curso","estrutura-de-dados","foda","iniciante","javascript","pa","saiyajin","super"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/suissa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-22T23:58:50.000Z","updated_at":"2025-04-25T09:36:07.000Z","dependencies_parsed_at":"2023-06-26T01:55:39.730Z","dependency_job_id":null,"html_url":"https://github.com/suissa/Curso-JavaScript-Super-Sayajin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/suissa/Curso-JavaScript-Super-Sayajin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suissa%2FCurso-JavaScript-Super-Sayajin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suissa%2FCurso-JavaScript-Super-Sayajin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suissa%2FCurso-JavaScript-Super-Sayajin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suissa%2FCurso-JavaScript-Super-Sayajin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/suissa","download_url":"https://codeload.github.com/suissa/Curso-JavaScript-Super-Sayajin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suissa%2FCurso-JavaScript-Super-Sayajin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30342176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caraio","completo","curso","estrutura-de-dados","foda","iniciante","javascript","pa","saiyajin","super"],"created_at":"2024-10-30T00:18:23.663Z","updated_at":"2026-03-10T16:31:42.840Z","avatar_url":"https://github.com/suissa.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AVISOS\n\n**Precisei remover todos os dados das ISSUES a pedido do Github.**\n\n\u003chr\u003e\n\n**Soltarei as atualizações desse Curso diretamente por esse Twitter [@curso_jsssj](https://twitter.com/curso_jsssj)**\n\n\n\u003chr\u003e\n\n![Curso - JavaScript Super Saiyajin](http://i.imgur.com/jGXoRO6.png)\n\n\n# Curso - JavaScript Super Saiyajin\n\n*depois de criar que percebi que faltou um i em Saiyajin*\n\n\u003e **Curso COMPLETO de JavaScript do básico ao avançado trilhando o caminho Funcional com ES6.**\n\n*ps: ensinarei tudo que eu sei e ainda vou estudar sobre ES6/ES7*\n\n## ES6\n\nEssa é uma pequena lista das *features* que o ES6 nos provê, ainda não\u003cbr\u003e\ndomino todos os itens, mas com o decorrer de cada aula estudarei cada vez\u003cbr\u003e\nmais e mais para poder **passar o melhor conteúdo possível para você!**\n\nSeparei pelos módulos onde cada uma será destrinchada:\n\n- [arrows](): Nível I - Módulo 1\n- [template strings](): Nível I - Módulo 1\n- [destructuring](): Nível I - Módulo 1\n- [default + rest + spread](): Nível I - Módulo 1\n- [let + const](): Nível I - Módulo 1\n- [array API](): Nível I - Módulo 1\n- [set + weakset](): Nível I - Módulo 1\n- [map + weakmap](): Nível I - Módulo 2\n- [number](): Nível I - Módulo 1\n- [math](): Nível I - Módulo 2\n- [string API](): Nível I - Módulo 2\n- [object APIs](): Nível I - Módulo 2\n- [symbols](): Nível I - Módulo 2\n- [enhanced object literals](): Nível I - Módulo 3\n- [classes](): Nível I: Módulo 3\n- [iterators + for..of](): Nível I - Módulo 3\n- [proxies](): Nível I - Módulo 3\n- [unicode](): Nível I - Módulo 4\n- [modules](): Nível I - Módulo 4\n- [module loaders](): Nível I - Módulo 4\n- [subclassable built-ins](): Nível I - Módulo 4\n- [generators](): Nível I - Módulo 4\n- [promises](): Nível I - Módulo 4\n- [binary and octal literals](): Nível I - Módulo 4\n- [reflect api](): Nível I - Módulo 4\n- [tail calls](): Nível I - Módulo 4\n\n*fonte: lista retirada de [https://github.com/lukehoban/es6features](https://github.com/lukehoban/es6features)*\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/cards.jpg\"\u003e\n\u003c/p\u003e\n\n## Exercícios\n\nPara responder os exercícios crie um repositório chamado:\u003cbr\u003e\n\n`Curso-JavaScript-Super-Sayajin-Nível-1-Módulo-1-exercícios`\n\nDentro dele crie uma pasta chamada aula01 ou aula02 ou aulaNumeroDela e coloque\u003cbr\u003e  \ndentro todos seus códigos, sendo cada exercício separado por arquivo `.js`!\n\n**POR FAVOR teste seu código com Node.js ANTES DE ENVIAR!**\n\n\n## Pré-requisitos\n\n- Usar o cérebro\n- Ensino Médio\n- Ter [brio](https://www.youtube.com/watch?v=dpn1JL15AXA)\n- Ter Internet\n\n\n## Meta\n\nComo teve uma busca enorme e em no máximo 4 dias estamos chegando em 100 inscritos\u003cbr\u003e\n**a meta ATUAL agora é 200 alunos e para isso adicionarei alguns sorteios no curso!**\n\n**E o valor é de R$35 POR MÓDULO.**\n\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n## Início\n\n**Dia 15 de Agosto de 2017.**\n\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n## Inscrição\n\nPara se inscrever basta abrir uma issue nesse repositório com seus seguintes dados:\n\nEmail\nFacebook/Twitter\nTelegram\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\n\n## Antes do Curso\n\n![Antes do Curso](http://i.imgur.com/PllOhHs.jpg)\n\n## Depois do Curso\n\n![Depois do Curso](http://i.imgur.com/D1HX4AP.jpg)\n\n## O Curso\n\nEsse curso, por mais que você odeie, irá iniciar pela Matemática mais básica possível,\u003cbr\u003e\npois EU acredito que a Matemática Discreta é OBRIGATÓRIA para todo o programador, assim como é:\u003cbr\u003e\n\n- algoritmo\n- lógica ( booleana e matemática )\n- estrutura de dados\n- inglês\n\n\n\u003e **Para você conseguir programar QUALQUER COISA, você no mínimo, precisa saber os itens acima.**\n\n\n\u003e **Sabe o por quê?**\n\n\u003e Simplesmente porque é com essa Matemática que você aprende os conceitos de função e conjuntos, que \u003cbr\u003e\npara mim é muitíssimo importante, pois antecede a própria Estrutura de Dados.\n\n\n\nAlém disso veja a definição de uma função:\n\n\u003e Uma função ou aplicação é uma relação de um conjunto A com um conjunto B.\n\n*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))*\n\n\nTrocando em míudos:\n\n\n\u003e Uma função é a ação de transformação entre conjuntos, onde você SEMPRE\u003cbr\u003e\nterá dois conjuntos: de entrada e de saída. Ou seja, qualquer tipo de transformação\u003cbr\u003e\nque você faça será uma função que SEMPRE retornará algo.\n\n\n*ps1: se não retorna algo não é função* \u003cbr\u003e\n\n*ps2: em uma função de `set` você pode retornar o próprio objeto* \u003cbr\u003e\n*que contém a propriedade setada, para que você possa encadear suas funções,* \u003cbr\u003e\n*por exemplo.*\n\n\u003cbr\u003e\n\n\u003cbr\u003e\n\n## Níveis\n\n\u003cimg src=\"https://media.giphy.com/media/KdzF8XLE3FwXe/giphy.gif\"\u003e\n\n- **Super Sayajin I**\n- **Super Sayajin II**\n- **Super Sayajin III**\n- **Super Sayajin IV**\n- **Super Sayajin V**\n\nAntes de falar da ementa de cada um eu quero que você entenda que o conteúdo\u003cbr\u003e\nmatemático será voltado para casos reais e eu LHE GARANTO que você usará algum dia, \u003cbr\u003e\nporém antes você precisa entender como cada operação matemática funciona por trás dos panos, \u003cbr\u003e\ndepois disso você sempre re-usará as funções previamente criadas, ou seja, para criar a próxima\u003cbr\u003e\nfunção você deverá obrigatóriamente ter criado as anteriores.\n\n\n### Super Sayajin I\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss1.jpg\"\u003e\n\u003c/p\u003e\n\n#### Módulo 1 - Funções e Lógica\n\nNesse módulo ensinarei como você irá traduzir seu conhecimento prévio, \u003cbr\u003e\nprincipalmente em Matemática do Ensino Médio, em JavaScript Funcional.\n\nEsse módulo É **OBRIGATÓRIO** para quem:\n\n- Não saiba a definição de função e/ou conjunto;\n- Não sabe como compor operações matemáticas complexas usando apenas soma e números negativos;\n- Não tem lógica matemática forte\n\n###### Quantidade de aulas: pelo menos 20.\n\n#### Tópicos\n\n##### Matemática Discreta\n\nVamos aprender como criar TODAS as operações mais utilizadas na Matemática\u003cbr\u003e\ne como trabalhar com o tipo `Number`, para isso inciaremos direto na função, \u003cbr\u003e\npara que o aluno entenda que esse é o conceito mais importante que ele precisa.\n\nAs primeiras funções irão utilizar os números passados por parâmetro para que ele\u003cbr\u003e\nnão precise iniciar nenhuma constante que não seja a função, só depois disso que você\u003cbr\u003e\naprenderá a trabalhar com o tipo `Number`, encapsulando e usando suas principais funções.\n\nDepois iremos aprender a parte de coleções de números e conjuntos, onde emularemos\u003cbr\u003e\no conceito de conjutos com `Array` e `Set`, pois o `Set` não possui NENHUMA das operações\u003cbr\u003e\nde conjuntos, como: adição, subtração e intersecção.\n\nAlém disso eu ensinarei como podemos inferir fórmulas e resolver problemas matemáticos/físicos\u003cbr\u003e\nsem a necessidade de utilização da fórmula.\n\n\u003e **Se você não sair MONSTR(A|O) em lógica matemática e booleana eu programarei só em JAVA!**\n\n###### Conceitos\n\n- Constante;\n  - nada de `var` **aqui!**\n- Função;\n  - sempre pura!\n- Números;\n- Operações matemáticas:\n  - soma, subtração, multiplicação, divisão, exponenciação e radiciação;\n  - todas baseadas apenas na soma;\n- Boolean;\n- Lógica: matemática e booleana;\n- Conjuntos;\n- Operaçes com Conjuntos;\n- Correlações entre os números;\n- Matemática: como inferir fórmulas baseando-se nos conceitos.\n- Física: como inferir fórmulas baseando-se nos conceitos.\n\n###### JavaScript\n\n- `while`/`for`;\n- `Function`;\n- `Number`;\n- `Array`;\n- `Set`.\n\n#### Pré-requisitos\n\n- Ensino Médio (cursando ou completo)\n- Não ter medo da Matemática pq ela é uma LINDA!\n\n#### Artigo\n\nSim além dos exercícios que serão passados em cada aula ainda teremos **pelo menos** \u003cbr\u003e\num artigo sobre algum dos temas abordados.\n\n\n#### Projeto Final\n\nCriação de uma calculadora com o máximo possível de funções matemáticas e físicas, cada aluno\u003cbr\u003e\ndeverá criar pelo menos 2 funções novas.\n\n\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\n#### Módulo 2 - Estatística \u0026 Estrutura de Dados\n##### Super Saiyajin Dai Ni Dankai (第2形態)\n\nNesse módulo mostrarei como criar funções de Estatística baseando-se apenas\nna sua explicação e porque a estatística é a base para se usar as Redes Neurais\ne muito provavelmente no futuro a programação seja mais probabilística do que determinística.\n\nCom isso você aprenderá a organizar seus dados e retirar informações em cima de um conjunto\u003cbr\u003e\nde dados numéricos.\n\n###### Objetivo\n\nConstruir uma calculadora, via API, com a maiorias das funções de Matemática Estatística utilizadas\u003cbr\u003e\npela Inteligência Artificial para que não precisemos depender do *Python* ou *R* para isso.\n\n###### Conceitos\n\n- Recursividade;\n- Métodos de Matriz;\n- Média;\n- Moda;\n- Desvio Padrão;\n- Como inferir fórmulas baseando-se em conceitos;\n- Organização e estruturação dos dados;\n- etc.\n\n##### Química - INCOMPLETO\n\n- Estruturação dos dados dos átomos;\n- Estruturação dos dados das moléculas;\n- Reações Químicas Inorgânicas: síntese e decomposição;\n- Distribuição Eletrônica;\n- Balanceamento de Reações;\n- Cálculo de Lei de Hess.\n\n###### JavaScript\n\n- `let`;\n- `map`/`filter`/`reduce`/`concat`/etc;\n- `Object`;\n- `Math`;\n- `Symbol`.\n\n##### Projeto Final\n\n\n[Uma Tabela Periódica diferente utilizando-se UX e API](https://github.com/Webschool-io/Elementos-Quimica).\n\n\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\u003cbr\u003e\n\n#### Módulo 3 - Biologia e Arquitetura de API - INCOMPLETO\n##### Super Saiyajin Dai San Dankai (超サイヤ人第3段階)\n\n\n##### Pré-requisitos\n\n- Conclusão do Módulo 2\n\n##### Biologia\n\n\n##### JavaScript\n\n\n\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\n\n#### Módulo 4 - O JavaScript nú - INCOMPLETO\n##### Super Saiyajin Full Power (超サイヤ人フルパワ)\n\nNesse módulo aprenderemos como o JavaScript funciona por trás das cortinas, tanto\u003cbr\u003e\nno navegador como no Node.js\n\n###### JavaScript\n\n- Async\n- Call Stack\n- EventLoop\n- Events\n- Promises\n- Prototype\n\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n### Super Saiyajin II - INCOMPLETO\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss2.jpg\"\u003e\n\u003c/p\u003e\n\nVários conceitos teóricos da Programação Funcional serão explicados e implementados, como:\n\n- Aridade\n- Immutable data\n- Pipe/Compose\n- Currying\n- Partial application\n- Trampoline\n- Y-Combinator\n- TCO\n- [FantasyLand](https://github.com/fantasyland/fantasy-land)\n\n\n##### Pré-requisitos\n\n- Conclusão do Nível Super Saiyajin I\n\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\n### Super Sayajin III - INCOMPLETO\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss3.jpg\"\u003e\n\u003c/p\u003e\n\n\n##### Pré-requisitos\n\n- Conclusão do Nível Super Saiyajin II\n\n#### Módulo 1 - NoSQL\n\n- MongoDb\n- Redis\n- Neo4J\n\n#### Módulo 2 - Arquitetura\n\n- Arquitetura Backend (Redux)\n- Atomic Fucking Design\n- Programação Reativa\n\n\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\n### Super Sayajin IV - INCOMPLETO\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss4.jpg\"\u003e\n\u003c/p\u003e\n\n- Teoria das Categorias\n- Point-free programming,\n- Morphisms,\n- Data structures\n\n\n##### Pré-requisitos\n\n- Conclusão do Nível Super Saiyajin III\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\n### Super Sayajin V - INCOMPLETO\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/interaminense/Curso-JavaScript-Super-Sayajin/master/img/ss5.jpg\"\u003e\n\u003c/p\u003e\n\n##### Pré-requisitos\n\n- Conclusão do Nível Super Saiyajin IV\n\n#### Ementa\n\n- Socket.io\n- WebRTC\n- Webtorrent\n- Blockchain\n- Redes Neurais\n\n### Certificado\n\nO aluno receberá um certificado mediante a entrega de todos os requisitos obrigatórios.\n\n\n# Forma de pagamento\n\nSerá feito via depósito diretamente na conta do professor. O valor de investimento do curso é 35R$.\n\n## Exercícios\n\n\n## Suporte\n\nO 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.\n\n## Apoio\n\nEntre em contato para apoiar esse curso.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuissa%2Fcurso-javascript-super-sayajin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuissa%2Fcurso-javascript-super-sayajin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuissa%2Fcurso-javascript-super-sayajin/lists"}