Prototype of Visual Programming Environment for C Language Novice Programmer For the education of beginning programmers, visual programming that develops programs by combining blocks has attracted significant attention. An environment for generating code in a conventional programming language is also provided. However, existing environments are not fully visualized. In this investigation, we prototyped a development environment for the C language in which users can intuitively understand the concept of variable declarations and include statements, and an execution environment that visualizes the state of evaluation of expressions and changes in the values of variables before and after the execution of the statement. It also has stepforward and stepbackward functions. This programming environment is a web application developed with JavaScript. For stepbystep evaluation of an expression, it converts the expression internally to reverse Polish notation and visualizes the change in the terms in the expression. To implement the stepbackward function, it has a historyofexecution context. We determined experimentally that students who are not proficient in C can program more accurately and quickly in this environment than with textbased coding.

Improving User Experience of C Programming Language Learning System for Novices The purpose of this paper is to improve the user experience of C language development environment for novices, Hello C, which has been uniquely developed by our previous researches. To examine effective user experience, we conducted two kinds of experiments. The one was the experiment with the learning task of fixing syntax errors to evaluate the method to convey error message. This experimental result suggested that the indication of the error message like scripting language may be effective even C language learning. Next, we also conducted the other experiment with the learning task of fixing IO errors and examined the effectiveness to convey the closeness to the correct answer. This experimental result suggested that utilizing the concept of small steps could help to acquire the skill of programming.