-
-
코딩을 위한 컴퓨팅 사고력 ㅣ 천천히 읽는 책 16
채성수.오동환 지음 / 현북스 / 2017년 6월
평점 :
현북스 / 채성수 · 오동환 지음/천천히읽는책16 [코딩을 위한 컴퓨팅 사고력]
중1딸과 초3 아들을 키우다보면 엄마인 내가 아이들 나이에 배웠던 내용과 딸과 아들의
교과 과정들이 다르다는 것을 느끼게 될 때가 많습니다.
그만큼 살고 있는 세계가 빠르게 발전해 나가고 있으며 그에 맞추어
우리가 알아야할 것들도 많다는 생각이 듭니다.
최근들어 코딩교육이라는 말을 많이 듣게 됩니다.
2018년도부터 중학교에서 2019년도에는 초등학교에서 배우게 된다는 이야기도 들려
초3 아들은 방과후수업으로 코딩교육이 들어간 컴퓨터 수업을 듣고 있습니다.
아직 정확한 개념초차 없는 엄마인지라 아들에게 어떤 내용이냐고 물어보면
게임을 만들고 할 수 있는 재미있는 수업이라는 이야기를 해줍니다.
아들이 흥미있어하고 재미를 느끼는 것에 만족하면서도 코딩이
뭔지 이게 왜 필요한지에 대해서는 잘 모르겠다는 생각이 듭니다.
이런 궁금증과 호기심을 [코딩을 위한 컴퓨팅 사고력]으로 해결해 볼 수 있을 것
같아 기대가 됩니다.

그야말로 지금은 소프트웨어가 핵심인 제4차 산업혁명의 시대라고 합니다.
소프트웨어를 잘 만들기위해서는 컴퓨터에 가장 적합한 문제 해결방법을 찾는
컴퓨팅 사고력이 이루어져야 한다고 합니다.
그런 의미에서 [코딩을 위한 컴퓨팅 사고력]을 통해 컴퓨팅 사고력의 기본 개념들을
이해해보고 문제 해결을 위한 모델링을 배워볼 수 있습니다.
컴퓨팅 사고력이란 컴퓨터의 제한적인 능력을 이용하여 우리가 하고자 하는 것을
이루기위해 고민을 해결하는 창의적인 생각입니다.
즉, 문제를 분석하고 해결하기 위한 모델링을 찾는 과정이라는 것을 알게됩니다.

이 책의 구성은 문제를 분석하기 위한 자료수집, 수집된 자료를 이용하여 문제 분석,
분석 내용을 바탕으로 해결안 표현의 기본 개념 설명과 문제를 분석하고 해결하는
과정에서 필요한 문제 분할,추상화,자동화,알고리즘과 절차화,시뮬레이션
병렬화등 기본 개념에 대해 설명해 줍니다.

빅 데이터의 시대에 살고있는 만큼 다양한 방법으로 정보들을 수집하여 문제 해결을
위한 자료들로 이용됩니다.
수집된 자료들을 이용하여 문제를 해결하기 위해서는 자료 분석의 과정이 필요합니다.
자료 분석의 과정을 걸쳐 해결방안을 위한 모델링이라는 결과를 만나게 됩니다.
수집된 자료를 논리적으로 배치하는 가장 쉬운 방법은 사건이 일어난 시점별로 정리하는
방법이라고 알려줍니다.
<아침에 일어나서 하는 일>을 프로세스와 데이터로 연계하여 표현하면서
컴퓨터의 처리과정을 조금은 더 쉽게 이해해 볼 수 있었습니다.
자료의 분석을 구조화 된 모델링으로 표현하면서 글로 읽는 것보다 더 쉽게
이해 되는 것을 알 수 있었습니다.

문제는 작고 단순화하여 나눌수록 이해하기 쉽습니다.
그런면에서 분할화는 방대하고 어렵고 복잡한 문제들을 해결하는데 아주 유용합니다.
문제를 나누는 분할과 문제를 해결하는 정복은 소프트웨어뿐만 아니라 과학,의학,
공학등 에도 많이 사용된다는 것을 알게 됩니다.
대표성을 가진 특징을 바탕으로 한 추상화는 말이나 글보다 조금 더 이해하기
쉽다는 것을 알게 됩니다. 세부적인 정보를 감추는 '정보 은닉',의도적으로
단편적인 정보를 감추는'캡슐화'라는 개념들도 알게 됩니다.
효율적으로 일을 하기 위해 반복적인 일을 찾는 것에서 자동화가 시작됩니다.
동일한 소프트웨어 패턴을 찾아내는 일은 실생활에서도 많이 찾아 볼 수 있습니다.
패턴을 찾기 위해서 분할을 통해 각각의 기능을 독립적인 논리로 만드는 것이
중요하다는 것을 알게 됩니다.

어떤 문제를 해결하기 위한 동작들의 절차인 알고리즘이라는 말을 알게 됩니다.
순서,반복,조건의 요소들로 알고리즘을 파악해 보며, 일의 순서를 정해볼 수 있습니다.
소프트웨어 모델의 알고리즘을 직접 수행해보며 시물레이션해봅니다.
시물레이션을 통해 검증되고 확인되면 코딩 과정으로 들어갑니다.
병렬화를 통해 몇가지 일을 동시에 처리하면서 처리 속도를 빠르게 하여
컴퓨터의 성능을 향상 시킬 수 있습니다.

현북스 천천히읽는책16 [코딩을 위한 컴퓨팅 사고력]을 읽어보면서 소프트웨어를
효율적으로 다루기 위한 컴퓨팅 사고력은 정말 필수불가결의 과정이라는
생각이 들었습니다.
컴퓨터가 좋다고 그 일의 처리과정이 빨라지고 쉬워지는 것이 아니라 컴퓨터를 다루는
인간의 창의성, 논리적 사고력들이 높아지면서 더 좋은 소프트웨어의 개발과 함께
컴퓨터의 능력도 커진다는 것을 알게 되는 시간이었습니다.
컴퓨팅 사고력이 소프트웨어의 개발뿐만 아니라 일상 생활속의 자신만의
논리적 사고력을 키워주기도 할 것 같아 시대를 이끌어갈 아이들에게
필요한 개념들이라는 생각이 들었습니다.