Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

Nonamed Develog

[TIL][240712] 컴퓨팅 사고(Computational Thinking), 슈도 코드(pseudo code) 본문

WHAT I LEARN/TIL

[TIL][240712] 컴퓨팅 사고(Computational Thinking), 슈도 코드(pseudo code)

노네임드개발자 2024. 7. 13. 00:11

오늘 TIL은 서식을 사용하지 않고 컴퓨팅 사고(Computational Thinking)와 슈도 코드(pseudo code)에 대해서 정리하려한다. 알고리즘을 공부하면서 이 두가지를 정리하고 넘어가야 앞으로 도움이 될거라 생각이 들었다.

 

아래 링크는 구글링을 통해 찾은 컴퓨팅 사고에 대한 블로그 포스트다. 내용이 좋아 아티클 스터디 재료로 삼았다.

https://velog.io/@teo/computational-thinking

 

컴퓨팅 사고(Computational Thinking)

도대체 컴퓨팅사고라는게 무엇일까? 파이썬을 공부하면서 느낀점은 '언어'를 배우는 것과 비슷하다고 생각했다. 영어 말하기를 잘하기 위해선 물론 단어와 문법을 알면 좋지만. 영어를 사용하는 환경에 자주 노출되어 자연스럽게 언어로 인지해야 한다. 머리 속에서 한국어를 생각하고 머리 속에서 단어와 문법으로 영어로 번역한 다음 입으로 영어를 뱉는 방식은 너무 비효율적이기 때문이다. 마찬가지로 컴퓨터 언어에 계속 노출되어 마치 내가 컴퓨터가 된 것처럼 생각하고 언어를 사용한다고 생각했다.

컴퓨팅 사고(출처: 위키백과)
컴퓨팅 사고 또는 전산적 사고(電算的 思考, 영어: computational thinking, CT)는 컴퓨터(사람이나 기계)가 효과적으로 수행할 수 있도록 문제를 정의하고 그에 대한 답을 기술하는 것이 포함된 사고 과정 일체를 일컫는다. 정답이 하나가 아니라 여러가지일 수 있는 문제(Open-ended Problem)는 다양한 변수에 기반한 포괄적이며 유의미한 해답 도출이 필요한데, 컴퓨팅 사고를 통해서 발견한 문제분해(decomposition), 자료 표현(data representation), 일반화(generalization), 모형(modeling), 알고리즘이 필요하다. 컴퓨팅 사고에는 전체 의사결정 과정을 분해하고, 연관된 변수와 모든 가능한 해법을 고려해서, 이를 상응하는 모수와 문제 한계를 고려하여 올바른 의사 결정을 내린다. 

 

위키백과에 따르면 컴퓨터적으로 사고한다는 것은 문제를 해결하기 위해 필요한 답을 컴퓨터가 효과적으로 수행할 수 있도록 정의하고 그에 대한 답을 기술하는 것을 말한다. 이러한 과정에서 문제분해, 자료 표현, 일반화하여 모델링 최종적으로 알고리즘을 도출하는 것이 중요하다. 

 

데이터

개발이란 사용자의 요구사항을 프로그래밍 언어를 사용하여 데이터로 표현된 방법을 전달하는 것이라 할 수 있다. 따라서 사용자의 요구사항을 데이터 관점에서 다시 생각하고 작성하는 것이 컴퓨터적인 사고의 출발점이 된다.