CLEVERMATE

SW 코딩 교육을 위한 콘텐츠 공유 공간

컴퓨터의 사고 방식

2018년 11월 11일 PM 01:24
코딩이란 컴퓨터에게 시키고 싶은 일을 컴퓨터가 이해할 수 있는 언어로 바꾸어 명령하는 것입니다. 그리고 앞선 글에서 우리가 그러한 코딩을 배우는 목적은 컴퓨터를 작동시키는 방법 자체를 잘 알기 위해서뿐만이 아니라, 컴퓨터가 사고하는 방식을 통해 주어진 문제를 창의적이고 논리적으로 해결하는 사고력을 기르기 위해서라고 했었지요. 
소프트교육에 대해서는 "코딩 교육이 왜 필요해? 결국 사고력 교육이야!"를 읽어 보세요. (https://blog.naver.com/marusys_coding/221281749690)


그렇다면 대체 컴퓨터는 어떻게 사고하는 걸까요? 컴퓨터가 사고하는 방식이란 무엇일까요? 

컴퓨터는 여러분도 알다시피 전자 회로를 이용하여 아주 빠른 속도로 계산, 데이터 처리, 사무 관리, 언어나 영상 정보 처리 등 다양한 일을 하는 기계 장치입니다. 이제 우리 생활에 없어서는 안 될 정도로 아주 중요한 역할을 하고 있지요. 

여러분이 숙제를 하거나 중요한 문서를 작성한다고 해 봅시다. 아마 잘 알려진 한글과 컴퓨터의 한글, 혹은 마이크로소프트의 워드에 키보드를 사용하여 글씨를 입력하고 있겠지요. 어째서 키보드로 버튼을 누르면 글씨가 입력될까요? 이미 프로그램을 만드는 사람들이 컴퓨터가 그렇게 작동하도록 프로그래밍(코딩)을 해 두었기 때문입니다. 그리고 문서 작성을 손쉽게 할 수 있도록 한글이나 워드 같은 소프트웨어를 만든 것입니다. 


한글과소프트의 소프트웨어 한글. (사진 출처: 블로터)


하드웨어 : 컴퓨터 자체의 실제 부품. 모니터, 키보드, 프린터, 카메라, 태블릿 PC 등. 
소프트웨어 : 컴퓨터를 동작하게 하는 프로그램. 프로그래머들이 설계하여 만들어 놓은 코드의 모음. 포토샵, 한글, 게임, 모바일 어플리케이션 등.

하지만 여러분이 코딩을 하게 된다면 다른 사람이 만든 프로그램이나 앱을 사용하지 않아도, 여러분이 직접 만들 수 있습니다. 여러분이 속한 동호회를 위한 어플리케이션이나 친한 친구들끼리만 사용할 수 있는 비밀 일기장 같은 프로그램 같은 것들 말이에요. 소프트웨어가 없다면 컴퓨터는 그냥 커다란 상자에 불과합니다. 이제 코딩이 얼마나 중요한지 알겠지요? 

컴퓨터는 여러분이 입력한 정보에 따라 특정한 작업을 수행합니다. 예를 들어 여러분이 음악을 재생한다고 해 봅시다. 갑자기 여러분이 음악을 듣고 싶다고 생각하는 것만으로 컴퓨터가 저절로 음악을 재생해 주지는 않겠지요? 여러분이 음성이든, 아이콘을 터치하든, 키보드로 입력하든 명령을 내려야 합니다. 그러면 컴퓨터가 그 명령을 인식하고 음악을 재생합니다. 이것이 바로 컴퓨터가 작동하는 가장 기본적인 단계입니다. 
입력 → 처리 → 출력

사실 컴퓨터는 아주 똑똑하지만 스스로 생각할 수는 없습니다. 명령을 받아야만 어떤 동작을 수행할 수 있어요. 그리고 그 명령은 아주 정확하게 이루어져야 합니다. 
로봇에게 '샌드위치를 만들어 줘.' 하고 명령을 내린다고 생각해 보세요. 로봇은 먼저 샌드위치가 음식이라는 것을 알아야 하고, 샌드위치가 무엇으로 만들어지는지를 알아야 하고, 샌드위치를 만들려면 어떤 재료를 얼만큼 사용해서 어떤 순서로 만들어야 하는지를 알아야 합니다. 
로봇이 샌드위치를 만들어 주기를 원한다면 단순히 '샌드위치를 만들어 줘.'라고 명령하는 것이 아니라, '부엌의 조리대 왼쪽에 있는 식빵을 두 개 꺼낸 다음, 냉장고 두 번째 칸에 있는 버터를 10g 정도 나이프로 떠서 식빵 한쪽 표면에 얇게 펴바르고….' 같은 방식으로 정확한 순서에 따라 컴퓨터가 처리할 수 있는 정보를 전달하여 명령해야 하는 것입니다. 

샌드위치를 만드는 과정을 아주 간단하게 표현하면 다음과 같이 될 것입니다.

식빵에 버터 바르기 x 2
식빵 한 쪽 위에 잼 바르기
잼이 발린 면 위에 햄 얹기
달걀프라이 얹기
식빵 하나를 뒤집어 덮기
컴퓨터는 아주 많은 정보를 기억하고 같은 동작을 수백 번, 수천 번이나 반복할 수 있습니다. 그리고 컴퓨터가 알아들을 수 있는 언어로, 작업할 수 있도록 특정한 규칙에 따라 명령을 전달하는 것이 바로 코딩입니다. 

코딩은 조금 귀찮은 작업일 수도 있어요. 하지만 컴퓨터에게 어떻게 정보를 전달해야 하는지를 잘 생각해 보면 그렇게 어렵지 않답니다.

#교육칼럼 #부모교육 #강사교육 #블로그 #성인 #부모 #교사 #칼럼
[출처 표기] 본 자료를 사용할 때 출처를 반드시 표기합니다.
[수정 불가] 본 자료는 어떤 수정도 불가하며 본 게시물에서 보기만 가능합니다.
[공유 불가] 본 자료는 어떤 공유도 불가하며 본 게시물에서 보기만 가능합니다.

CLEVERMATE 자료를 공유하세요