반응형
1. 컴퓨팅 사고의 개념
지넷 윙 교수는 "컴퓨터 과학자뿐만 아니라 누구나 배워서 활용할 수 있는 보편적인 사고이자 기술"이라고 했고, 우리가 듣고, 읽고, 쓰기 등과 같이 컴퓨팅 사고력도 학습하고 익혀야 한다고 했습니다.
위키피디아에서는 "컴퓨터(사람 또는 기계)가 효과적으로 수행할 수 있도록 문제를 정의하고 그에 대한 답을 기술하는 일체의 과정"이라고 정의하고 있습니다. 이것처럼 컴퓨팅 사고(Computational Thinking)는 다양하게 정의하고 있습니다. 우리는 컴퓨터 사고는 "컴퓨터를 이용하여 문제를 해결하기 위한 논리적이고 창의적인 생각 방식"이라고 정의합니다.

2. 컴퓨팅 사고의 구성요소
컴퓨터 사고의 구성요소는 문제를 해결하는 절차라고 볼 수 있습니다.
- 분해(Decomposition) : 복잡한 문제를 작은 단위로 쪼개서 문제의 이해 및 해결을 좀 더 쉽게 하는 것임
-
패턴인식(Pattern recognition) : 문제 또는 데이터에서 일정한 경향, 반복되는 규칙, 공통적 속성 등 유사한 특성을 발견하여 패턴을 찾아내는 과정임
-
추상화(Abstraction) : 복잡한 문제에서 필요하지 않은 특징이나 세부적인 상황을 없애고 핵심적인 요소만 남겨 일반화된 모델로 단순화시키는 것임
-
알고리즘(Algorithms) : 문제를 해결하기 위해 추상화된 핵심 원리를 단계적이고 반복적인 절차로 나타내는 것임
- 자동화 : 프로그래밍 도구를 이용해 알고리즘을 컴퓨터가 이해할 수 있는 형태로 표현하여 문제해결 과정 및 결과를 확인함
3. Coding(코딩)
코딩 교육은 알고리즘을 프로그래밍 언어를 이용해 옮기는 방법이 아니라 "컴퓨팅 사고 훈련"입니다. 코딩의 절차는 문제분석, 소프터웨어 구조 설계 그리고 구현하는 과정인데, 문제분석과 소프터웨어 구조 설계는 컴퓨팅 사고력과 연계되어 있습니다.
자동화 과정에서 활용되는 프로그래밍 도구는 블록 프로그래밍에 해당하는 스크래치(Scratch), 엔트리(Entry), 앱인벤터(Appinventor) 등이 있습니다.
프로그래밍 언어는 크게 저급언어와 고급언어가 있으며, 고급언어는 컴파일러언어와 인터프리터언어가 있습니다.
- 컴파일러 언어(compiler language)는 코드가 실행되기 전 컴파일러를 거쳐서 기계어로 모두 변환되어 실행되는 프로그래밍 언어입니다. C언어, 자바언어, 파스칼 언어 등이 여기에 해당합니다
- 인터프리터 언어는 개발자가 작성한 코드를 기계어로 변환하는 과정없이 한줄씩 해석하여 명령을 바로 처리하는 프로그래밍 언어를 말합니다. 즉, 번역과 실행이 동시에 이루어집니다. 인터프리터 언어는 실행파일을 별도로 생성하지 않기 때문에 실행시마다 인터프리트 과정이 반복 수행되어 실행 속도가 느리다는 단점이 있습니다. 파이썬, 자바스크립트 가 인터프리트 언어입니다.
'파워 파이썬 > 컴퓨팅 사고' 카테고리의 다른 글
알고리즘 개념과 작성법 (0) | 2024.03.07 |
---|