Journal of Robotics, Networking and Artificial Life, Vol. 2, No. 3 (December 2015), 153-156

A proposal for teaching programming through the Five-Step Method
Yasuo Uchida, Seigo Matsuno

National Institute of Technology, Ube College
Ube, 755-8555, Japan
E-mail: uchida@ube-k.ac.jp
Takao Ito

Hiroshima University
Higashi-Hiroshima, 739-8527, Japan
Makoto Sakamoto

University of Miyazaki
Miyazaki, 889-2192, Japan

Abstract
We have proposed a new method of advancing from CS Unplugged through the new process of CS Plugged to fullfledged computer programming languages, as a means of deepening understanding in computer programming
education. We also have proposed a new Five-Step Method consisting of the following steps: Step 1, A CS
Unplugged activity; Step 2, A CS Plugged activity; Step 3, A trace table, Step 4, Preparing pseudocode; and Step 5,Writing Java source code.
Keywords: CS Unplugged, CS Plugged, Programming, Five-Step Method.

1. Introduction
The course we teach has about 40 students per class,aged 17 through 18 years. Since the students’ major
field of study is Management Information, they need tolearn programming [1] techniques. However, the resultsof the survey described below show that not a few
students consider themselves to have insufficientunderstanding of programming or think that they are notgood at programming. We are examining ways toimprove this situation. CS Unplugged [2] is a method ofteaching information science without using computers,
first proposed by Tim Bell of the University ofCanterbury in New Zealand. While CS Unplugged issaid to be effective in teaching information science [3],there have been concerns that its success or failure may
be an effect of the skill and experience of instructors. To
address this topic, we implemented CS Unplugged for agroup of students of a different age group, from fifth
through ninth grades, and looked at their responses. The
results showed that after first making sufficient
preparations the method could generate results without
necessarily depending on the skill or experience ofinstructors. Other research underway in Japan includes a
study on use of teaching aids in learning aboutalgorithms through CS Unplugged [4] and a study on

Published by Atlantis Press
Copyright: the authors
153Yasuo Uchida, Seigo Matsuno, Takao Ito, Makoto Sakamoto

learning the fundamentals of computer programming
through a programming learning environment forbeginners [5]. A study by Y. Feaster et al [6] concerns
practice in teaching high-school students, and it has
been reported to have had some, albeit limited, success.
However, at present almost no research has been
conducted on advancement from CS Unplugged to fullfledged programming languages. Accordingly, we
propose a new method of advancing from CS
Unplugged to full-fledged programming. The proposed
method begins with conducting a CS Unplugged
activity, and then continues on to writing a program on
the same theme and further to its abstraction in Java.
Accordingly, we propose advancing from CS
Unplugged to full-fledged programming through a newFive-Step Method. The proposed method consists of thefollowing steps: Step 1, A CS Unplugged activity; Step
2, A CS Plugged activity; Step 3, A trace table, Step 4,Preparing pseudocode; and Step 5, Writing Java sourcecode.

3. CS Unplugged in practice

2. Background of this study

4. The Five-Step Method

Every year we conduct a survey following our first-termcourse of two 90-minute sessions per week held over 30weeks. Here we will look at numbers of students who
answered “yes” or “no” to this survey’s question, “Do
you think you largely understand Java?”
As seen in Fig. 1, the survey’s results show that nota few students consider themselves to have insufficientunderstanding of programming or think that they are notgood at programming. As such, there is a need toimprove this situation.

In this paper, we use the name CS Plugged to refer toimplementing a CS Unplugged activity through acomputer program. The goal is to advance to computer
programming through using a computer program toconduct the work done by human beings in a CS
Unplugged activity.
Accordingly, we propose advancing from CS
Unplugged to full-fledged programming through a FiveStep Method. The proposed method consists of thefollowing steps: Step 1, A CS Unplugged activity; Step
2, A CS Plugged activity; Step 3, A trace table, Step 4,Preparing pseudocode; and Step 5, Writing Java sourcecode.

For about 50 minutes on August 2, 2014 we used the CS
Unplugged method for approximately 30 students from
fifth through ninth grades as part of a summer-vacation
junior science course. The activity we implemented was
CS Unplugged’s Image Representation activity. Fig. 2
shows examples of students’ work.

Fig. 2. Examples of students’ work

4.1. Step 1: CS Unplugged
First, students conduct the CS Unplugged activity as
described in Section 3 above.
4.2. Step 2: CS Plugged

Fig. 1. Survey results on understanding of Java.

Here we will look at the example of using a computer
program to implement the CS Unplugged activity Image
Representation. This is conducted through twoactivities. The first, converting the image to code, isPublished by Atlantis Press
Copyright: the authors154

A proposal for teaching

represented in Fig. 3. When students click on squares in
the grid at left to draw a picture, the image is converted
instantly to code as displayed at right.

Array0
1
2
3
4
50□
□□■
■
□1■
□■
□□
■

2■
□■
□□
■

3■
□■
□□
■

4□■■
■
■
■
Subscript i Subscript j Array[i][j]0000011111…
55555Output□□■
□■
□■
□□
■

0123401234…
01234□■■■□□

PreviousCountcharacter□
1□
1■
2■
3
■
1
□
1

1,3,1

