Page 11 - 스크래치와 함께하는 컴퓨팅 사고 기초부터 프로젝트 완성까지 도서미리보기
P. 11
려가면서 더 작은 문제가 배치된다. 그림 2.3은 분해된 문제의 계층 구조를 보여준다.
아침 먹기
먹을 것 준비 마실 것 준비 식탁 차리기 설거지
토스트 굽기 계란 프라이 주스 짜기 커피 내리기 식탁 닦기 수저접시 놓기
그림 2.3? 분해된 문제의 계층 구조
■■?추상화
주방을 책임지는 엄마는 추상화(abstraction)를 한다. 먹을 것 준비라는 세부 문제까지만 생각
을 하고, 어떤 요리를 만들 지에 대한 구체적인 내용은 생각하지 않는다. 그리고 먹을 것 준비라
는 세부 문제를 아빠에게 맡긴다. 세부 문제를 의뢰받은 아빠는 구체적인 내용을 생각해야 한다.
오늘은 토스트와 계란 프라이를 만들겠다고 구체적으로 결정하고 실행에 옮긴다.
아빠 수준에서도 추상화가 발생한다. 제과점에서 사온 식빵을 냉장고에서 꺼내 토스터기에 넣
고 굽기 시작하지, 토스트를 만들기 위해 밀가루에 물을 붓고 반죽하는 매우 세부적인 일부터 시
작하지 않는다. 토스터기에 빵을 넣고 전원 버튼을 누르고 다이얼을 돌려 가열 온도를 조절하면
그만이다. 다이얼을 돌렸을 때 기계 내부에서 무슨 일이 일어나는지에 대한 구체적인 내용은 신
경쓰지 않는다. 이와 같이 추상화도 여러 수준으로 계층화 되어 있다.
우리 주위는 온통 추상화 투성이다. 스마트폰의 화면에 있는 아이콘만 클릭하면 뮤직 비디오
를 볼 수 있고, 벽에 있는 스위치를 올리기만 하면 방에 불이 들어오고, 자동차의 브레이크 페달
을 밟기만 하면 차가 멈춘다. 구체적인 내용을 감추는 추상화는 문제해결을 쉽게 해주며 우리 일
상생활을 편하게 해준다.
■■?병렬 처리
모두가 바쁜 아침 시간에 아침 먹기라는 문제를 빨리 해결하기 위해 엄마는 병렬 처리를 활용
한다. 아침 먹기라는 원래 문제를 먹을 것 준비, 마실 것 준비, 식탁 차리기, 설거지라는 네 개의
세부 문제로 분해하고, 각각 아빠, 엄마, 누나, 나에게 맡겨서 문제해결을 보다 빠른 속도로 처리
한다.
사람은 알게 모르게 병렬 처리를 일상적으로 이용한다. 그림 2.4는 차를 수확하는 문제를 여러
사람이 병렬 처리하여 속도를 높이는 장면을 보여준다.
018 PART 1? 컴퓨팅 사고와 문제해결