1. 분해 — 큰 문제를 작게 쪼개기
모든 프로그램은 큰 일을 작은 단계로 나누는 데서 시작합니다. “로봇을 저기까지 보내라”는 한 문장을 “앞으로 두 칸, 왼쪽으로 돌고, 다시 앞으로 한 칸”처럼 쪼개는 것이 분해입니다. 아이에게 “이걸 한 번에 하지 말고, 작은 일로 나눠 보자”고 말하는 것만으로 이 사고가 시작됩니다. 라면 끓이기, 책가방 싸기 같은 일상도 좋은 연습거리입니다.
2. 패턴 — 반복되는 규칙 찾기
같은 동작이 세 번 반복된다면, 그것을 “세 번 반복”이라는 하나의 규칙으로 묶을 수 있습니다. 패턴을 알아채면 길고 복잡해 보이던 문제가 갑자기 단순해집니다. 아이가 “어, 이거 아까랑 똑같네?”라고 말하는 순간이 바로 패턴 인식입니다. 무늬, 음악의 후렴, 달력의 요일에서 반복을 찾아보게 해 주세요.
3. 추상화 — 핵심만 남기고 이름 붙이기
반복되는 규칙을 하나의 묶음으로 만들어 이름을 붙이는 것이 추상화입니다. “이 닦기”라는 한 단어 안에 칫솔을 들고, 치약을 짜고, 닦고, 헹구는 여러 단계가 들어 있는 것과 같습니다. 세부를 일일이 떠올리지 않고 묶음 단위로 생각하는 힘이, 큰 문제를 다룰 때 머리를 가볍게 해 줍니다.
4. 디버깅 — 틀린 곳을 차분히 되짚기
코딩에서 가장 많이 하는 일은 사실 “틀린 곳 찾기”입니다. 계획대로 안 됐을 때 화내거나 포기하는 대신, 어디서부터 어긋났는지 한 단계씩 거꾸로 짚는 태도 — 이것이 디버깅입니다. 아이가 실수했을 때 답을 바로 알려 주기보다 “어디까지는 맞았을까? 어디서부터 달라졌을까?” 하고 함께 되짚어 주면, 실수를 두려워하지 않는 문제 해결자가 됩니다.
정리
분해·패턴·추상화·디버깅. 이 네 가지는 컴퓨팅 사고력(Computational Thinking)이라 불리며, 어떤 프로그래밍 언어를 배우든 그 바탕이 됩니다. 언어는 나중에 얼마든지 배울 수 있지만, 이 사고 습관은 어릴 때 놀이로 익혀 두면 평생을 갑니다.
로직크래프트