International conference of developers
and users of free / open source software

The simple programming for students to process the data at laboratory works

Sofiya Apunevych, Lviv, Ukraine, Lviv National University of Veterinary Medicine and Biotechnologies named after S.Z. Gzhytskyj
Stepan Apunevych, Lviv, Ukraine, Lviv Linux Users Group

The data obtained during laboratory lessons by physics course students can be processed in a number of different ways, using quite different tools, ranging from calculator to computer algebra systems (eg Matlab, GNU Octave or even GNU R). However, we argue that this procedure would have the most pedagogical effect when done personally by the student, programming the task on his or her own, running program and getting the results. This way brings more knowledge to the student, since it also introduce him or her to the world of computations, giving the very sense of idea. Also, it reminds the people the direct purpose of computers – that is, to crunch numbers – this primary function nowadays is barely remembered.

The questions rise, how to implement such approach: 1. What
programming language to use? 2. Which of numerous development environments to use?

The answers we propose are following. 1. C programming language. 2. Free software (Linux), the IDE Kuzya, developed by Programming Lviv Linux User Group community (http://www.pllug.totalh.com/).

Why C? Pros are obvious: C is the eldest and most wide-spread of programming languages. Its syntax was inherited by most of popular general-purpose programming languages, C++, Java, Perl/PHP, C# to name the least. Its fundamentals had shaped the face of modern IT systems. The cons are drawbacks of C language, as concerned to novices, its proximity to hardware in some aspects and excessive
flexibility, posing the problems for non-professionals. These difficulties can be overcomed with use of some libraries and styles of programming. We have used the textbook `Numerical Recipes. Art of Scientific Computing’ (by Press et al., 1992), available online at www.nr.com. This book solves both problems. First, it proposes very clean and concise yet comprehensive treatment of C language, in as much as 28 pages of `Preliminaries’. The teacher can use it as an affordable reference for students (unofficial translation). On the other hand, `Numerical Recipes’ provides a library, a full set of functions on numerical methods, the framework for vectors, matrices.

Why IDE Kuzya? Free (Open Source) Software provides the wide range of development tools (compilers, editors, integrated development environments). The distributions of the software are highly available, can be easily installed (eg Ubuntu). Some of this software is cross-platform. But, anyway, these powerful tools for professionals require quite a lot of learning and training. The IDE Kuzya is aimed precisely to address the problem. It is developed mostly by students, and simplifies the learning curve for novices. It runs seamlessly on MS Windows, Linux and Mac OS, and perfectly fits the needs of pupils, having the clean user interface, and lowering the demands to user.

To summarize, the student is left with computer. The tasks are the following: to type the measurements data into the data file and save it; to open the program of statistical description of data (Ch. 16 of NR) with Kuzya and modify it for these data, to run and gain results. Its really affordable task to cope by any student, it develops basic skills and gives the pupil the feeling of simplicity. For more advanced students the same task can be elaborated.