컴퓨팅 사고력과 프로그래밍 언어의 기본 개념을 공부했다.
컴퓨팅 사고력이란 무엇이며 이 개념이 코딩에서 뿐만 아니라 일상생활에선 어떻게 사용되는지 배웠고, 프로그래밍 언어의 종류엔 어떤 것들이 있는지 알게되었다. 또한, 특정 상황마다 사용하는 프로그래밍 언어가 다르다는 것도 알 수 있었다. 나는 첫 프로그래밍 언어로 Java를 배울 예정이다.
- 컴퓨팅 사고력 : 사고력을 적용하여 다양한 분야의 문제를 해결할 수 있는 능력
- ISTE에서 언급한 9가지 컴퓨팅 사고력
① 자료 수집 : 문제 해결을 위해 자료를 모으는 단계 (입력 처리를 하는 것)
② 자료 분석 : 자료를 분류하고 분석하여 자료의 의미를 찾아가는 단계
③ 자료 표현 : 분석한 자료의 내용을 표현하는 단계
④ 문제 분해 : 문제를 작은 단위로 나누는 단계
※ 자료를 분해하는 것이 아니라, 문제를 나누는 것!
⑤ 추상화 : 문제의 핵심적인 주요 개념을 정의하는 단계
⑥ 알고리즘 절차 : 문제 해결 과정을 정의하여 표현하는 단계
⑦ 자동화 : 컴퓨터가 실제로 주어진 코드를 실행하는 단계
⑧ 시뮬레이션 : 모의실험을 하는 단계
⑨ 병렬화 : 문제 해결을 위해 공동의 작업을 진행하는 단계
- '지넷 윙(마이크로소프트 부사장)'의 컴퓨팅 사고력
① 변환적 : 처음 접하는 문제를 자신이 알고 있던 문제의 형태로 변환하여 해결하는 능력
② 재귀적 : 하나의 사고 과정을 재귀적으로 반복하여 사고하는 능력
③ 코드적 : 생각한 것들을 기호화시켜 코드로 표현하는 능력
④ 단순화 : 간단하고 명료하게 설계하는 능력
⑤ 추상화 : 어떠한 현상들을 이론적으로 표현할 수 있으며 일반화시키는 능력 (대표성을 통해 유추)
⑥ 분해적 : 작은 조각으로 문제를 분해하여 해결하는 능력
⑦ 캐시적 : 필요한 것을 미리 선택하고 해결 방법을 예측하는 능력
⑧ 조정적 : 공유 자원을 효율적으로 나누어 사용하는 능력 (철학자의 식사)
⑨ 경험적 추론 : 자신의 경험을 통해 문제를 해결하는 능력 (관찰 → 패턴 → 일반화)
⑩ 알고리즘적 : 단계별 절차를 통해 문제를 해결하는 능력
- 인기있는 전문 프로그래밍 언어 : Python, C 언어, Java, C++ 등
- 인기있는 교육용 프로그래밍 언어 : Scratch(미국), 엔트리(국내) 등
- 언플러그드 활동 : 컴퓨터 없이 컴퓨터 과학적 사고를 향상시키는 학습 활동
- 소스코드 : 코딩된 내용
- 목적에 따라 사용 가능한 언어가 구분된다.
- 코딩 실행 방식
① 인터프리터 방식 : 코딩의 내용을 바로 실행시키는 방식 ex) Python, etc.
② 컴파일러 방식 : 작성된 코드를 기계어로 우선 번역하는 방식 ex) C 언어, etc.
참고 문헌 : 한옥영, 『한 권으로 시작하는 소프트웨어』(사람의 무늬), 2019
'CS > 한 권으로 시작하는 소프트웨어' 카테고리의 다른 글
(Fin) 개발자, 소프트웨어 교육, 새로운 기술 및 미래의 직업 시장 (0) | 2021.05.17 |
---|---|
알고리즘, 순서도, 제어문 (0) | 2021.05.16 |
코딩의 개념, 코딩이 중요한 이유 (0) | 2021.05.14 |
인공지능, 머신러닝, 가상현실, 증강현실 (0) | 2021.05.13 |
빅데이터, 클라우드 컴퓨팅 (0) | 2021.05.12 |
댓글