This course was created with the
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocompletar
Aula anterior
Finalizar e Continuar
Clojure: Introdução à Programação Funcional
Aula 1: Introdução
O que vamos aprender e as origens do Clojure (16:59)
Instalando Clojure e escrevendo nossas primeiras linhas de código (12:30)
Conhecendo os Vetores (9:14)
Criando nossas próprias funções (13:44)
Padronizações que devemos adotar (6:10)
Aula 2: Imutabilidade
Diferenças entre o Paradigma Funcional e o Orientado a Objetos (4:19)
Entendendo os potenciais problemas através de exemplos em JavaScript (16:59)
Mas se tudo é imutável... não vai ficar lento?? (5:54)
Clojure é uma linguagem Homoicônica (3:42)
Aula 3: Funções Puras
O que são funções puras e por que elas são tão importantes (22:08)
Aula4: Conhecendo o let
Utilizando let para extrair símbolos (19:09)
Aula 5: Condicionais
Predicados, ifs e as diferenças entre Statements e Expressions (10:12)
Implementando condicionais em Clojure (26:31)
Aula 6: Editores de textos e IDEs recomendadas
Conhecendo os editores recomendados e instalando o IntelliJ e o plugin Cursive (18:05)
Atalhos importantes do IntelliJ e Cursive (8:04)
Aula 7: Introdução aos Testes Automatizados
O que é um Código auto-testável (self-testing code) (5:39)
TDD na prática (32:09)
Aula 8: As diferenças entre True, False e Truthy, Falsey
True, False, Truthy e Falsey (14:57)
Aula 9: Mais sobre os vetores
Conhecendo mais sobre os vetores (33:42)
Refeição completa (Whole meal) (3:29)
Aula 10: Linguagem dinâmica e consulta de tipos
Vantagens e desvantagens das linguagens dinâmicas (18:54)
Descobrindo os tipos (20:58)
Aula 11: Namespaces, símbolos e funções privadas
Namespaces e símbolos (30:13)
Funções privadas (7:48)
Aula 12: Higher Order Functions (Funções de Primeira Ordem)
Tipos de funções e o que é uma Função de Primeira Ordem (5:11)
Implementando soluções sem o uso de Função de Primeira Ordem (12:15)
Criando nossa primeira Função de Primeira Ordem (9:49)
Criando uma Função que retorna uma Função (16:30)
Funções anônimas (20:02)
Aula 13: Filter, map e reduce
Abordagem Imperativa versus Declarativa (11:28)
Desafio 1: Quantidade de estudantes do quinto ano (13:10)
Refatorando desafio 1 para usar função anônima (4:33)
Desafio 2: calculando a soma das idades (13:46)
Desafio 3: calculando tamanho médio dos nomes (16:08)
Aula 14: Mapas
Limitações dos Vetores e algumas alternativas (5:38)
Exemplo: carrinho de compras (7:32)
Recuperando valores de um mapa (11:41)
Resumo / Revisão (4:07)
Aula 15: mais sobre mapas
Entendendo as diferenças entre Vetores e Mapas (8:54)
Associando e desassociando uma nova chave/valor em um mapa (5:33)
Atualizando um valor em um mapa (9:37)
Aula 16: Threading (e mais sobre map, filter e reduce)
Desafio: nomes das disciplinas (parte 1) (14:20)
Desafio: nomes das disciplinas (parte 2) (9:57)
Desafio: nomes das disciplinas (parte 3) (8:49)
Desafio: nomes das disciplinas (parte 4) (11:14)
Utilizando Threading last para melhorar legibilidade do código (10:13)
Conhecendo o Threading first (7:36)
Aula 17: Calculo de IMC
Como calcular o IMC (3:08)
Implementando primeiro cenário (IMC baixo) (15:27)
Implementando segundo cenário (IMC ideal) (12:20)
Implementando terceiro cenário (IMC alto) (8:54)
Conclusões
Parabéns! (1:34)
E agora? Como continuar seus estudos? (6:42)
Conhecendo os Vetores
Download
Finalizar e Continuar
Discussão
7
comentários
Carregar mais
7 comentários