컴퓨터공학 공부/SmartLearn - PABI 강의

컴퓨팅 사고 I: WEEK 3-1, 3-2

개발학생 2022. 9. 29. 21:12
반응형

*POSTECH 청년 AI · Big Data 아카데미(https://pabi.smartlearn.io/)의
 'Computational Thinking (컴퓨팅 사고) Ⅰ' 코스 강의를 듣고 정리한 글입니다

*모든 이미지의 출처는 https://pabi.smartlearn.io/ 입니다

 

1. 계산 과정 바라보기

1) 나누어 풀기

문제를 작은 문제 여러 개로 나누어 생각하기

- 작은 문제는 각기 풀 수 있어야 함

- 계산 자료를 넘겨주는 것 외에는 연관성이 없어야 함

 

2) 쪼개 풀어 합치기

- 계산 자료를 여러 개로 쪼갠 뒤 쪼개서 나온 계산 자료들로부터 각각 답을 구하고, 이를 조합하여 원래 문제의 답을 찾아냄

 

 

3) 눈앞 찾기 (예시: 최단 경로를 찾는 문제)

- 계산 자료 전체를 분석하기 어려울 때 쓸 수 있음

- 각 단계에서 취할 수 있는 가장 쉬운 선택만 쫓아감

 

 

4) 의미에 맞게 빠트림 없이

- 해당 문제 의미에 맞게 처리. 처리하지 않으면 의미에 어긋남

- 계산 자료를 모두 처리. 빠트리는 경우가 있다면 불완전함

 

*'의미에 맞게 빠트림 없이' 했는지 확인하는 예시

   -> 문제 해결을 위한 계산 과정 전체를 검토

   -> 프로그래밍 언어에서 기본 연산 설계

   -> 나누어 풀기에서 작은 문제를 개별적 검토

   -> 소프트웨어 개발시 계산 자료 정의

 

 

2. 컴퓨팅으로 문제 풀기 - 컴퓨팅 사고와 프로그래밍 능력이 모두 필요

- 프로그래밍 능력이 없으면, 컴퓨터에게 계산 과정을 이해시킬 수 없으므로 문제 풀 수 없음

- 컴퓨팅 사고력이 없으면, 컴퓨터로 계산을 할 수는 있지만 틀린 답을 찾거나 프로그램 실행이 제 때 끝나지 않아 문제를 풀 수 없음

- 컴퓨팅 사고력과 프로그래밍 능력의 근간은 논리적 사고력

 

1) 컴퓨팅 사고 단계

프로그래밍에도 익숙해야 함 (프로그래밍 언어가 생각하는 틀에 영향을 주기 때문)

 -> 프로그래밍 언어의 주요 특징을 숙지하고 있어야 함

 

2) 프로그래밍 능력 키우기

- 다른 프로그램을 참조하지 않고 스스로 처음부터 끝까지 코드를 작성하는 연습이 필요

   -> 이래야만 나중에 프로그래밍 언어로 생각할 수 있음

- 읽고 이해하기: 프로그래밍 능력을 키워주는 것처럼 보이지만, 사실 별로 도움이 되지 않음

- 읽으며 따라 써 보기: 읽고 이해하는 것보다는 낫지만 큰 차이는 없음

 

 

 

반응형