Академический Документы
Профессиональный Документы
Культура Документы
AbstractAs the needs of education of programming language Although raising a computational thinking is important, the
increase, the importance of the learning environment has been students should put additional efforts to learn the programming
emphasized. Based on the social trends, various web services for syntax to make their program using modern programming
the education of programming which improves the computational language. Since a student experiences programming using
thinking of a student. Among the web services, block-based block-based environment, the student should accustom to the
programming languages are well known as an effective learning environment and pedagogy of the modern
educational tool for a primary student though a freshman in the programming language.
university. These tools are proven to be useful tools since the tools
provide same programming environment to the students and the In this paper, we propose a web-based interactive learning
teachers anytime and anywhere. However, the environments may environment for a practical programming language. The
be insufficient for learning practical programming languages, environment helps users to form computational thinking and to
such as C/C++ and Java, because they are not the block-based accustom to a practical programming language. Primarily, we
programming languages. This paper introduces a block-based have selected C as a practical programming language, and our
learning environment for C programming language using web environment visualizes the programming code so that the user
services. The environment fills the gap between building may understand the programming logic intuitively.
computational thinking and learning the syntax of the
programming language. The programming environment provides II. PROGRAMMING LEARNING ENVIRONMENT AND
the equivalent environment to teachers and the students during PEDAGOGY
the programming hands-on.
A. Programming Learning Environment
Keywordsweb-based instruction, visual programming Most programming learning environment is based on the
language, problem-based learning, self-motivated learning
Integrated Development Environment (IDE) which bundled
I. INTRODUCTION with a text editor, compiler, and linker. The learning
environments can be classified into two categories: Installation-
High-quality education of programming has become one of based learning environment and web-based learning
the most important issues in modern society as the importance environment.
of Information and Communication Technology (ICT) increases.
Almost every domain utilizes ICT tools, and a user may add and 1) Installation Based Learning Environment
process valuable data in their domains by making a simple Installation based learning environment is a computer which
program. As the importance of the software education increases, IDE installed. The installation based environment can be
several countries have adopted programming courses as a configured as an individual computer or a laboratory which has
regular curriculum to K-12[1]. Those software programming several computers in the space. Also, the environment can be
courses focus on building a computational thinking. The configured as Command Line Interface (CLI) and Graphic User
computational thinking is a way to create a logic of the program Interface (GUI) based learning environment.
so that the students may make their logic control the computer
In the CLI, users use terminal software to interact with the
and other devices[2]. Teachers have been used various
computer, and they should type a sequence of commands
visualization methods to show the concept of the programming
manually. That is, users can use the keyboard only, and the
to enhance the computational thinking of a student. One of the
response of the computer is also returned in text. The well-
most familiar visualization programming environment is the
known CLI based programming tools are Vim[4] and Nano[5].
Scratch[3]. In the Scratch environment, the student may use
These tools do not provide the integrated installer, so the user
logic blocks to compose a program logic. Also, the student may
needs to install the compiler, linker, and debugger separately to
build a simple computer game by combining several blocks.
construct the programming environment. Also, they should
During the combining programming blocks, the user may form
manage the version of the components of the programming
the way of computational thinking.
environment. The problem of the CLI based environment is that
the user cannot develop a program until they are accustomed to
A. Blocks
In the interactive learning environment for C programming
language, blocks are the syntax patterns that is visualized to the
users. Also, after a user completes the block, the entire block
Fig. 4. Source code compiled and executed should be translated into a program code. To handle the two
functionalities, the block of the interactive learning environment
should model the characteristics of C programming language.
IV. CASE STUDY: INTERACTIVE LEARNING ENVIRONMENT In the interactive learning environment categorizes the
FOR C PROGRAMMING LANGUAGE BASED ON WEB SERVICE blocks into 10 types. Each category contains one or more blocks
and the users can compose the blocks to visualize their
To show the effectiveness and the existence of the proposed
programming semantics. TABLE II. shows the list of block
interactive learning environment, this chapter introduces the
categories.
case study of the environment. The interactive learning
environment1 contains two key components: the block and the
1
The source code of the interactive environment for C programming language
can be found in the following url:
https://cra16.github.io/cake-core/
TABLE II. LIST OF CATEGORY OF BLOCKS TABLE III. LIST OF MODULES IN BLOCK HANDLER