Figure 4: Prototype application running on Nokia N9.
Figure 5: Prototype application in landscape mode.
data by only excluding all GUI statements. The pre-
sented implementations were tested in a prototype ap-
plication on Nokia N9. This smartphone uses Meego
OS (based on Linux kernel) and allows native applica-
tions in C++. Figures 4 and 5 give some screenshots
from the prototype application. In any case, the goal
of the project was to research the problems in such a
general way that the implementation on any mobile
platform could benefit from it.
indent Although not being the main goal of this
project, we found it very usable when teaching soft-
ware project management. Today, students often
underestimate the benefit of appropriate planning
(e.g. preparation of graphical views) and testing (e.g.
preparation of test cases). The presented project re-
quires detailed planning of graphical representation
because of the limited screen sizes on mobile devices,
and because the effective demonstration of sorting al-
gorithms involves several navigation commands (run,
pause, stop, one step, reset, etc.), so testing the ob-
tained application is quite a challenge.
Although, at least Quicksort algorithm is not triv-
ial, sorting is not a real challenge for most of the stu-
dents. This is not the case with all subjects. For ex-
ample, when considering search trees, e.g. AVL trees,
2-3 trees, and red-black trees; have you ever been able
to manage them? Every group of algorithms needs a
special framework and more complex and longer al-
gorithms are quite problematic for demonstrating on
mobile platforms. Fortunately, mobile devices are be-
coming bigger and more powerful, capable of pre-
senting more text and graphics, fancier animations,
and effects. Also, many diverse controls are appear-
ing (gestures, 3D accelerometers, voice commands).
Hence, we all have a lot of further work.
REFERENCES
Boticki, I., Barisic, A., Martin, S., and Drljevic, N. (2012).
Teaching and learning computer science sorting algo-
rithms with mobile devices: A case study. Computer
Applications in Engineering Education.
Grune, D. (2012). Gnome sort - the simplest sort algo-
rithm. Retrieved December 14, 2012, from http://
dickgrune.com/Programs/gnomesort.html.
Holzinger, A., Treitler, P., and Slany, W. (2012). Making
apps useable on multiple different mobile platforms:
On interoperability for business application develop-
ment on smartphones. In Multidisciplinary Research
and Practice for Information Systems, volume 7465 of
Lecture Notes in Computer Science, pages 176–189.
Khreisat, L. (2007). Quicksort — a historical perspective
and empirical study. International Journal of Com-
puter Science and Network Security, 7(12):54–65.
Knuth, D. E. (1998). The Art of Computer Programming,
volume 3: Sorting and Searching. Addison-Wesley
Professional, 2 edition.
Martin, D. R. (2012). Sorting algorithm anima-
tions. Retrieved December 14, 2012, from http://
www.sorting-algorithms.com/.
Mirkovic, J., Bryhni, H., and Ruland, C. M. (2011). De-
signing user friendly mobile application to assist can-
cer patients in illness management. In The Third In-
ternational Conference on eHealth, Telemedicine, and
Social Medicine, pages 64–71.
Naps, T., Furcy, D., Grissom, S., and McNally, M. (2012).
Java-hosted algorithm visualization environment. Re-
trieved December 14, 2012, from http://jhave.org/.
Nester, D. K. (2012). Sorting demonstrations. Retrieved
December 14, 2012, from http://www.bluffton.edu/
∼nesterd/java/SortingDemo.html.
Rosetta Code (2012). Sorting algorithms. Retrieved De-
cember 14, 2012, from http://rosettacode.org/wiki/
Category:Sorting Algorithms.
Skiena, S. S. (2008). The Algorithm Design Manual.
Springer, 2 edition.
Vitanyi, P. (2007). Analysis of sorting algorithms by kol-
mogorov complexity (a survey). Entropy, Search,
Complexity, pages 209–232.
Wikipedia (2012). Sorting algorithm. Retrieved De-
cember 14, 2012, from http://en.wikipedia.org/wiki/
Sorting algorithm.
DemonstrationofSortingAlgorithmsonMobilePlatforms
141