Fig. 5. Sample Trace Table (in process)Fig. 3. Applet for converting image to code.
The other activity is the reverse of this process, withstudents reproducing a picture from code (Fig. 4). They
enter code to the text boxes at right in a format such as“7,1,8” and press the Enter key to display the resulting
image instantly in the grid at left.

4.4. Step 4: Preparing pseudocode
In this step, the three elements of sequence, decision,and repetition through preparation of the trace table in
the preceding step are extracted and represented inpseudo-language. In Japan, the national Information
Technology Engineer Examinations employ pseudolanguage [8]. A pseudo-language simulator is a type ofsoftware that makes such pseudo-language executable.
In this paper, we used the freeware pseudo-language
simulator SARA [9]. Fig. 6 shows the code written inthis step and its execution.

Fig. 4. Applet for reproducing an image
4.3. Step 3: Trace table

The task conducted in the CS Plugged activity isanalyzed and diagrammed as a trace table [7]. This isdesigned for entry of not just the execution process
but also the data areas of arrays (including initialvalues) and output areas.
Fig. 5 shows an example of a trace table preparedusing a spreadsheet software, although the actual
trace table may be drawn by hand.

Fig. 6. Sample use of pseudo-language simulator
4.5. Step 5: Writing Java source code
In this step students create a program by converting thepseudo-language from the previous step to Java sourcecode. The subsequent debugging process is handled bygoing back and examining each previous step dependingon the content of the error messages.

Published by Atlantis Press
Copyright: the authors
155

Yasuo Uchida, Seigo Matsuno, Takao Ito, Makoto Sakamoto●Java source code
public class Image2Code {public static void main(String args[]) {char[][] image = {{'□', '■', '■', '■', '□'},{'□', '□', '□', '□', '■'},{'□', '■', '■', '■', '■'},{'■', '□', '□', '□', '■'},{'■', '□', '□', '□', '■'},{'□', '■', '■', '■', '■'}};// Iterate only number of lines in an arrayfor(int i = 0; i < image.length; i++) {char previous = '□';
int count = 0;// Display the image in pixels
for(int j = 0; j < image[0].length; j++) {System.out.print(image[i][j]);}System.out.print(" ");// Count number of adjoining pixels of same color anddisplay in numerical form (code)for(int j = 0; j < image[0].length; j++) {if (image[i][j] == previous) {count++;} else {previous = image[i][j];System.out.print(count + ", ");count = 1;}}
System.out.println(count);}}}
Results of running the above program□■■■□ 1, 3, 1□□□□■ 4, 1□■■■■ 1, 4■□□□■ 0, 1, 3, 1■□□□■ 0, 1, 3, 1□■■■■ 1, 4

5.

Conclusion

We have proposed a new method of advancing from CSUnplugged through the new process of CS Plugged tofull-fledged computer programming languages, as ameans of deepening understanding in computer
programming education. We also have proposed a newFive-Step Method consisting of the following steps:
Step 1, A CS Unplugged activity; Step 2, A CS Pluggedactivity; Step 3, A trace table, Step 4, Preparing
pseudocode; and Step 5, Writing Java source code.

Topics for the future are those of putting together
detailed procedures for abstraction of pseudocode fromtrace table as well as continually implementing theproposed method and measuring its results.
References
1. D. Everitt, Introducing programming skills in education,
https://www.academia.edu/1478617/Introducing_progra
mming_skills_in_education.
2. The Unplugged Community: Computer Science
Unplugged, http://csunplugged.org/.
3. Y. Idosaka, Y. Kuno, and S. Kanemune, Attempt and thePractice of Class Method Improvement Based on"Computer Science Unplugged", Journal of the Japan
Society of Technology Education, vol.53, no.2 (2011), pp.
115-123 (in Japanese).
4. H. Manabe, S. Kanemune, and M. Namiki, Effects ofTeaching Tools in CSU Algorithm Education, IPSJ
Journal, vol.54, no.1 (2013), pp. 14-23 (in Japanese).
5. T. Nishida, A. Harada, R. Nakamura, Y. Miyamoto, andT. Matsuura, Implementation and Evaluation of PEN:
The Programming Environment for Novices, IPSJ
Journal, vol.48, no.8 (2007), pp. 2736-2747 (inJapanese).
6. Y. Feastery, L. Segarsz, S.K. Wahbay, J.O. Hallstrom,Teaching CS Unplugged in the High School (withLimited Success). Proceedings of the 16th annual joint
conference on Innovation and technology in computerscience education, pp. 248--252 (2011)
7. Cambridge International Examinations, SYLLABUS
Cambridge O Level Computer Studies 7010 For
examination in June and November 2014, UniversityofCambridge
International
Examinations,
http://www.cie.org.uk/ images/90258-2014-syllabus.pdf.
8. Information-technology Promotion Agency Japan,
Kyotsu ni shiyo sareru gijigengo no kijutsukeishiki(“Symbolic conventions of commonly used pseudolanguage”), https://www.jitec.ipa.go.jp/1_13download/
gijigengo_keisiki.pdf (in Japanese).
9. S. Mimura, Gijigengo shimyureta SARA (“SARApseudo-language simulator”), http://mimumimu.net/
software/#sara (in Japanese).

Published by Atlantis Press
Copyright: the authors
156