Aulas
Playlist das video-aulas
Módulo 1 - Fundamentos
1.1 O que é programar?
1.2 A linguagem Javascript
1.3 Onde programar com Javascript
1.4 Por que "Funcional"?
1.5 Programação Funcional
1.6 Enriquecendo a solução
Módulo 2 - Valores e funções
2.1 Funções como expressões
2.2 Notação
arrow
2.3 Definição de função como retorno
2.4 Definição de função como argumento
2.5 Função
anônima
2.6 Formulação da recursividade
2.7 Programação recursiva
Módulo 3 - Coleções de dados
3.1 Coleções de dados: Listas e Registros
3.2 O problema das compras
3.3 Mapeamento de elementos
3.4 Filtragem de elementos
3.5 Operações de Redução
3.6 Composição de funções
3.7 Manipulação de dados em arquivo
Módulo 4 - Princípios do paradigma
4.1 Pureza
4.2 Funções de Alta Ordem
4.3 Cidadãs de Primeira Classe
4.4 Imutabilidade
4.5
Closure
4.6
Currying
4.7 Avaliação tardia
Módulo 5 - Recursividade em lista
5.1 Formulação da recursividade em lista
5.2 Programação recursiva em listas
5.3 Recursividade em cauda
Apêndice A - Entrada de dados
A.1 Janela de prompt
A.2 Entrada via console NodeJS
A.3 Entrada síncrona via prompt NodeJS
A.4 Interface com HTML
Apêndice B - Casos de Teste
Testando funções através de casos de teste
Exercícios
Lista 01
Lista 02
Lista 03
Lista 04
Lista 05
Lista 06
Lista 07
Estudos de caso
Estudo de Caso - Frequência de palavras
Estudo de Caso - Matemática financeira
Estudo de Caso - Calculadora
Estudo de Caso - Jogo
Snake
Sobre o autor
Professor Titular (DCOMP/UFS)
Bolsista de Produtividade CNPq
CIÊNCIA para tudo.
EDUCAÇÃO para todos.