AI영재교육원 로고이미지

공지사항

RSS 페이스북 공유하기 트위터 공유하기 카카오톡 공유하기 카카오스토리 공유하기 네이버밴드 공유하기 프린트하기
수단 계열의 병렬형 알고리즘 표현으로 컴퓨팅 사고(CT)를 증진시키는 3가지 방법
작성자 정보영재 등록일 15.08.27 조회수 409

수단 계열의 병렬형 알고리즘 표현으로 컴퓨팅 사고(CT)를 증진시키는 3가지 방법입니다.

참고하세요.

http://goo.gl/tG8ipk

 

지넷 윙(Jeannette M. Wing) 교수가 컴퓨팅 사고(CT: Computational Thinking)를 증진시키는 주요 요소로 언급한 내용 중에서개념화(Conceptualization), 다단계 추상화(Multiple levels of Abstraction), 병렬 처리(Parallel Processing)의 3가지 요소에 주목할 필요가 있습니다.
이것들은 부분적으로 나눠서 생각할 수도 있지만, 전체적으로 통합적인 시각에서의 목표를 달성하기 위한 다른 시각에서의 하나의 목표를 성과있게 달성하기 위한 수단의 관점에서 접근할 수도 있기 때문입니다.

1. 개념화(Conceptualization)의 접근 방법

개념(conception)이란 사고를 하거나 의사 결정을 수행한 결과에 따라 형성하는 여러가지 생각에서 공통적인 요소를 추출하고 통합하여 보편적인 관점으로 추상화한 것을 의미합니다. 
예를 들어, 지킬 박사의 친구인 어터슨 변호사가 지킬 박사를 만나서 업무 협의를 하고자 할 때 아래와 같은 절차를 거쳐야 할 것입니다. 
 
- 지킬 박사와 협의할 내용을 정리한다.
- 지킬 박사인지 확인하고(만일에 지킬 박사가 하이드씨로 변해있는 상태라면 위험하므로) 만난다.
- 지킬 박사와 업무 협의를 진행한다.
 
이 과정을 쏙(SOC)으로 표현하면 다음과 같습니다.
 
  

문제 해결 논리는 수직선을 따라 절차를 수행하면서 흘러갑니다.
 
 
 
위의 절차의 각 요소는 전혀 다른 일을 하는 것이지만 공통적인 것을 추출해보면, 전부 지킬 박사일 경우에만(하이드씨가 아니라) 업무를 협의할 목적으로 절차를 진행하고 있는 것을 알 수 있습니다. 즉, "지킬 박사일 경우에만 업무를 협의한다"로 개념화(Conceptulizing)할 수 있습니다.
개념화한 내용을 쏙(SOC)으로 표현하면 다음과 같습니다.

  
 
개념화를 통해서 문제 해결 절차의 수준이 높아지면 논리 흐름도 단순해집니다.
 
 
 
2. 다단계 추상화(Multiple levels of Abstraction)의 접근 방법

위와 같이 개념화하면 모든 문제 해결 절차를 목적 중심으로 단순화하여 파악할 수 있기 때문에 문제 해결을 위한 목표를 명확히 할 수 있다는 장점이 있습니다. 하지만, 반면에 목표를 달성하기 위한 세부적인 절차를 알 수 없기 때문에 목표를 성공적으로 달성하기 위한 수단을 상세하게 강구할 수 없습니다.
따라서, 추상화 수준이 다른 개념화하기 전 개념화한 후의 2가지 접근 방법을 계열로 묶어서 파악할 필요가 있습니다.
2단계의 다른 추상화 수준의 문제 해결 절차를 쏙(SOC)으로 병합하여 나타내면 다음과 같습니다.

 
2단계로 추상화를 하면 추상화 수준에 따라 논리의 흐름을 다른 차원으로 파악할 수 있습니다.
 
  
 
위의 쏙으로 표현한 문제 해결을 위한 알고리즘에서 맨 왼쪽의 절차는 추상화 수준 0으로 가장 개념화한 것을 의미하며, 오른쪽의 절차는 추상화 수준 1로 구체화한 것을 의미합니다. 즉, 2단계의 추상화가 이루어진 것입니다. 그런데 추상화 1수준만으로는 세부적인 문제 해결을 위한 행동 절차를 알 수 없습니다. 따라서 아래와 같이 더욱 구체화하여 파악할 필요가 있습니다.
 
- 지킬 박사와 협의할 내용을 정리한다.
  · 협의할 내용을 조사한다.
  · 협의할 내용을 세심히 정리한다.
 
- 지킬 박사인지 확인하여 만난다.
  · 낮인지 여부로 특성을 인식 처리한다.
  · 지킬 박사로 인식하면 사무실 만남을 허용한다.
  · 하이드씨로 인식하면 사무실 만남을 거절한다.
 
- 지킬 박사와 업무 협의를 진행한다.
  · 정리한 협의 내용을 먼저 보여준다.
  · 정리 내용으로 업무를 협의한다.
 
위와 같이 세분화한 절차까지 포함하여 쏙(SOC)으로 나타내면 다음과 같습니다.

  

위와 같이 구체화 분해를 더 진행하면 추상화 수을이 4단계로 세분화할 수 있습니다.
각각의 추상화 수준은  별도의 차선(lane)으로 파악할 수 있으며, 추상화 번호가 0에 가까워질수록 추상화 수준이 높아지고, 추상화 번호가 커질수록 추상화 수준이 낮아져서 구체화가 이루어집니다.
 
 
 
이처럼 문제 해결 절차는 파악하고자 하는 추상화 수준에 따라 여러 단계에 걸쳐서 추상화 수준을 결정하여 표현할 수 있어야 하고, 이러한 다단계 추상화(Multiple levels of Abstraction)를 통해서 문제를 적절한 수준으로 인식하여 해결 포인트를 찾을 수 있습니다.
 
