요즘은 컴퓨터가 똑똑해져서 사람과 자유롭게 대화하는 것도 가능하다고 합니다. 하지만 그건 고도의 기능이 탑재된 AI 스피커에서나 가능한 일이죠. 컴퓨터는 사실 우리가 생각하는 것처럼 마냥 똑똑하기만 하진 않습니다. 컴퓨터에게 우리가 원하는 일을 시키기 위해서는 하나의 태스크(Task)를 굉장히 작은 단위로 나누어서 지시할 수 있어야 하는데요. 샌드위치 만들기를 예로 들어보겠습니다.
잼과 계란, 양상추가 들어간 샌드위치가 있다고 해볼까요. 요리를 잘 못하는 친구에게 레시피를 적어준다면 아마 이렇게 쓸 겁니다.
식빵에 잼을 바른다.
양상추를 얹는다.
계란프라이를 얹는다.
코딩배우기-코딩교육-프로그래밍 샌드위치 만들기
반면, 깡통로봇에게 똑같은 일을 시킨다면 어떨까요? 아마 위의 레시피만 준다면, 뜯지도 않은 식빵 봉지에 잼을 바르고 있을지도 모릅니다. 그럼 로봇에게 샌드위치를 만들어달라고 하려면 어떻게 지시해야 할까요?
도마에 놓인 식빵이 2장이 될 때까지
– 식빵을 한 장 꺼낸다
– 한쪽 면이 흰색이 아니면 다음 식빵
– 반대쪽 면이 흰색이 아니면 다음 식빵
식빵을 도마에 놓는다
이렇게 해야, 껍데기 쪽이 아닌 식빵 2장을 온전히 꺼낼 수 있을 겁니다. 프로그래밍을 할 때는, 유치원생에게 길을 알려주는 것과 같이 상세하게 서술하는 것이 중요합니다.