The Journal of Korean Institute for Practical Engineering Education (한국실천공학교육학회논문지)
- Volume 2 Issue 2
- /
- Pages.30-35
- /
- 2010
- /
- 2092-8874(pISSN)
A Study on Effective Education of Programming Language
효과적인 프로그래밍언어 교육에 대한 연구
- 조재수 (한국기술교육대학교 컴퓨터공학부)
- Received : 2010.10.18
- Accepted : 2010.12.03
- Published : 2010.12.31
Abstract
This paper proposes several methods for effective teaching of programing language(especially C). The programing languages are very important and basic subjects in the Department of Computer Engineering and Science. Many students have some difficulty in learning the programming languages. So, we will suggest several effective methods for effective teaching of programming languages. First, in order to understand the programming language effectively, we need to teach some basic computer architecture and operation principles of computer program to students. Second, it is better to teach many example-based programing skills instead of conventional grammar teaching. Third, if we teach the memory status(memory allocation/release) during the program operation, it will be much better to understand the pointer variables and memory problems. Fourth, let's improve the programming skills through effective homework assignments and experiments. Fifth, let students be guided so that they do programing by themselves. Finally, we can maximize the programming skill through the final termproject.
본 논문에서는 학생들이 프로그래밍언어를 더 잘 이해하고, 프로그래밍 능력을 향상시킬 수 있는 몇 가지 방법을 제안한다. 현재 컴퓨터공학부뿐만 아니라, 전자공학, 메카트로닉스공학 등에서도 프로그래밍교육이 이루어지고 있으며, 특히 컴퓨터공학의 경우 프로그래밍 교과목은 가장 기본적인 교과목이라고 할 수 있다. 하지만, 컴퓨터 프로그래밍 언어를 이해하고, 주어진 프로그래밍 문제를 해석하여 프로그래밍언어로 구현하는 것에 많은 학생들이 어려움을 겪고, 프로그래밍언어를 가르치는 교수자들도 효과적인 프로그래밍 언어 교육에 관심이 많다. 학생들이 좀 더 잘 프로그래밍언어를 이해하고, 프로그래밍 기술을 향상시킬 수 있는 교육방법을 몇 가지 제안하면 다음과 같다. 첫째 학생들이 프로그래밍언어를 잘 이해하기 위해서는 먼저 컴퓨터 프로그램의 기본적인 동작원리 또는 컴퓨터구조에 대한 사전지식이 필요하다. 둘째 문법위주의 주입식 이론교육보다는 다양한 프로그래밍 예제실행 위주의 프로그래밍언어 교육이 더 효과적이다. 셋째 프로그램의 실행과정과 메모리 할당/해제 흐름에 대한 메모리상태 가시화교육이 필요하다. 넷째 효과적인 실습과 과제 프로그래밍문제들을 통한 프로그래밍 응용능력을 배양하도록 하자. 다섯째 본인 스스로 프로그래밍할 수 있도록 유도하고, 프로그래밍의 자유도를 충분히 부여하자. 마지막으로 텀프로젝트를 통한 개개인의 프로그래밍 능력을 극대화하는 것이 필요하다.