제주대학교 Repository

컴퓨터과학 교육용 계산 원리 학습도구의 기능요소 고찰

Metadata Downloads
Alternative Title
A Study on Required Elements of Computation Principle Learning Tools for Computer Science Education
Abstract
지식정보 사회에서 우리는 인간 생활과 자연 현상 속에서 다양한 형태의 수많은 문제들에 당면하며 살아가고 있다. 그러기에 주어진 문제들을 어떠한 관점에서 바라보고 접근하여 얼마나 효율적인 방법을 찾아내는 지가 개인과 국가의 경쟁력과 수준을 결정하는 주요 요소 중 하나임에 틀림없다. 이와 관련해 우리가 해결해야 할 문제들이 점점 복잡해지고 있을 뿐만 아니라 그 규모도 커지고 있다는 사실을 간과해서는 안 될 것이다. 왜냐하면 우리 두뇌는 복잡한 문제나 규모가 큰 문제를 해결하는데 취약하기 때문이다. 따라서 개인과 국가 모두 실세계의 크고 복잡한 문제를 효과적으로 다룰 수 있도록 관련 지식 및 능력 증진 방안을 탐색ㆍ시행하는데 힘써야 한다.
이와 관련해 본 논문은 컴퓨터과학이 가지고 있는 훌륭한 도구에 주목하길 요청하고 있다. 문제에 접근할 때 컴퓨터과학이 적용하는 사고의 패러다임의 핵심 축인 '추상개념'과 '자동화'가 그들이다. 추상개념과 자동화는 각각 문제의 복잡성과 규모를 효과적으로 공략할 수 있는 좋은 무기이다. 컴퓨터과학은 문제와 관련된 상황 혹은 현상을 '정보처리 과정' 혹은 '계산'이라는 관점에서 관찰해 추상 모델을 설정하고, 해당 모델을 구성하는 요소(추상개념)들을 컴퓨터로 자동화함으로써 문제를 해결한다. 이때 추상개념은 모델링할 대상이 복잡할 경우 그것을 다수의 계층 혹은 영역으로 분할해 보다 작은 대상들 간의 상호작용으로 모델링할 수 있게 해준다. 이와 같은 작업과정은 복잡한 대상이 충분히 작고 다루기 쉬운 추상개념들 간의 상호작용으로 모델링될 때까지 반복된다. 최종적으로 설정된 추상개념들은 컴퓨터가 수행할 수 있는 알고리즘들로 정형화되어 그것이 생성하는 계산에 의해 문제가 해결되도록 자동화된다.
컴퓨터과학은 궁극적으로 자동화된 문제해결 시스템을 목표하기 때문에 추상개념 설정 과정 자체를 정확하고 치밀하게 유지하는데, 이때 추상개념과 자동화를 한 흐름으로 연결시켜 주는 것은 바로 '계산'이다. 그래서 표현(상태)의 나열로 정의되는 계산은 컴퓨터과학의 핵심 원리이다. 어떤 문제에 대해서든지 '계산'이라는 일관된 관점에서 관련 현상을 관찰ㆍ해석하고 정형화해 추상개념을 설정하고, 적정 컴퓨터를 선정해 이루어지는 자동화 역시 각 추상개념과 관련된 '계산' 생성 알고리즘을 구현하는 데에 초점을 맞춘다.
문제는 계산 원리가 컴퓨터과학의 본질적 요소로서 문제해결에 있어 엄청나게 중요한 역할을 하는데, 초중등 교육뿐만 아니라 대학 전공 교육에서조차도 계산 원리 학습이 제대로 이루어지고 있지 않다는 것이며, 계산 원리 학습을 효과적으로 지원해 주는 도구도 거의 없다는 것이다. 본 논문은 먼저 계산 원리 학습과 관련된 다양한 측면을 개괄적으로 정리ㆍ제시함으로써 계산 원리 학습의 중요성과 필요성을 강조하고 있다. 또한 계산 원리 학습도구가 갖추어야 할 기능 요소들을 분석적으로 고찰ㆍ도출해 향후 관련 도구 개발 시 검토하고 참고할 기준 지침으로 제시하고 있다.
In the information age, we are faced with various kinds of problems in social and natural environment. How we solve these problems is an important determination factor of our competitiveness. So we should not overlook the fact that the scale and complexity of problems we have to solve increases day by day. This can be problematic, since human`s brains are not developed to solve such complicated matters well. Therefore each of us has to focus on improving his/her knowledge and abilities in solving such problems with more efficiency.
This paper asks each of us to pay attention to the excellent tools computer science has on this matter. Computer scientists use abstraction to tackle the complexity of a problem and automation to tackle the scale of a problem. Those are powerful weapons for developing strategies to solve large complex problems. Computing is the automation of our abstraction within the framework of the 'information process' and 'computation'. Computing chooses abstractions for modeling the relevant aspects of a problem to make it tractable. Computing uses abstraction and decomposition when attacking a large complex task. This decomposition process is repeated until the phenomena surrounding the problem is modelled with interactions among the proper abstractions each of which is easy enough to be represented as computational steps and algorithm.
Since computing pursues computational doing through implementing computational systems, all the abstractions and their relationships should be mechanized. Automation with mechanization is possible due to the precise and exacting notations and models based on computation. So, the computation, which means a sequence of representations, is the core principle of computer science.
The problem is that although the computation principle plays a key role in solving difficult problems, in reality, there is little school education on this matter. Further more, there aren`t any tools just for teaching and learning the computation principle. This paper first surveys the computation principle and put emphasis on the importance and necessity of learning it. Also, this paper analyses and proposes the required functional elements of computation principle learning tools for increasing skills in solving large complex problems. The functional elements are expected to be a good reference when someone develops related tools for computation principle learning.
Author(s)
김형철
Issued Date
2011
Awarded Date
2011. 8
Type
Dissertation
URI
http://dcoll.jejunu.ac.kr/jsp/common/DcLoOrgPer.jsp?sItemId=000000005531
Alternative Author(s)
Kim, Hyung-Chul
Affiliation
제주대학교
Department
교육대학원 컴퓨터교육
Advisor
김철민
Table Of Contents
Ⅰ. 서론 1
1. 연구 배경 및 목적 1
2. 연구 내용 및 방법 3

