Page 10 - 스크래치와 함께하는 컴퓨팅 사고 기초부터 프로젝트 완성까지 도서미리보기
P. 10

라 부른다. 이 책은 컴퓨팅 사고(computational thinking)를 ‘컴퓨터를 이용하여 문제를 해결하는
사고 과정’이라고 정의한다. 그림 2.1은 논리적 사고를 통한 일상생활 속의 문제해결과 컴퓨팅 사
고를 통한 문제해결을 비교하여 설명한다.

  사람이 일상생활에서 발생하는 문제를 해결하는 과정과 컴퓨터를 이용하여 문제를 해결하는
과정, 즉 컴퓨팅 사고는 공통된 특성도 있고 서로 다른 특성도 있다. 2절에서 우리에게 익숙한 일
상생활 속의 문제해결을 먼저 생각해본 다음, 3절에서 이 책의 주제인 컴퓨팅 사고에 대해 살펴
본다.

 2? 일상생활에서 문제해결

  인간은 알게 모르게 하루 종일 아주 많은 문제를 해결하며 살아간다. 앞에서 예시한 ‘아침 먹
기’에 대해 생각해보자. 아침 먹기는 일상적인 일이기 때문에 문제해결이라는 거창한 용어를 붙이
는 것이 어색할 수 있지만, 우리가 해결해야할 문제이고 우리는 여러 가지 방법을 동원하여 매일
이 문제를 해결한다.

  ■■?분해
  아침 먹기라는 원래 문제를 먹을 것 준비, 마실 것 준비, 식탁 차리기, 설거지라는 네 개의 세부
문제로 쪼갠다. 아침 먹기라는 큰 문제를 보다 작은 여러 세부 문제로 분해(decomposition)하면
세부 문제는 해결이 좀 더 쉬워진다. 그림 2.2는 이렇게 분해된 문제를 보여준다. 사람은 이처럼
큰 문제를 해결이 쉬운 세부 문제로 분해하는데 능숙하다.

아침 먹기  먹을 것 준비       마실 것 준비   식탁 차리기  설거지
                그림 2.2? 문제 분해

  필요하면 먹을 것 준비라는 세부 문제를 더 작은 세부 문제, 즉 토스트 굽기와 계란 프라이 만
들기로 분해할 수도 있다. 마실 것 준비라는 세부 문제는 주스 짜기와 커피 내리기라는 더 작은
세부 문제로 분해한다. 식탁 차리기라는 문제는 식탁 닦기, 수저와 접시 놓기라는 더 작은 문제
로 분해할 수 있다. 분해된 문제는 계층 구조를 가지는데, 맨 위에는 원래 문제가 있고 아래로 내

                               CHAPTER 2? 문제해결 017
   5   6   7   8   9   10   11   12   13   14   15