DOI QR코드

DOI QR Code

C 프로그래밍 언어 학습에 공개 소스 소프트웨어 SDL 활용 사례 연구

A Case Study on Utilizing Open-Source Software SDL in C Programming Language Learning

  • 김성득 (국립안동대학교 전자공학교육과)
  • Kim, Sung Deuk (Department of Electronic Engineering Education, Andong National University)
  • 투고 : 2022.01.04
  • 심사 : 2022.04.20
  • 발행 : 2022.04.30

초록

전자공학교육에서 C 프로그래밍 언어 학습은 컴퓨터 프로그래밍을 이해하고, 임베디드 시스템에서 마이크로프로세서 활용 능력을 습득하기 위한 중요한 기초 교육 과정이다. 기초적 문법과 알고리즘 이해에 중점을 두기 위해, 콘솔 창에서 C 표준 라이브러리 함수에 기반한 프로그램을 작성하며 이론과 실습을 병행해 학습하는 것이 일반적인 교육방법이다. 그렇지만, C 언어의 기본 지식을 어느 정도 습득한 후 프로젝트 활동을 하거나 더 심화된 단계로 나아가고자 한다면, 콘솔창에서 C 표준 라이브러리 함수만을 사용하는 것은 C 프로그램으로 표현하거나 제어할 수 있는 대상을 한정시키게 된다. 학습자가 그래픽 또는 멀티미디어 리소스를 쉽게 활용해 교육적 가치를 높이기 위한 목적으로, 본 논문에서는 공개 소스 소프트웨어인 Simple DirectMedia Layer (SDL)을 활용하는 방안을 C 프로그래밍 언어 학습 과정에 적용한 사례를 연구한다. 콘솔 창에서 수행하는 기초적 프로그래밍 교육과정을 마친 후에 적용된 SDL활용 프로그래밍 교육 과정을 소개하고, 설문 조사를 통해 교육적 가치를 평가한다. 그 결과, 응답자의 56% 이상이 응용능력개선, 흥미유발, 전반적 유용성 측면에서 긍정적 의견을 표명했으며, 부정적 의견은 4% 이하였다.

Learning C programming language in electronics education is an important basic education course for understanding computer programming and acquiring the ability to use microprocessors in embedded systems. In order to focus on understanding basic grammar and algorithms, it is a common teaching method to write programs based on C standard library functions in the console window and learn theory and practice in parallel. However, if a student wants to start a project activity or go to a deeper stage after acquiring some basic knowledge of the C language, using only the C standard library function in the console window limits what a student can express or control with the C program. For the purpose of making it easier for a student to use graphics or multimedia resources and increase educational value, this paper studies a case of applying Simple DirectMedia Layer (SDL), an open source software, into the C programming language learning process. The SDL-based programming course applied after completing the basic programming curriculum performed in the console window is introduced, and the educational value is evaluated through a survey. As a result, more than 56% of the respondents expressed positive opinions in terms of improved application ability, stimulating interest, and overall usefulness, and less than 4% of them had negative opinions.

키워드

참고문헌

  1. IEEE Spectrum, "Top programming languages," https://spectrum.ieee.org/top-programming-languages/.
  2. TIOBE, "TIOBE index," https://www.tiobe.com/tiobeindex/.
  3. Flowgorithm, "Flowgorithm - flowchart programming language," http://www.flowgorithm.org/.
  4. Scratch, "Scratch - imagine, program, share," https://scratch.mit.edu/.
  5. Naver Connect Foundation, "Entry," https://playentry.org/.
  6. Makeblock, "mBlock - one-stop coding platform for teaching and learning," https://mblock.makeblock.com/.
  7. D. Pawelczak, "A new programming environment for teaching secure C programming and assessment," in Proceeding of 12th International Conference on Computer Supported Education, pp. 374-381, May 2020.
  8. S. Oh and T. Yoon, "Design and implementation of tutoring system based on monitoring for learning programming languages," The Society of Convergence Knowledge Transactions, vol. 5, no. 1, pp. 49-55, January 2017.
  9. Y. Woo, J. Bang, J. Song, J. Yoo, and S. Lee, "Design and implementation of the Web-based learning system for C programming language," KIISE Transactions on Computing Practices, vol. 20, no. 12, pp. 640-645, December 2014. https://doi.org/10.5626/KTCP.2014.20.12.640
  10. Microsoft, "Visual Studio: IDE and code editor for software developers and teams," https://visualstudio.microsoft.com/.
  11. Embarcadero, "Dev-C++: A fast, portable, simple, and free C/C++ IDE," https://github.com/Embarcadero/DevCpp/.
  12. The Code::Blocks Team, "Code::Blocks: The free C/C++ and Fortran IDE," https://www.codeblocks.org/.
  13. SDL, "Simple DirectMedia Layer - Homepage," https://www.libsdl.org/.
  14. SDL, "SDL Wiki," https://wiki.libsdl.org/.
  15. Microsoft, "vcpkg: C++ Library Manager for Windows, Linux, and MacOS," https://github.com/microsoft/vcpkg/.
  16. The Jamovi Project, "jamovi (Version 1.6) [Computer Software]," https://www.jamovi.org/.