- declaração de variáveis, estruturas de controle, funções, classes e objetos.
- Tipos de dados em Kotlin: números, strings, booleanos, arrays, coleções e nullable types.
- Funções de ordem superior e lambdas.
- Tratamento de exceções.
- Manipulação de strings em Kotlin.
- Programação orientada a objetos em Kotlin: herança, interfaces, polimorfismo e encapsulamento.
- Imutabilidade e funções puras.
- Expressões lambda, funções de ordem superior e closures.
- Operações de coleções funcionais: map, filter, reduce, etc.
- Recursão funcional.
- Conceitos básicos de concorrência.
- Introdução às coroutines e suspensões.
- Trabalhando com coroutines assíncronas.
- Coroutines comuns: launch, async, await, etc.
- Tratamento de erros em coroutines.
- Revisão de estruturas de dados básicas: arrays, listas, pilhas, filas e conjuntos.
- Algoritmos de busca: busca linear, busca binária e busca em árvores binárias.
- Algoritmos de ordenação: bubble sort, insertion sort, merge sort, quicksort, etc.
- Grafos: conceitos básicos, busca em largura (BFS) e busca em profundidade (DFS).
- Algoritmos de programação dinâmica.
- Algoritmos de otimização: algoritmos gulosos (greedy algorithms). Desafios e Projetos Práticos:
- Aprendendo a usar bibliotecas populares, como o Kotlin Standard Library.
- Backend - Spring Boot
- Mobile - Jetpack Compose
- O aprendizado é continuo 😉