728x90
반응형
문제 해결(problem solving)
- 문제 입력 -> 문제해결 방법과 절차, 알고리즘(algorithm) -> 해결 출력
what is computational Thingking?
- "CT는 읽기, 쓰기, 셈하기와 더불어 누구나 갖춰야 하는 기본 역량"
- CT는 컴퓨터 과학의 이론, 기술, 도구를 활용하여 현실의 복잡한 문제를 해결하는 사고방식이다.
- 의학, 법, 경제, 정치, 예술 등 사회 모든 분야에서 보편적으로 필요한 핵심 능력이다.(Jeannette M. Wing)
컴퓨터 공학 사고력
"주어진 문제를 분석, 이해하고 문제의 해결방법을 컴퓨터 공학의 원리를 적용하여 알고리즘을 도출하고 컴퓨터가 이해하는 프로그래밍 언어로 제시하는 사고능력"
- 일반적 문제해결과 컴퓨터공학적 문제해결 과정
- (일반적 문제 해결과정) 문제이해 및 분석 -> 문제해결방안탐색 -> 해결방법 도출 -> 실행 및 평가
- (컴퓨터공학적 문제 해결과정) 문제이해 및 분석 -> 컴퓨터공학 원리적용 -> 알고리즘 설계와 구현 -> 결과 검토
컴퓨터 공학적 문제 해결과정
- 컴퓨터 공학 사고력은 정보를 처리하는 과정과 방식을 이해하고, 다시 컴퓨터에게 프로그래밍 언어로 명령할 수 있는 사고력
- 컴퓨터 공학적 문제 해결과정 5단계
- 1) 문제 이해 및 분석(일반적인 문제 해결 과정과 동일)
- 2) 컴퓨터 공학적 원리 적용
- 3) 문제 해결 방법의 설계(알고리즘 설계)
- 4) 문제 해결 방법의 프로그래밍(알고리즘 구현, 코딩)
- 5) 결과 검토
컴퓨터 공학의 원리 적용
- 데이터 수집: 문제의 이해와 분석을 토대로 문제를 해결하기 위한 자료를 모으는 단계
- 자료분석 : 수집된 자료와 문제에 주어진 자료를 세심히 분류하고 분석하는 단계
- 데이터 표현 : 문제의 자료 내용을 그래프, 차트, 단어, 이미지 등으로 표현하는 단계
- 문제분석 : 문제를 해결해나가기 위해 문제를 모듈로 나누어 분석하는 단계
- 추상화 : 문제의 복잡도를 줄이기 위해 기본 주요 개념의 일반화 정의를 설정하는 단계
- 알고리즘과 절차 : 지금까지 문제를 해결하기 위한 과정을 순서적 단계로 표현하는 단계
- 자동화 : 분석한 문제 중 컴퓨터가 수행할 수 있도록 해결과정을 알고리즘화 하는 단계
- 시뮬레이션 : 문제해결을 위한 실험모델을 만드는 단계
문제 해결 방법의 설계(알고리즘 설계)
- 분할 정복(divide and conquer) 알고리즘 : 어떤 문제를 해결하는 알고리즈멩서 원래의 문제를 성질이 똑같은 여러 개의 부분 문제로 나누어 해결하여 원래 문제의 해를 구하는 방식
- 의사코드(pseudo code) : 일반적인 언어로 코드를 흉내내어 알고리즘을 써놓은 코드
- 1) a변수에 10을 넣는다.
- 2) b변수에 20을 넣는다.
- 3) sum 변수에 a와 b를 더한 값을 넣는다.
- 4) sum을 출력한다.
- 순서도(flow chart) : 여러 종류의 상자와 화살표를 이용해 명령의 순서(알고리즘)을 보여주는 도형
- 시작 -> a=10 -> b= 20 -> sum=a+b -> sum -> 끝
728x90
반응형
'AI > 머신러닝(ML)' 카테고리의 다른 글
2 - 2 프로그램 구조_변수와 상수 (1) | 2022.09.20 |
---|---|
2 - 1 프로그램 구조_C 프로그램 구조 (1) | 2022.09.20 |
1 - 4 컴퓨터 개요_프로그래밍 개발 환경 (0) | 2022.09.19 |
1 - 3 컴퓨터 개요_프로그래밍 언어 종류 (0) | 2022.05.16 |
1 - 2 컴퓨터 개요_컴퓨터의 자료 표현 (0) | 2022.05.16 |
댓글