Pensamento computacional
O curso apresenta o pensamento computacional como uma forma sistemática de resolver problemas, apoiada em quatro pilares: decomposição, reconhecimento de padrões, abstração e pensamento algorítmico. Cada pilar aparece com exemplos em Ruby e Rails, como service objects, objetos Result, controllers em camadas e Domain-Driven Design. As aulas tratam de decomposição top-down e bottom-up, padrões em dados e código, abstrações que vazam, pseudocódigo e as três estruturas básicas de algoritmos. Um estudo de caso final aplica os quatro pilares a um serviço de recomendação de cursos.
O que você vai aprender
- ✓Dividir problemas em partes independentes e testáveis com decomposição top-down e bottom-up
- ✓Identificar estruturas recorrentes em dados, código e problemas, e extraí-las em soluções reutilizáveis
- ✓Projetar abstrações com interfaces claras que não vazam detalhes de implementação
- ✓Escrever pseudocódigo com sequência, seleção e iteração antes de traduzi-lo para Ruby
- ✓Aplicar os quatro pilares com recursos do Ruby como Enumerable, módulos, service objects e query objects
- ✓Seguir um fluxo de seis passos e um checklist para resolver um problema do enunciado à verificação
O que é pensamento computacional?
Pensamento computacional não é sobre pensar como um computador. É sobre desenvolver uma abordagem sistemática para resolução de problemas que funciona seja escrevendo código, projetando um sistema ou debugando um incidente em produção.
Ler a aula completa grátis →Currículo
7 aulasO que é pensamento computacional?
Apresenta os quatro pilares do pensamento computacional com exemplos em Rails e compara estratégia de resolução com codificação.
Decomposição: quebrando problemas em partes
Mostra como dividir problemas em peças independentes e testáveis, com heurísticas, camadas do Rails e um exemplo de quiz.
Reconhecimento de padrões: identificando similaridades
Trata de padrões recorrentes em tabelas, services, controllers e problemas, e de como um padrão vira abstração reutilizável.
Abstração: escondendo complexidade
Explica níveis de abstração, o que torna uma abstração boa ou vazada, e técnicas Ruby de métodos a domínios DDD.
Pensamento algorítmico: passo a passo
Define algoritmos, usa pseudocódigo com sequência, seleção e iteração, e traduz para Ruby um algoritmo de emails de lembrete.
Pensamento computacional em Ruby
Relaciona cada pilar a recursos do Ruby como Enumerable, blocks, módulos e query objects, terminando com uma query de dashboard.
Resolvendo problemas reais: o fluxo completo
Aplica um fluxo de seis passos para construir um serviço de recomendação de cursos e confere exemplos e casos extremos.