본문 바로가기
AI기초

컴퓨팅 사고력의 정의 구성요소 문제구조화 최근교육사례

by AI가요즘대세라던데 2023. 3. 9.

Computational Thinking 설명그림

이세돌과 알파고가 경기한 지가 엊그저께 같은데, 최근 ChatGPT 등 거대 AI들이 등장하기 시작하여 엄청난 판도를 바꾼다고 세상은 이야기한다. AI에서 가장 기초가 되는 컴퓨팅 사고력에 대하여 의미를 이해하고, 구성요소와 문제를 어떻게 컴퓨터가 이해하는 형태로 바꾸는지, 사례는 어떤 것들이 있는지 알아보자.

컴퓨팅 사고력의 정의

"CT(Computational Thinking)는 읽기, 쓰기, 셈하기와 더불어 누구나 갖춰야하는 기본 역량"이다. 컴퓨터과학의 이론, 기술, 도구를 활용하여 현실의 복잡한 문제를 해결하는 사고방식이다. 코팅이나 프로그래밍 기술과는 달리, 분야에 관계없이 컴퓨팅 원리를 활용해 상황을 분석하고, 재구성해 이를 해결하기 위한 일련의 구조를 만들어 문제를 해결할 수 있는 시각을 제공한다. 의학, 법, 경제, 정치, 예술 등 사회 모든 분야에서 보편적으로 필요한 핵심능력이다. 즉 6가지 정의로 요약할 수 있다. 첫째, 컴퓨팅 시스템의 역량을 활용하여 해결하고자 하는 문제를 효과적이고 효율적으로 해결할 수 있는 절차적 사고능력. 둘째, 문제를 수립하고 해결책을 만들어 컴퓨팅 시스템을 통해 효과적으로 수행되도록 표현하게하는 사고 과정. 셋째, 일상 생활 속의 문제 해결을 위해 문제를 쪼개고, 절차를 만들어 최적의 방법을 찾고, 방법을 정리하여 유사문제에 적용하고 응용하는 능력. 넷째, 문제와 그에 대한 해법을 잘 표현하는 사고의 과정이며, 그 해법은 정보처리기기에서 효과적으로 수행될 수 있는 형태로 표현되어야 함. 다섯째, 소프트웨어 공학자가 검색, 메일, 지도와 같은 컴퓨터응용에서 바탕으로 하고 있는 프로그램을 작성하는 데 사용하는 문제해결기법. 마지막으로 컴퓨터과학의 원리를 사용하는 문제해결방법이다.

컴퓨팅 사고력의 구성요소

구성요소에는 추상화자동화가 있다. 사람이 직접 문제를 풀려면 시간이 너무 오래 걸릴 수 있는 일을 컴퓨터에게 시키기 위해서 문제를 컴퓨터가 풀 수 있는 방식으로 재정의 하는 일(Abstaction, 추상화, 모델링)과 데이터를 주고 컴퓨터가 문제를 풀 수 있도록 방법을 정해주는 일(Algorithm) 그리고 같거나 유사한 문제를 풀어내는 것을 재현 가능하게 하는 일(Automation)을 할 수 있는 사고체계가 Computational Thinking이다. 말로써 설명하면 상당히 이해하기 어려울 수 있다. 그렇기 때문에 최근 이슈가 되었던 "샌드위치 코딩"에 대해 설명해 보겠다. 샌드위치를 만들기 위해서 재료는 "빵 2쪽, 칼 1개, 땅콩잼, 딸기잼" 이렇게 준비되어 있다고 가정하자. 어떻게 샌드위치를 만들 수 있겠는가? 대부분 '빵 위에 칼을 활용해서 입맛에 맞게 버터를 바르거나, 딸기잼을 바른다.'라고 이야기할 것이다. 사람은 알아들을 수 있다. 하지만 컴퓨터는 알아듣지 못한다. 왜냐하면 어떤 손으로 빵을 들 것인가? 칼의 어떤 부분을 잡을 것인가? 땅콩잼을 바를 것인가? 딸기잼을 바를 것인가? 아니면 둘 다 바를 것인가? 칼로 빵에 바를 때 빵 위쪽부터 아래쪽으로 발라야하는가? 이렇게 중요한 요인을 고려하지 않고 컴퓨터가 사람처럼 행동하길 바랬다는 것이다. 간단하게 컴퓨터가 알아들을 수 있도록 설명해 보겠다. 첫째, 빵 한쪽을 접시에 놓는다. 둘째, 땅콩잼의 뚜껑을 열고, 칼의 손잡이를 오른손으로 잡은 뒤, 칼을 활용하여 한스쿱을 퍼서, 빵이 놓인 위쪽 방면으로 펴 바른다. 셋째, 다른 빵 한쪽을 한 손에 든다. 넷째, 두 번째와 같이 딸기잼 시행을 반복한다. 다섯째, 빵 한쪽을 들어 다른 빵 한쪽에 딸기잼과 버터가 발린 면이 안쪽으로 하여 포갠다. 이는 다음문단인 문제를 컴퓨터로 해결할 수 있는 형태로 구조화하기와 이어진다.

문제를 컴퓨터로 해결할 수 있는 형태로 구조화하기

컴퓨터 공학 사고력은 정보를 처리하는 과정과 방식을 이해하고, 다시 컴퓨터에게 지시할 수 있는 순환적 사고를 말한다. 컴퓨터 공학적 문제해결 과정은 '문제 이해 및 분석', '컴퓨터 공학적 원리 적용', '문제해결방법의 설계(알고리즘설계)', '문제해결방법의 프로그래밍(알고리즘구현)', '결과검토' 의 5단계의 과정으로 이루어진다. '문제이해 및 분석' 단계는 일반적인 문제해결과정과 동일하다고 볼 수 있다. '컴퓨터 공학적 원리 적용' 단계에는 전문단에서 설명한 대로 샌드위치 만드는 알고리즘을 생각하면 된다. 즉, 데이터 수집, 자료분석, 데이터표현, 문제분석, 추상화, 알고리즘과 절차, 자동화, 시뮬레이션, 병렬화 등이 있다. '문제해결 방법의 설계(알고리즘 설계)' 단계는 컴퓨터가 각 연산들을 수행하기 위해서는  "명확성", "효율성", "입력", "출력"의 조건을 만족해야 한다. 

최근교육사례

이렇게 설명하는 이유는 최근 OpenAI, ChatGPT 등 AI가 실생활에 다가오고 있고, 이제는 편리를 위함이 아닌, 생존을 위한 도구로 활용되어야 하기 때문에 아이들의 교육과정에도 코딩이 있고, 모든 생활에도 AI가 퍼져있다는 것이다. 이세돌과 알파고가 경기를 치른 것이 엊그저께 같은데, 벌써 확연히 실생활에 와 있는 것이다. 회사에서도 업무를 하는데 ChatGPT, Python Coding은 이제 기본이 되어버렸다. 명문대, 대기업을 나와도 필수가 되어버린 세상이다. 시간이 될 때, 하기 동영상을 참고하길 바란다.

 

 

 

댓글