Ⅱ. 이론적 배경 5
1. 컴퓨터과학 교육의 본질 5
1) 컴퓨터과학의 본질 5
2) 컴퓨터과학 교육의 방향 9
2. 계산 : 컴퓨터과학의 원리 12
3. 계산모델 15
1) 튜링기계 15
2) 유한상태기계 19
3) 유한상태 오토마타 21
4. 계산적 사고 23
1) 계산적 사고의 정의 23
2) 계산적 사고의 특성 26
5. 컴퓨팅 패러다임 29
6. 계산 원리 학습의 중요성 31
7. 계산 원리 학습 관련 도구 32
1) 계산모델 시뮬레이터 32
2) 프로그래밍 언어 35
3) 로봇 제어 프로그램 개발 도구 42

Ⅲ. 계산 원리 학습도구의 기능요소 47
1. 계산 원리 학습의 내용 및 방법 47
1) 관련 용어 정의 47
2) 계산 원리 학습 콘텐츠 사례 49
3) 계산 원리 학습의 방향 52
2. 계산 원리 학습도구의 기능적 요건 54
1) 다양한 원시 표현과 원시 연산자 제공 54
2) 복합 표현/연산자 정의 기능 지원 54
3) 외부환경과의 다양한 형태의 상호작용 지원 55
4) 계산 생성 과정에 대한 통제 및 분석 기능 지원 56
3. 관련 도구 분석 57

Ⅳ. 결론 62

참고문헌 64
66
Degree
Master
Publisher
제주대학교 교육대학원
Citation
김형철. (2011). 컴퓨터과학 교육용 계산 원리 학습도구의 기능요소 고찰
Appears in Collections:
Elementary Education > Elementary Computer Education
공개 및 라이선스
  • 공개 구분공개
파일 목록

Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.