|
| 1 | += Aulas |
| 2 | + |
| 3 | +== Aula 1: Apresentação da Disciplina |
| 4 | + |
| 5 | +Google Meet |
| 6 | + |
| 7 | + |
| 8 | +=== ## Aprendendo a Aprender |
| 9 | + |
| 10 | +Alguém aí conhece o canal do Fábio Akita? |
| 11 | +Ele publica vídeos sobre diversos assuntos, a maioria são assuntos complexos sobre computação e os vídeos normalmente são bem longos. |
| 12 | + |
| 13 | +Mas ele também fala muito sobre carreira e aprendizado. Por isso, sugiro os dois vídeos a sugerir do canal: |
| 14 | + |
| 15 | +- https://youtu.be/oUPaJxk6TZ0 |
| 16 | +- https://youtu.be/L0hTOY5n9G8 |
| 17 | + |
| 18 | +O primeiro é o "Aprendendo a aprender" e o segundo "O que a faculdade não te ensina sobre mercado". |
| 19 | + |
| 20 | +Os dois vídeos abordam a forma como muitos alunos levam seu aprendizado e o que esperam aprender em um curso superior. É um tapa na cara para muitos acordarem para a realidade e mudarem suas atitudes, levando mais a sério os estudos. |
| 21 | + |
| 22 | +Uma das coisas que ele aborda nos vídeos é o interese de muitos por receitas prontas, por pular a teoria e ficar no bê-a-bá da parte prática de muitas disciplinas. |
| 23 | + |
| 24 | +A disciplina de programação funcional é um exemplo disto. Existe toda uma teoria envolvida e os alunos normalmente não se importam, acham chato e não dão a mínima. Então, sugiro fortemente que assistam. |
| 25 | + |
| 26 | +Este é o tipo de conteúdo que eu gostaria que estivesse disponível quando comecei a faculdade há mais de 20 anos. |
| 27 | + |
| 28 | +== Aula 2 |
| 29 | + |
| 30 | +Bom dia pessoal. |
| 31 | +Semana passada apresentei a disciplina, como serão as aulas, as atividades que precisam fazer, o processo de avaliação e a ementa. |
| 32 | + |
| 33 | +Esta semana iniciamos de fato no conteúdo sobre programação funcional. |
| 34 | +Como todas as aulas são gravadas, vocês podem assistir quando for mais conveniente. |
| 35 | +Lembrando que as presenças são registradas pelo acesso aos vídeos pelo Moodle. |
| 36 | + |
| 37 | +Para esta semana, acessem https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=2 |
| 38 | +Este primeiro vídeo apresenta os fundamentos da programação funcional, sua importância e porque não dá mais pra viver sem usar tal paradigma. |
| 39 | + |
| 40 | +A aula mostra um pouco de teoria, mas também já parte para mostrar exemplos de código. |
| 41 | +Bons estudos a todos e qualquer dúvida, estou à disposição. |
| 42 | + |
| 43 | +Só lembrando que toda semana vocês têm uma tarefa que deve ser feita e entregue em um prazo de 1 mês. Após isso, a tarefa encerra. |
| 44 | +Por isso, sugiro que tirem um tempo semanalmente para a disciplina, assistam a aula e já façam a atividade em seguida. |
| 45 | + |
| 46 | +== Aula 03 |
| 47 | + |
| 48 | +Bom dia pessoal. Essa semana temos um vídeo sobre um tópico que pode ser novo pra maioria, um pouco confuso, mas fundamental para programação em geral, não só para programação funcional. |
| 49 | + |
| 50 | +Estou falando de imutabilidade, um conceito super importante para criar software menos suscetível a bugs. |
| 51 | + |
| 52 | +A aula é bem interessante por mostrar esse conceito em diferentes linguagens e como as versões mais novas de Java facilitam isso |
| 53 | + |
| 54 | + |
| 55 | +Acessem em https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=3 |
| 56 | + |
| 57 | + |
| 58 | +Assistam a aula e façam a atividade proposta |
| 59 | + |
| 60 | +== Aula 04 |
| 61 | + |
| 62 | +Bom dia pessoal. |
| 63 | +Essa semana vamos aprofundar em funções, que apesar de parecer algo que todo mundo já sabe, é simplesmente o coração da programação funcional e há novos conceitos a serem aprendidos sobre este tópico. |
| 64 | + |
| 65 | +Vocês vão ver que, por mais que você conheça um determinado assunto, sempre há muito a aprofundar e assim criar código mais fácil de manter, reutilizar e menos sucetível a bugs. |
| 66 | +Bons estudos e qualquer dúvida, estou à disposição. |
| 67 | + |
| 68 | + |
| 69 | +Acessem em https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=4 |
| 70 | + |
| 71 | +== Aula 05 |
| 72 | + |
| 73 | +Bom dia Pessoal. Espero que estejam todos bem. |
| 74 | +A aula de hoje vamos iniciar em um dos tópicos mais importantes da programação funcional em Java: as expressões lambda. |
| 75 | +Em JavaScript elas são conhecidas como Arrow Functions (Funções Seta), mas este é um nome inventado por JS apenas, apesar de ser bonitinho 😊 |
| 76 | + |
| 77 | +Vamos falar também sobre um dos recursos mais importantes introduzidos na linguagem Java: os Streams, que permitem realizar o processamento de dados de forma absurdamente simples, com menos código e menos bugs. |
| 78 | + |
| 79 | +Acessem em https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=5 |
| 80 | + |
| 81 | +== Aula 06 |
| 82 | + |
| 83 | +Bom dia pessoal. |
| 84 | +A aula dessa semana continua no assunto de streams e aborda alguns conceitos novos, |
| 85 | +principalmente o conceito de interfaces funcionais usado em Java e outras linguagens como TypeScript (apesar de poder mudar de nome). |
| 86 | + |
| 87 | +Esse conceito é fundamental para conseguir se tornar fluente em programação funcional em Java. |
| 88 | + |
| 89 | +Bons estudos. Qualquer dúvida, estou à disposição. |
| 90 | + |
| 91 | + |
| 92 | +https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=6 |
| 93 | + |
| 94 | +== Aula 07 |
| 95 | + |
| 96 | +Bom dia pessoal. |
| 97 | + |
| 98 | +Nossa última aula foi abordado o conceito de interfaces funcionais, que é essencial |
| 99 | +para entender e escrever código funcional, principalmente para entender o que uma determinada |
| 100 | +função espera por parâmetro, quando tal parâmetro é outra função. |
| 101 | + |
| 102 | +Essa semana continuamos nesse assunto, conhecendo mais algumas interfaces funcionais |
| 103 | +e iniciando em um novo assunto de coleta de dados com Streams. |
| 104 | + |
| 105 | +Bons estudos. |
| 106 | + |
| 107 | +https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=7 |
| 108 | + |
| 109 | +== Aula 08 |
| 110 | + |
| 111 | +Olá pessoal. |
| 112 | +Espero que estejam todos bem. |
| 113 | +Na aula passada entramos em um assunto novo, que não é exclusivo de Java, |
| 114 | +e que pode ser mais confuso para quem não tem familiaridade com programação funcional. |
| 115 | + |
| 116 | +Quem já assistiu a última aula? |
| 117 | +Como está indo? Vocês têm dúvidas, dificuldades? |
| 118 | + |
| 119 | + |
| 120 | +Amanhã temos nossa próxima aula, onde vamos introduzir o tipo Optional, |
| 121 | +que também existe em diferentes linguagens (as vezes com nomes diferentes). |
| 122 | +Por fim, vamos entender o que é Null Safety e sua importância para o desenvolvimento de software |
| 123 | +(apesar de Java ainda não ter isso). |
| 124 | + |
| 125 | +https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=8 |
| 126 | + |
| 127 | + |
| 128 | +== Aula 09 |
| 129 | + |
| 130 | +Bom dia pessoal, como estão por ai? |
| 131 | +Esta semana avançamos em programação funcional com Java e vamos cobrir 3 tópicos: |
| 132 | +1) Vamos aprender sobre redução de dados, que é algo muito comum em várias linguagens funcionais. |
| 133 | +2) Vamos reaprender a usar o tipo Map (HashMap), que tem vários novos métodos funcionais que reduzem bastante o trabalho para realizar algumas tarefas. |
| 134 | +3) Por fim, vamos falar sobre coleta de dados, que é uma operação bastante útil |
| 135 | +para coletar os dados que foram processados em um Stream, depois que executamos |
| 136 | +operações como filter() e map(). |
| 137 | + |
| 138 | +Estes 3 recursos são super poderosos, permitindo que a gente executa operações mais complexas |
| 139 | +com a muito menos código e ainda menos sucetível a bugs. |
| 140 | + |
| 141 | +https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=9 |
| 142 | + |
| 143 | +== Aula 10 |
| 144 | + |
| 145 | +Bom dia pessoal. |
| 146 | +Espero que estejam todos bem. |
| 147 | + |
| 148 | +Essa semana entramos em um novo tópico interessantíssimo |
| 149 | +que é a Lazy Evaluation: Avaliação Preguiçosa ou Tardia. |
| 150 | +Este é um assunto que não é exclusivo de programação |
| 151 | +funcional, mas é muito mais empregado e benéfico |
| 152 | +em tal paradigma em linguagens que tem um maior suporte |
| 153 | +à programação funcional, como Java e outras. |
| 154 | + |
| 155 | +A aula ainda mostra como a falta deste recurso em JavaScript pode |
| 156 | +se criar um problema de desempenho em aplicações web (mas tudo depende e a aula dá mais detalhes). |
| 157 | + |
| 158 | +Segue o link. Bons estudos e bom final de semana. |
| 159 | + |
| 160 | +https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=10 |
| 161 | + |
| 162 | +== Aula 11 |
| 163 | + |
| 164 | +Boa tarde pessoal. |
| 165 | + |
| 166 | +Na última semana abordamos o assunto de "Avaliação Preguiçosa", |
| 167 | +vendo que Java torna o processamento de dados com Streams |
| 168 | +bem mais eficiente que em linguagens como JavaScript. |
| 169 | + |
| 170 | +No tópico dessa semana vamos falar sobre operações intermediárias |
| 171 | +e terminais, que está diretamente ligado com "Avaliação Preguiçosa". |
| 172 | +Entender esses conceitos é fundamental para escrever código |
| 173 | +eficiente em qualquer linguagem. |
| 174 | + |
| 175 | +https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=11 |
| 176 | + |
| 177 | +== Aula 12 |
| 178 | + |
| 179 | +Bom dia pessoal. Espero que estejam todos bem. |
| 180 | +Neste vídeo vamos continuar indo a fundo nos recursos de programação funcional com Stream em Java. |
| 181 | +Vamos ver os recursos da função flatMap, que permite "achatar" conjuntos de dados como |
| 182 | +Listas de Listas (ex.: List<List<String>>), transformando em alguma estrutura como List<String>. |
| 183 | + |
| 184 | +https://moodle.ifto.edu.br/moodle/course/view.php?id=24376§ion=12 |
0 commit comments