본 게시물은 대학교 학부 수업 및 참고 교재인 '이제 시작이야! 컴퓨팅 사고력으로 인공지능까지 파이썬 - 전수진, 박주연, 김수환 공저 / 연두에디션' 을 토대로 필자가 이해한 내용을 정리했습니다.
어렸을 때 그렸던 내 미래 시대의 시간이 지금 현재로 다가왔다.
2005년에 개봉한 이 영화는 그 당시 미래 시대를 2019년 세계관으로 만들었다. 하지만 지금 내가 이 게시글을 쓰고 있는 2024년, 미래 시대가 도래했다(?) 인공지능, 웨어러블 컴퓨터. 많은 게 현실이 되었다. ChatGPT는 수많은 포털사이트의 검색칸을 무색하게 만들었고, 스마트폰을 넘어 스마트워치는 자연스럽게 우리의 삶에 녹아들어 효율적인 생활을 가능하게 했다.
이 모든게 어떻게 가능했을까?
18~19세기 초반, 증기기관의 탄생으로 1차 산업혁명이 일어났다. 노동이 기계화가 되었다.
19세기 후반, 전기기관과 내연기관의 도입으로 2차 산업혁명이 일어나면서 물품의 대량생산이 가능해졌고
이를 넘어 20세기 후반이 되어 컴퓨터가 등장하며 3차 산업혁명이 시작되었다. 디지털의 시대가 시작이 된 것이다. 이것이 우리가 이러한 삶을 누릴 수 있게 한 역사적 사건일 것이다.
그리고 21세기, IoT와 AI가 탄생하고 모든 걸 하나로 융합시키는 4차 산업혁명이 도래했다. 우리는 이 과도기를 지나가고 있는 것.
1차와 2차 산업혁명 당시에는 물리적인 기계화된 기관들이 물리적 공간을 차지하고 있었다. 하지만 3차 산업혁명 컴퓨터가 우리에게 보급되면서 탄생한 인터넷은 이제 물리적 공간을 넘어 인류는 가상공간을 사용할 수 있게 되었다. 그리고 이제 지금 우리는 이 물리적 공간과 가상 공간을 CPS(Cyber Physical System)로 융합하려 한다. 가상공간에 있는 데이터를 처리해서 물리적 공간에서의 물건이나 환경을 제어한다는 것이다. IoT 사물들이 독립적이 아닌 통신을 통해 사물인터넷을 형성한다. 클라우드 기반으로 데이터를 주고 받으며 제어하는데 여기서 CPS는 ioT의 확장 개념으로서 물리적 공간과 가상 공간을 융합한다. 일부에서는 2045년 정도가 되면 인공지능이 사람을 능가할 것이라고 예측하고 있다.
우리는 4차 산업혁명이 시작되면서 직업에도 변화가 생겼다.
- 단순 노동직 : 컴퓨터나 로봇이 대체할 직업이라고 한다. 아마존 고 와 같은 기술이 여러 분야에서 대체가 가능할 수 있는 가능성을 제시하고 있다.
- 창의적인 분야의 직업 : 화가, 지휘가 등의 예술성이 필요한 분야는 훗날 지속될 직업으로 보고 있다.
- 4차 산업혁명에 따른 분야 : 새로 생겨나는 직업일 것이다. 이미 수많은 범죄수사에 사용되고 있는 디지털 포렌식. 이를 활용해 수사를 하는 전문 수사관, 가상화폐 등에서 자주 언급되는 블록체인에 대한 전문가 등 예를 들 수 있다.
하지만 공인중개사와 같이 아직 컴퓨터로 대체가 가능한 직업이 아직까지 남아있는 이유는 제도적 이유와 장치가 남아 있기 때문이다.
4차 산업혁명은 융합을 키워드로 기술과 직업이 생겨나고 있다. 그 중심에는 컴퓨터가 있다. 그렇기 때문에 우리는 이제 지금껏 가졌던 관점과는 컴퓨터를 활용한 사고를 해야할 필요가 있다. 그래서 컴퓨팅 사고력(Computational Thinking)이 대두되고 있다. 생각의 새로운 표현 도구가 필요했다. 연필과 종이로만 표현했던 아날로그 방식과는 다른, 그렇다고 워드 등을 활용한 문서 단순 작업을 넘어서 우리는 이제 프로그래밍을 알아야 한다. 중심인 컴퓨터를 최대한으로 활용하기 위해서는 '컴퓨터의 언어' 를 알아야 한다는 것이다.
인간
- 직접적이고 자연스러움
- 임기응변 가능
로봇
- 소소한 행동까지 모두 계산, 조정
- 지시의 순서가 잘못되면 안됨
- 임기응변 능력이나 눈치가 없음
이 차이점을 보아 로봇과 같은 인공물을 통해 원하는것을 얻기 위해서는 새로운 사고 능력이 요구된다. 그래서 우리는 컴퓨팅의 기본적인 개념과 원리를 기반으로 문제를 효율적으로 해결할 수 있는 사고 능력, 컴퓨팅 사고력을 키워야 한다.
Columbia university의 computer science 교수인 Jeannette M. Wing은 컴퓨팅 사고는 누구나 배워서 활용하는 보편적 사고, 누구나 기본적으로 갖춰야 하는 역량이라고 했다.
Google for education에서 제시한 컴퓨팅 사고력의 하위 요소를 제시했다.
추상화를 하는 이유 중 문제에서 복잡한 부분을 제거하고 단순화 하여 컴퓨팅하기 위한 점도 있다. 복잡한 실제 세계를 컴퓨터는 0, 1의 2진법으로만 데이터를 처리하기 때문에 추상화와 같은 단순화 과정이 필요하다. 그리고 알고리즘을 바탕으로 프로그래밍 언어로 표현, 반복되는 작업을 자동으로 처리(자동화) 한다.
컴퓨팅 사고력과 기존의 문제 해결 방법과 차이
- 프로그래밍 언어로 자동화함으로써 문제 해결
- 추상화의 모든 단계는 자동화를 고려해야 함
컴퓨터는 하드웨어, 소프트웨어, 클라우드가 합쳐진 시스템으로 발전했다.
컴퓨터로 계산할 수 있는 데이터와 정보는 자연적, 사회적 현상 이해, 표현, 설명할 수 있다.
2019년 도서 'Computational Thinking' 에서의 컴퓨팅 사고력
정신 능력(Mental Skills) 및 실행력(Practics)
- 컴퓨터 작업을 위한 계싼(Computation) 설계
- 복잡한 정보 프로세스로서의 세상을 설명하고 해석
세상을 데이터와 정보의 관점으로 보고, 추상화/ 자동화를 통해 문제를 해결한다.
문제를 좀 더 작은 문제들로 쪼개서 해결하고 결합시켜 전체 문제에 대한 해결책을 만드는것이 분할 정복 알고리즘이다.
그리고 반복되는 패턴을 일반화하면 쉽게 문제를 해결, 예측을 할 수 있다. 그것이 추상화.
추상화는 복잡한 문제를 프로그램으로 구현하려면 먼저 문제를 컴퓨터가 처리 가능하도록 단순화 시켜주어야 한다. 문제를 분해하고 패턴을 찾아서 그것을 궁극적으로 알고리즘으로 작성하여 자동화 할 수 있게 해야한다. 그러기 위해서는 단순화가 필요하다.
알고리즘을 작성할 때 순서대로 자세하게 작성해야 한다. 프로그램의 작동이 잘 안되면 짠 알고리즘의 문제일 가능성이 제일 크다. 알고리즘에서 패턴을 보고서 함수를 만들거나 여러 작업을 병렬로 수행할 때는 병렬처리 코드를 만들기도 한다. 점진적으로 오류를 수정하면서 자동화를 하게 된다. 자동화에 있어서 중요한 건 프로그래밍 언어. 사람이 자연어를 사용하는데 컴퓨터는 2진수 까지만 인식한다. 따라서 우리의 언어를 기계어로 바꿔주기 위해 중간 과정에 프로그래밍 언어를 이용한다. 그래서 이를 이용해 컴퓨터가 최종 컴퓨터 자신으 기계어로 바꾸게 된다. 프로그래밍 언어는 인간과 컴퓨터 사이의 의사소통 수단인 것.
자동화에 있어서 빅데이터 개념도 중요하다. 검색에서 키워드 등의 각종 데이터가 생성이 되는데 다른 실제 현장에서도 실시간으로 데이터들이 생성이 된다. 이것들이 모두 빅데이터이다. 이 데이터들을 이용해서 우리에게 유용한 서비스들을 만들어 내게 된다. 예를들어 심야노선, 캐나다에서는 감염병 예측 시스템을 만들었다.
4차 산업 혁명에서 우리에게 필요한 역량이 있다. 해당 분야의 전문가와 협업을 이루어 만든 산출물들이 많다. 상상력, 창의력이 가장 중요하다. 컴퓨팅 사고를 통해 혁신을 이끌어 낸다.
키포인트를 정리해보면 이렇다.
- 문제 분해 : 구성요소를 알아본다(예를들어 변하는 것과 변하지 않는 것)
- 패턴 인식 : 반복되는 패턴 인식하기
- 추상화 : 중요한 요소 선별하기
- 마지막으로 알고리즘을 짜서 자동화
생물학을 정진하던 나는 컴퓨터 과학을 배우면서 새로운 진로를 탐색하게 했다. 지금껏 가지고 온 방식을 바꿔야 할 수도 있다. 하지만 괜찮다. 다른 방식이 맞다면 배워야하지 않겠는가. 내 방식이 옳다고 생각하면 소신이 되겠지만 방식이 틀린 걸 알면서도 바꾸지 않는다면 그건 아집이니까.
'COMPUTER SCIENCE > Computational thinking' 카테고리의 다른 글
컴퓨터의 성장 스토리.. 들어보실래요? (5) | 2024.06.17 |
---|---|
조회수, 알고리즘의 은총 (0) | 2024.06.17 |
프로그래밍, 너 T발 C야? (0) | 2024.06.16 |
뻔하다 뻔해!! 다 보인다고 (1) | 2024.06.16 |
문제가 생기면 해결을 해야지 (0) | 2024.03.24 |
나의 성장 드라마
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!