Browse > Article
http://dx.doi.org/10.14702/JPEE.2022.001

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)
Publication Information
Journal of Practical Engineering Education / v.14, no.1, 2022 , pp. 1-10 More about this Journal
Abstract
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.
Keywords
C programming education; SDL library; Simple DirectMedia Layer;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Scratch, "Scratch - imagine, program, share," https://scratch.mit.edu/.
2 Naver Connect Foundation, "Entry," https://playentry.org/.
3 Makeblock, "mBlock - one-stop coding platform for teaching and learning," https://mblock.makeblock.com/.
4 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.
5 Embarcadero, "Dev-C++: A fast, portable, simple, and free C/C++ IDE," https://github.com/Embarcadero/DevCpp/.
6 Microsoft, "vcpkg: C++ Library Manager for Windows, Linux, and MacOS," https://github.com/microsoft/vcpkg/.
7 The Jamovi Project, "jamovi (Version 1.6) [Computer Software]," https://www.jamovi.org/.
8 The Code::Blocks Team, "Code::Blocks: The free C/C++ and Fortran IDE," https://www.codeblocks.org/.
9 TIOBE, "TIOBE index," https://www.tiobe.com/tiobeindex/.
10 IEEE Spectrum, "Top programming languages," https://spectrum.ieee.org/top-programming-languages/.
11 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.
12 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.   DOI
13 Microsoft, "Visual Studio: IDE and code editor for software developers and teams," https://visualstudio.microsoft.com/.
14 Flowgorithm, "Flowgorithm - flowchart programming language," http://www.flowgorithm.org/.
15 SDL, "Simple DirectMedia Layer - Homepage," https://www.libsdl.org/.
16 SDL, "SDL Wiki," https://wiki.libsdl.org/.