1
- # Plano de Ensino Sistemas Distribuídos
1
+ # Plano de Ensino Programação Funcional
2
2
3
3
## Ementa
4
4
@@ -18,24 +18,15 @@ Preparar aulas a partir da seção "Conteúdo Programático"
18
18
- Processamento paralelo de dados.
19
19
- Aridade de funções e o impacto em programação funcional.
20
20
21
- ## Conteúdo Programático
21
+ ## Justificativa
22
22
23
- - ✅ Introdução e benefícios da programação funcional.
24
- - Fundamentos da programação funcional em linguagens dinâmica e estaticamente tipadas.
25
- - ✅ Imutabilidade e corretude de software.
26
- - ✅ Funções puras. Funções como elementos de primeira classe.
27
- - Funções de callback.
28
- - Referências de funções/métodos.
29
- - Composição de funções.
30
- - ✅ Diferenças entre programação funcional e orientada a objetos.
31
- - Diferenças de uso de programação funcional em linguagens dinâmica e estaticamente tipadas.
32
- - Expressões lambda (lambda expressions / arrow functions) e funções anônimas.
33
- * Effective final em Java e outras linguagens: variáveis final/const por padrão
34
- - Modelo de programação Map/Reduce: operações de filtro, mapeamento e redução em conjuntos de dados.
35
- - Processamento paralelo de dados.
36
- - Aridade de funções e o impacto em programação funcional.
23
+ ### Tutoria
37
24
38
- ## Justificativa
25
+ O próprio professor titular é o tutor da disciplina.
26
+ É utilizada plataforma Moodle, onde os alunos são automaticamente cadastrados na disciplina.
27
+ Utiliza-se ainda grupo no Telegram (link no Moodle) para ter contato direto com a turma.
28
+
29
+ O atendimento ao aluno ocorre por meio do Telegram ou, quando solicitado, por chamadas de vídeo no Google Meet ou atendimento presencial no campus.
39
30
40
31
### Competências
41
32
@@ -71,6 +62,27 @@ Apresentar os conceitos fundamentais de programação funcional e obter prática
71
62
- Conhecer os recursos de diferentes linguagens funcionais
72
63
- Escrever código seguindo tal paradigma usando linguagens estáticas e dinâmicas
73
64
65
+
66
+ ## Conteúdo Programático
67
+
68
+ - Apresentação da Disciplina
69
+ - Introdução à Programação Funcional
70
+ - Imutabilidade: um dos aspectos mais importantes da Programação Funcional
71
+ - Funções: o coração da Programação Funcional
72
+ - Iniciando a prática com Lambdas e Streams em Java
73
+ - Java Streams, boas práticas e Interfaces Funcionais
74
+ - Interfaces funcionais: Predicate, Comparator | Coletando dados
75
+ - Dominando o tipo Optional e o que é Null Safety
76
+ - Redução de Dados, Redescobrindo o Map e Coleta de dados para um Map
77
+ - Lazy Evaluation: avaliação preguiçosa ou tardia
78
+ - Operações Intermediárias e Terminais com Streams
79
+ - Processando elementos contendo um conjunto de dados com Stream.flatMap
80
+ - Projeto Polígonos
81
+ - Loops com Streams numéricas em Java
82
+ - Código funcional em todo lugar
83
+ - Erros comuns ao iniciar em programação funcional em Java
84
+ - Interfaces Funcionais personalizadas
85
+
74
86
## Metodologia
75
87
76
88
Aulas assíncronas gravadas, expositivas e práticas com exercícios propostos.
@@ -85,6 +97,6 @@ Aulas assíncronas gravadas, expositivas e práticas com exercícios propostos.
85
97
86
98
## Bibliografia Complementar
87
99
88
- 1. SILVA, Maurício Samy. JavaScript: guia do programador. São Paulo: Novatec, 2010. 604p., il. (n. 1). ISBN 978-85-7522-248-5.
89
- 2. GOODMAN, Danny. JavaScript: a bíblia. Tradução de Daniel VIEIRA. Rio de Janeiro: Campus, 2001. 909 p. (n. 1). ISBN 85-352-0828-3.
90
- 3. MORRISON, Michael. Use a cabeça ! Java script. Rio de Janeiro: Alta Books, 2008. 606 p. (n. 1).
100
+ 1. ✅ SILVA, Maurício Samy. JavaScript: guia do programador. São Paulo: Novatec, 2010. 604p., il. (n. 1). ISBN 978-85-7522-248-5.
101
+ 2. ✅ GOODMAN, Danny. JavaScript: a bíblia. Tradução de Daniel VIEIRA. Rio de Janeiro: Campus, 2001. 909 p. (n. 1). ISBN 85-352-0828-3.
102
+ 3. ✅ MORRISON, Michael. Use a cabeça: Java script. Rio de Janeiro: Alta Books, 2008. 606 p. (n. 1).
0 commit comments