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.