본문 바로가기
생활 정보/알면 손해는 안보는 것

컴퓨팅사고력 : 코딩을 하는 이유

by 성히의세상 2020. 11. 5.

요즘 들어 초등학생, 중학생 등 SW교육의 열풍과 함께 컴퓨팅 사고력이라는 키워드가 떠오르고 있다.

 

먼저 컴퓨팅 사고력이라는 용어의 정의를 살펴보자면 "복잡한 문제를 효율적으로 다루고 해결하는 사고능력"을 말한다. 예전에는 이를 보고 그저 논리적이다. 똑똑한 사람이다. 라는 말로 칭찬을 했다. 하지만 요즘에는 컴퓨팅 사고력이라는 말로 대체되고 있다. 

 

컴퓨팅 사고력은 말 그대로 문제를 해결할 때 컴퓨터처럼 사고하는 것을 말한다. 컴퓨터는 모든 문제를 순차적으로 해결한다. 한 마디로 알고리즘을 가지고 있다는 이야기다.

 

예를 들어보자, 우리가 도서관에서 원하는 책을 찾고 싶다. 도서관에 가면 장르별로 책이 모여 있고 그 안에서 ㄱ ㄴ ㄷ ㄹ 순으로 책이 정리되어 있다. 우리는 그 상황을 알고 있다면 무작정 아무데서나 책을 찾지 않는다. 먼저 내가 찾는 책의 장르가 어디에 진열되어 있는지를 보고 책의 제목이 "내가 바라는 모든것" 이라면 ㄴ으로 시작하는 책이 진열되어 있는 곳으로 간다. 그리곤 그곳에서 찾는다.

 

당연히 그렇게 찾는게 훨씬 쉽고 빠르다. 이처럼 쉬운 과정도 컴퓨팅 사고력이라고 볼 수 있다. 

 

스티븐잡스의 컴퓨팅 사고력

우리는 스티븐잡스의 명언을 기억해야 한다. "모두가 컴퓨터 프로그래밍을 배워야 하는 이유는 생각하는 방법을 배우기 때문입니다" 라는 희대의 명언을 남겼다.

 

그렇다. 우리는 하루에도 수백, 수천가지 생각과 이곳저곳에서 밀려드는 업무, 스트레스와 싸워가며 하루하루를 살고 있다. 아무리 정신을 똑바로 차리려고 해도 머릿속에 들어있는 이런 저런 생각들때문에 결국 오늘도 이것 저것 손대면서 일을 남기게 되고 제대로 된 성과는 없고 야근을 하게 된다.

 

하루하루를 살다보면 우리의 정신은 점점 복잡해지고 일의 순서가 뒤죽박죽 섞여버리며 결국 뭐 하나도 제대로 끝내지 못하게 된다.

 

하지만 우리가 마치 컴퓨터처럼 사고한다면, 이런 복잡한 상황에서도 일의 순서가 나뉠것이며 그 순서에 따라 차근차근 일을 진행할 수 있게 된다. 물론 너무너무 복잡한 상황이 뒤섞여 있다 해도 어느정도 도움이 될 수 있다.

 

초등학생들이 요즘 코딩을 배우는 이유도 컴퓨팅 사고력을 키우기 위해서다. 우리는 이를 통해 우리가 실생활에서 겪는 여러 문제를 마치 컴퓨터처럼 논리적으로 풀어나갈 수 있다.

 

 

컴퓨팅 사고의 기초

● 분해

아주아주 큰 문제가 있다. 이 문제는 너무너무 복잡하고 커서 감당이 힘들다. 어떻게 해결해야 할지도 모르겠다.

 

우리는 이럴때일 수록 컴퓨팅 사고를 해야한다. 일단 문제를 조각조각 나눠보자. 그렇다면 어마어마하게 컸던 문제가 작은 문제로 변신할 것이고 하나하나 처리해 나갈 수 있게 된다.

 

예를 들어보자. 나는 내 생활패턴에 맞춰 불을 끄고 켜주는 기계를 만들고 싶다. 이제 이 문제를 분해해보자. 

 

먼저 불을 끄고 킬 수 있는 장치를 만든 후에 이 장치에 현재 시간을 알 수 있게 한다. 그리고 내가 집에 없을 때는 알아서 꺼지도록 하는 기능을 넣는다. 이렇게 문제를 분해하고 한가지씩 해결하는 방법을 말한다.

 

● 패턴 인식

패턴이란 계속해서 반복되는 현상을 말합니다. 패턴 인식이라는 것은 이러한 반복되는 현상을 캐치하는 것입니다. 또한 특정한 정보를 얻기 위해 요인들 간의 유사점을 찾는 것도 말합니다.

 

우리는 이 단계를 통해 다음 단계에서 이어지는 추상화를 할 수 있게 됩니다. 

 

● 추상화

우리는 이제 문제를 분해하고 패턴을 인식했습니다. 이제 여기에서 불필요한 것들은 제거하고 이 문제에 해당하는 일반적인 규칙을 만듭니다. 이것이 추상화입니다.

 

즉 핵심적인 요소를 제외하고 모두 날려버려 단순화를 시키는 과정입니다.

 

● 알고리즘

위의 과정을 반복하는 것입니다. 즉 자동화를 한다는 얘기이기도 합니다. 위의 과정을 반복하여 문제를 풀었다면 이 방법을 자동화하여 다른 문제에 대입하여 푼다는 것입니다.

 

 

마무리하며

어찌되었든 세월이 가면 갈수록 우리 삶에 코딩, SW 등 디지털 역량을 요구하는 일들이 많아집니다. 은행도 마찬가지로 이런 프로그래밍 능력이 있는 사람들을 더 뽑고 있는 추세이기도 하구요.

 

컴퓨팅 사고력은 비단 프로그래머나 공학자뿐만 아니라 모든 사람이 배워야하는 기본 덕목이 되어가고 있습니다. 미래로 갈수록 논리적이고 문제 해결에 강점을 가진 사람들을 선호할테니까요

'생활 정보 > 알면 손해는 안보는 것' 카테고리의 다른 글

실업급여 신청방법  (0) 2020.11.09
실업급여 조건  (0) 2020.11.09
쏘카 이용료  (0) 2020.10.30
그린카 사고 처리, 100% 내 과실  (1) 2020.10.27
등기부등본 열람 방법  (0) 2020.10.20

댓글