10.14489/vkit.2014.07.pp.049-055 |
DOI: 10.14489/vkit.2014.07.pp.049-055 Олифер Н. О., Сычев О. А. Аннотация. Разработан визуализатор состояния программы в виде графа. Визуализация осуществляется на каждом шаге выполнения программы при ее трассировке в среде разработки MS Visual Studio. Реализован показ анимации выполнения функций работы со строками в языке С. Визуализатор испытан при проведении лабораторных работ и положительно оценен в ходе учебного процесса при анкетировании студентов. Ключевые слова: визуализация состояния программы; графы; укладка; строки; функции; обучение программированию.
Olifer N. O., Sychev O. A. Abstract. The paper discusses using program state visualization as a help tool in the basic programming education and developed by authors program state visualizer for C++ language. Program state is a complete set of values of local variables and dynamic allocated memory blocks in the given moment of program execution. Visualizer is a standalone program which connects to debugged process and visualizes debugged program state as a graph. In this graph vertexes are variables and dynamic memory blocks, while edges connect pointers and data they points to. Program state graph is laid out on the plane by layered layout algorithm modified for clustered graphs, needed to correctly visualize С/C++ program state.Visualizer interacts with Microsoft Visual Studio IDE and shows state of programs debugged in it. Existing similar visualizer for C/C++ programs “DDD” works for the Unix-based operating systems and contains serious defects. The main problem is DDD not drawing edges to nested vertexes, it creates additional vertexes for them. That leads to duplicated vertexes for one piece of data and may seriously mislead user. It is also quite hard to port DDD on Windows to interact with MS Visual Studio. Visualizer is designed to allow easy improvement in different ways, including external plugins for visualize program state in the it’s domain terms. It is possible to implement interaction with other debuggers, for example GDB. Visualizer can also animate changes in program state graph. It was used for animation of standard C string functions execution for the ‘Programming Basics’ course. When user steps over a function, graph animates what happens with strings in the memory. Developed visualizer was used in Volgograd State Technical University in the courses ‘Programming Basics’ and ‘Programming’ when teaching dynamic data structures and working with C language strings. In survey students mentioned, that it was particularly useful on debugging code using typical data structures such as linked lists, trees. The most useful animation of string function was animation of strtok. 87 % of the students of ‘Programming’ course give the visualizer highest mark for usefulness in learning dynamic data structures. Keywords: Program state visualization; Graph; Layout; Strings; Functions; Teaching programming.
РусН. О. Олифер, О. А. Сычeв (Волгоградский государственный технический университет) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript EngN. O. Olifer, O. A. Sychev (Volgograd State Technical University) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Рус1. Roberts E. S. Using C in CS1: Evaluating the Stan-ford Experience // SIGCSE’93 Proceedings of the Twenty-fourth SIGCSE Technical Symposium on Computer Science Education, New York, 1993. P. 117 – 121. Eng1. Roberts E. S. (1993). Using C in CS1: Evaluating the Stan¬ford Experience. SIGCSE’93 Proceedings of the Twenty-fourth SIGCSE Technical Symposium on Computer Science Education, New York, pp. 117 – 121.
РусСтатью можно приобрести в электронном виде (PDF формат). Стоимость статьи 250 руб. (в том числе НДС 18%). После оформления заказа, в течение нескольких дней, на указанный вами e-mail придут счет и квитанция для оплаты в банке. После поступления денег на счет издательства, вам будет выслан электронный вариант статьи. Для заказа статьи заполните форму: {jform=1,doi=10.14489/vkit.2014.07.pp.049-055} . EngThis article is available in electronic format (PDF). The cost of a single article is 250 rubles. (including VAT 18%). After you place an order within a few days, you will receive following documents to your specified e-mail: account on payment and receipt to pay in the bank. After depositing your payment on our bank account we send you file of the article by e-mail. To order articles please fill out the form below: {jform=2,doi=10.14489/vkit.2014.07.pp.049-055}
. .
|