SW코딩자격1급 과목1 컴퓨팅적 사고력과 알고리즘(컴퓨팅 사고력 편)

2023. 7. 13. 15:02자격증/SW코딩자격1급

반응형

지금부터 쓰는 글을 제가 공부하며 알게된 내용들을 담고 있으며, 한국생산성본부에서 배포하는 자료 외 셀프 스터디한 내용도 추가되어 있습니다.

 

SW코딩자격1급의 출제 과목은 총 4과목이며, 출제기준은 다음과 같다.

 

각 과목별 배점 기준은 아래와 같다.

 

오늘은 과목1 컴퓨팅적 사고력과 알고리즘에 대하여 공부해 보도록 하자.

 

컴퓨팅적 사고력 정의 (Computational Think = CT로 축약)

  : 문제를 수립하고 해결책을 만들어 컴퓨팅 시스템을 통해 효과적으로 수행되도록 표현하게 하는 사고 과정

  : 컴퓨팅 사고력은 컴퓨팅 시스템의 역량을 활용하여 해결하고자 하는 문제를 효과적이고 효율적으로 해결할 수 있는 절차적 사고 능력

  : 인간의 관점이 아닌 컴퓨팅 시스템의 입장에서 문제를 분석하여 해결하는 과정

 

컴퓨팅 사고력 절차 (4단계)

  : 문제 분해 패턴 인식(자료 표현) 추상화(일반화) 알고리즘

 

    - 문제 분해란?  컴퓨터나 다른 도구를 사용할 수 있도록 문제를 구성하는 과정

 

    - 패턴 인식(자료 표현)이란?  논리적으로 자료를 조직하고 분석하는 과정

 

    - 추상화(일반화)란?  실제 세계의 문제를 해결 가능한 형태로 표현하기 위한 사고과정이며, 문제 해결을 위해 불필요한 데이터들의 삭제/수집/분석 후 이해하기 쉽도록 도표, 그래프를 활용하여 표현할 수 있다. 또한 복잡한 요소를 작은 단위로 분해하여 해결에 필요한 변수들을 추출하며, 최종적으로는 문제 자체를 모델링이나 시뮬레이션하여 표현할 수 있다.

 

    - 알고리즘이란?  문제 해결을 위한 명확하게 정의된 유한개의 규칙과 절차를 적용하여 문제를 해결하는 과정

 

컴퓨팅 사고력 세부 절차 (9단계)

  : 자료 수집 ▶ 자료 분석 ▶ 자료 표현 ▶ 문제 분해 ▶ 추상화 ▶ 알고리즘 및 절차 ▶ 자동화 ▶ 시뮬레이션 ▶ 병렬화

 

    - 자료 수집(Data Collection)  문제 해결을 위한 자료 수집

      . 예시  경사 길을 가장 가장 빨리 내려오는 차를 찾기 위한 실험

 

    - 자료 분석(Data Analysis)  수집한 자료 분류 및 분석

      . 예시  "지구온난화가 삶의 질을 변화시키지 않았다." 는 가설을 검증하기에 가장 적절한 통계 방법 사용

 

    - 자료 표현(Data Representation)  자료를 적절한 그래프/차트/글/그림 등으로 표현

      . 예시  무게가 변화할 때 장난감 차의 속도가 어떻게 변하는 지를 보여주는 차트 그리기

 

    - 문제 분해(Problem Decomposition)  작은 단위로 문제를 나누기

      . 예시  "어떻게 하면 락 스타가 될 수 있는가"와 같은 큰 문제를 고려하고, 작은 부분 문제로 나눔

 

    - 추상화(Abstraction)  문제 해결을 위한 핵심 요소를 파악하고 단순화시키기

      . 예시  세 변을 가진 다양한 색상과 크기의 도형들을 삼각형으로 추상화

 

    - 알고리즘 및 절차(Algorithms & Procedures)  문제 해결을 위한 일련의 과정을 순서대로 표현(순서도 등)

      . 예시  학교에서 출발하여 지역의 주요 지형물을 찾아갈 수 있도록 길 안내서 만들기

 

    - 자동화(Automation)  문제 해결을 위한 컴퓨터난 기계 활용

      . 예시  교실에서 편지 대신 인터넷 기반의 도구를 활용하여 다른 시나 나라의 또래와 문화를 배우며 토론하기

 

    - 시뮬레이션(Simulation)  현실적으로 실행 불가능한 문제를 모의 실험하기

      . 예시  생산자 개체들의 일정 비율이 죽으면 생태계에 어떤 일이 발생하는지에 대한 실험 수행에 생태계 모델 사용

 

    - 병렬화(Parallelization)  목표에 도달하기 위해 작업을 동시에 실행하도록 자원을 조직화하기

      . 예시  기준을 정하여 한 반을 두 그룹으로 나누어 서로 다른 작업 수행. 각각의 결과보다 전체의 결과가 좋아짐

 

컴퓨팅 사고력을 이용한 생활 속의 문제 해결 방법 예시

  1) 추상화(단순화)

  2) 패턴 인식(일반화)

  3) 자료와 정보의 분석 및 구조화

다음 글에서는 아주 중요한 개념 중 하나인 알고리즘 관련된 내용을 공부해보도록 하겠습니다.

반응형