A SIMPLE GRAPHICAL FRAMEWORK FOR THE ACQUISITION OF BASIC C PROGRAMMING SKILLS Cover Image

A SIMPLE GRAPHICAL FRAMEWORK FOR THE ACQUISITION OF BASIC C PROGRAMMING SKILLS
A SIMPLE GRAPHICAL FRAMEWORK FOR THE ACQUISITION OF BASIC C PROGRAMMING SKILLS

Author(s): Dragan Ivetić, Srdan Mihić
Subject(s): Education
Published by: Carol I National Defence University Publishing House
Keywords: Education; Programming; Graphical framework; C programming language

Summary/Abstract: The introductory (and only) C programming course at the freshmen’s year of Animation Engineering (AE) degree proved to be a challenge, despite 20 years of experience in teaching programming courses. Examples of data abstraction and understanding of control structures and expressions in the C programming language had to be brought closer to students who have shown interest in computer graphics and animation, and thus have chosen to pursue AE degree. Instead of a classical first program - “Hello world”, their first program should show a simple graphical object even it is just a single point. Specifically, students will programmatically control the execution of C program from a console window, whereas graphical window will be used as program’s output. We have chosen to use the Microsoft Visual Studio 2010 integrated development environment (IDE) for this course as it is commonly used in our other C programming courses. Therefore, it had to be adapted to the needs and skills of the AE students. This was accomplished by enabling students to draw graphical objects on a simple 2D graphics canvas but without the need to possess any knowledge of computer graphics. For that purpose, several graphical libraries, including: openBGI, GDI, OpenGL and DirectX, were considered to accommodate the graphical component in the chosen IDE. They were compared according to ease of use, debugging support and documentation availability, from the perspective of absolute programming beginners. We have found that none of them are suitable for first time programmers. Because of this, we have implemented a lightweight wrapper graphical framework that abstracts and hides the underlying complexity of libraries used for drawing on a graphical canvas and window management. The framework offers clean design and ease of use. It provides only a small subset of 2D drawing and window management functions. All framework functions have a reduced number of parameters compared to their underlying counterparts as they set as many parameters as possible to predefined values. In addition, the names of functions are shorter than their counterparts. This way, students have to memorize less and can produce working code faster which should enhance their productivity. This framework, combined with compelling examples and assignments, should help students learn programming with ease.

  • Issue Year: 8/2012
  • Issue No: 02
  • Page Range: 287-292
  • Page Count: 6
  • Language: English