Intern Track Roadmap

Computational thinking

This course covers computational thinking as a systematic approach to problem solving, built on four pillars: decomposition, pattern recognition, abstraction and algorithmic thinking. Each pillar is explained with Ruby and Rails examples, such as service objects, Result values, layered controllers and domain-driven design. Lessons cover top-down and bottom-up decomposition, data and code patterns, leaky abstractions, pseudocode and the three building blocks of algorithms. A final case study applies all four pillars to a course recommendation service, with a six-step workflow and a checklist.

What you'll learn

  • ✓Breaking problems into independent, testable parts using top-down and bottom-up decomposition
  • ✓Spotting recurring structures in data, code and problems, and extracting them into reusable solutions
  • ✓Designing abstractions with clear interfaces that do not leak implementation details
  • ✓Writing pseudocode with sequence, selection and iteration before translating it to Ruby
  • ✓Applying the four pillars with Ruby tools such as Enumerable, modules, service objects and query objects
  • ✓Following a six-step workflow and checklist to solve a problem from statement to verification
Free preview · Lesson 1 6 min read

What is computational thinking?

Computational thinking is not about thinking like a computer. It is about developing a systematic approach to problem solving that works whether you are writing code, designing a system, or debugging a production incident.

Read the full lesson free →

Curriculum

7 lessons
Type to start searching...