3. 병렬 처리(Parallel Processing)의 접근 방법

병렬 처리라 함은 통상적으로 여러 과제들을 쪼개서 한꺼번에 병렬적으로 처리하는 것이라고 생각하는 것이 일반적입니다. 하지만, 컴퓨팅 사고에서는 추상화 수준이 다르게 파악한 문제 해결 절차를 다단계 추상화 수준을 동시에 인식하여 통합적인 시각에서 처리하는 것도 포함할 수 있습니다.
예를 들어 지킬 박사와 하이드씨를 인식하여 지킬 박사일 경우에만 업무를 협의하는 내용을 다단계 추상화 수준으로 표현한 것을 검토해 보면 추상화 수준 0~3의 총 4단계 추상화로 표현하고 있음을 알 수 있습니다.
 
 

이때, 각 추상화 수준을 거쳐서 문제 해결 절차를 밟으면 아래의 논리 흐름처럼 추상화 수준이 높은 개념을 목표를 형성하고 추상화 수준이 낮은 개념이 수단을 형성하여 목표-수단 계열을 구성합니다. 즉, "지킬 박사와 협의할 내용을 정리한다"는 목표를 확인하고 나서 해당 목표를 달성하기 위한 수단으로 "협의할 내용을 조사한다"는 절차와 "협의할 내용을 세심히 정리한다"는 절차를 수행하는 형태로 목표-수단 계열을 구성합니다. 추상화 수준이 높은 계열은 자신보다 1단계 낮은 추상화 수준의 계열의 문제 해결 절차에 대한 목표로서의 역할을 하고, 자신보다 1단계 높은 추상화 수준의 계열의 문제 해결 절차에 대한 수단으로서의 역할을 합니다.
이처럼 추상화 수준을 목표-수단 계열로 인식하면서 통합적인 시각으로 각 수준을 오가면서 직렬적으로 문제 해결 절차를 밟아나갈 수 있습니다. 예를 들어, 한 번은 하이드씨로 인식하여 사무실 만남을 거절하고, 그 다음에 지킬 박사로 인식하여 사무실 만남을 허용한 후 협의를 진행하는 과정 전체의 흐름을 목표-수단 계열의 논리 흐름으로 나타내면 다음과 같습니다.
 
(1) 추상화 수준0과 1을 목표-수단 계열로 파악하는 경우의 논리 흐름
"지킬 박사일 경우에만 업무를 협의한다"는 목표를 확인하고 나서, 목표를 달성하기 위한 수단으로 아래와 같은 절차를 거칩니다.
- 지킬 박사와 협의할 내용을 정리한다.
- 지킬 박사인지 확인하여 만난다.
- 지킬 박사와 업무 협의를 진행한다.
 
  

(2) 추상화 수준1과 2를 목표-수단 계열로 파악하는 경우의 논리 흐름
첫째, "지킬 박사와 협의할 내용을 정리한다"는 목표를 확인하고 나서, 목표 달성을 위한 수단으로 아래와 같은 절차를 거칩니다.
- 협의할 내용을 조사한다.
- 협의할 내용을 세심히 정리한다.
 
 
둘째, "지킬 박사와 협의할 내용을 정리한다"는 목표를 확인하고 나서, 목표 달성을 위한 수단으로 아래와 같은 절차를 거칩니다.
- 낮인지 여부로 특성을 인식 처리한다.
- 인식==지킬 박사의 조건을 확인한다.
 
 
셋째, "지킬 박사와 업무 협의를 진행한다"는 목표를 확인하고 나서, 목표 달성을 위한 수단으로 아래와 같은 절차를 거칩니다.
- 정리한 협의 내용을 보여준다.
- 정리 내용으로 업무를 협의한다.
 
 
위와 같은 3단계 세부 절차를 진행하는 과정을 전체 논리 흐름으로 나타내면 다음과 같습니다.
  

(3) 추상화 수준2와 3을 목표-수단 계열로 파악하는 경우의 논리 흐름
첫째, "낮인지 여부로 특성을 인식 처리한다"는 목표를 확인하고 나서, 목표 달성을 위한 수단으로 아래와 같은 절차를 거칩니다.
①낮일 경우
   - 지킬 박사로 인식한다.
   - 사무실 만남을 허용한다.
  여기서 지킬 박사로 인식했기 때문에 "인식==지킬 박사"의 조건이 성립(True)하여 루프를 빠져나갑니다.
 
 
②낮이 아닐 경우
   - 하이드씨로 인식한다.
   - 사무실 만남을 거절한다.
  여기서 하이드씨로 인식했기 때문에 "인식==지킬 박사"의 조건이 성립하지 않아 루프를 빠져나가지 못하고 반복합니다.
  
   
하지만, 각 추상화 수준을 별개로 인식하여 병렬적으로 파악할 때는 각 추상화 수준에 해당하는 수직선을 별개로 인식하여 아래의 논리 흐름처럼 4개 레인을 별도로 진행하면서 병행적으로 알고리즘을 파악함으로써 컴퓨팅 사고를 보다 효율적으로 증진할 수 있습니다.

  
 
이처럼 목표-수단 계열의 성과중심으로 다단계 추상화(Multiple levels of Abstraction)를 통해 각 추상화 수준을 오르내리면서 병렬적으로 처리하는 개념을 추상화 사다리(Ladder of Abstraction)라고 합니다.

 

출처:http://www.softqt.com/softqt/board.php?board=research2&command=body&no=9

이전글 아두이노와 라즈베리파이를 이용한 스마트농장
다음글 정보영재교육원 2학기 수업 실시 및 6월 수업 보강 안내