파워 파이썬/컴퓨팅 사고

컴퓨팅 사고에 관하여

상선약수64 2024. 1. 16. 15:04

1. 컴퓨팅 사고의 개념

지넷 윙 교수는 컴퓨팅 사고(Computational Thinking)를 컴퓨터 과학자뿐만 아니라 누구나 배우고 활용할 수 있는 보편적인 사고 방식이자 핵심 역량이라고 정의하였다. 또한 컴퓨팅 사고는 듣기, 읽기, 쓰기와 같은 기초 문해 능력처럼 학습과 훈련을 통해 길러야 할 중요한 능력이라고 강조하였다.

 

한편 위키피디아에서는 컴퓨팅 사고를 컴퓨터(사람 또는 기계)가 효과적으로 수행할 수 있도록 문제를 정의하고, 그에 대한 해결 방법을 체계적으로 기술하는 전반적인 과정으로 설명하고 있다. 이처럼 컴퓨팅 사고는 학자와 관점에 따라 다양하게 정의되고 있다.

우리는 컴퓨팅 사고를 컴퓨터를 활용하여 문제를 해결하기 위한 논리적이며 창의적인 사고 방식으로 정의하고자 한다.

 

 

 

 

2. 컴퓨팅 사고의 구성요소

  • 분해(Decomposition)
    복잡한 문제를 여러 개의 작은 단위로 나누어 문제를 보다 쉽게 이해하고 해결할 수 있도록 하는 과정이다.
  • 패턴 인식(Pattern Recognition)
    문제나 데이터 속에서 반복되는 규칙, 공통적인 특성, 유사한 구조를 찾아내어 문제 해결의 실마리를 발견하는 과정이다.
  • 추상화(Abstraction)
    문제 해결에 불필요한 세부 사항을 제거하고, 핵심적인 요소만을 남겨 일반화된 형태로 단순화하는 과정이다.
  • 알고리즘(Algorithm)
    추상화된 핵심 원리를 바탕으로 문제를 해결하기 위한 절차를 단계적이고 논리적인 순서로 표현한 것이다.
  • 자동화(Automation)
    알고리즘을 프로그래밍 도구나 언어를 이용하여 컴퓨터가 이해하고 수행할 수 있는 형태로 구현하고, 그 결과를 확인하는 과정이다.

3. 코딩(Coding)

 

코딩의 일반적인 절차는 문제 분석 → 소프트웨어 구조 설계 → 구현으로 이루어지며, 이 중 문제 분석과 구조 설계 단계는 컴퓨팅 사고와 밀접하게 연관되어 있다.프로그래밍 언어는 크게 저급 언어고급 언어로 구분되며, 고급 언어는 다시 컴파일러 언어인터프리터 언어로 나뉜다.

  • 컴파일러 언어(Compiler Language)
    프로그램이 실행되기 전에 전체 코드를 컴파일러를 통해 기계어로 변환한 후 실행되는 언어이다. 대표적인 예로는 C 언어, 자바(Java), 파스칼(Pascal) 등이 있다.
  • 인터프리터 언어(Interpreter Language)
    소스 코드를 한 줄씩 해석하여 바로 실행하는 언어로, 번역과 실행이 동시에 이루어진다. 실행 파일을 별도로 생성하지 않기 때문에 실행 시마다 해석 과정이 반복되어 상대적으로 실행 속도가 느리다는 단점이 있다. 파이썬(Python), 자바스크립트(JavaScript) 등이 이에 해당한다.

코딩 교육은 단순히 알고리즘을 프로그래밍 언어로 옮기는 기술을 배우는 것이 아니라, 컴퓨팅 사고력을 기르기 위한 훈련 과정이다.  컴퓨팅 사고의 구성요소는 문제를 효과적으로 해결하기 위한 사고 절차로 이해할 수 있다.