<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Usability Perception of Visual Programming Language: a Case Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jenny Morales</string-name>
          <email>jmoralesb@uautonoma.cl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cristian Rusu</string-name>
          <email>cristian.rusu@pucv.cl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Facultad de Ingeniería, Universidad Autónoma de Chile</institution>
          ,
          <addr-line>Av. 5 Poniente No. 1670, Talca</addr-line>
          ,
          <country country="CL">Chile</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Pontificia Universidad Católica de Valparaíso</institution>
          ,
          <addr-line>Av. Brasil No. 2241, Valparaíso</addr-line>
          ,
          <country country="CL">Chile</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Block programming languages are considered as facilitators of programming learning. Programming languages like Scratch are used by adolescents and children from different countries. Usability is an important aspect to facilitate interaction with interfaces, in this case, the interaction and use of the programming language. This work presents a usability perception study of Scratch, based on the System Usability Scale (SUS). The survey involved 96 teenagers and SUS was applied after the experience of using Scratch in the laboratory. The results indicate that Scratch's overall usability is a bit under satisfactory. They also highlight elements to improve.</p>
      </abstract>
      <kwd-group>
        <kwd>Usability</kwd>
        <kwd>System Usability Scale</kwd>
        <kwd>Scratch</kwd>
        <kwd>Survey</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Today there are a large number of programming languages and programming
environments for end users. They are successful because they promise to take away the
complexities of language syntax, and focus on developing skills like programming
logic. They are also aimed at various groups of people, including children,
programming novices, and non-programmer adults. Considering that these
programming languages facilitate the learning of programming, questions are raised
about the usability they have, being the subject of various usability studies. Koitz and
Slany carried out comparative studies between two visual programming languages for
teenagers, based on user tests and questionnaires [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>In this paper, we present a usability perception study of Scratch through a survey
based on the System Usability Scale (SUS), applied to adolescent students from two
Chilean schools. The results obtained based on 96 answers indicated that Scratch
reaches a score of 66.3, which places it on the average level of usability, with aspects
to improve.</p>
      <p>Copyright c 2020 for this paper by its authors. Use permitted under Creative Commons
This work is organized as follows: section 2 describes the background, section 3
presents the methodology we used in data collection, section 4 explains the results.
Finally, section 5 shows the conclusions and future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Background</title>
      <p>To learn programming is often complex and discouraging for students. One way of
improving students’ perception on the difficulty of programming is based on visual
block languages and/or through tangible interfaces. Usability of these artifacts is
relevant, as it can make programming more appealing.</p>
      <sec id="sec-2-1">
        <title>2.1 Usability</title>
        <p>
          System interfaces allow the users to interact with the systems. One way to establish if
the system is easy to use is through usability attributes. Nielsen [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] established five
usability attributes that are:
 Learning, related to the ease of learning to use a system, this attribute is relevant
for users who are using a system for the first time.
 Efficiency, an attribute that is related to the speed, number of steps or processes
with which the user can achieve her/his goals.
 Memorability, an attribute that is associated with the ability of the system to be
remembered by users, an important attribute for sporadic users.
 Errors, a good indicator in this attribute is related to a low error rate made by users
when performing their tasks.
 Subjective satisfaction, which is related to user satisfaction in relation to the use of
the system.
        </p>
        <p>
          In addition to the Nielsen attributes mentioned above, the International Standard
Organization (ISO) 9241-11 defines usability as the “extent to which a system, product
or service can be used by specified users to achieve specified goals with effectiveness,
efficiency and satisfaction in a specified context of use“ [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. It considers the
effectiveness, efficiency and satisfaction as relevant usability aspects.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Languages and Programming Environments for Non-Programmers</title>
        <p>
          There are various attempts to facilitate programming for non-professional programmers
(end users), in different age groups: children, teenagers or adults. Cao et al. address the
difficulties that end users have when carrying out programming tasks, as well as
suggestions on how to help them [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>
          Several usability studies focus on programming environments. Holwerda and
Hermans perform an analysis through cognitive dimensions [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Some studies are
comparing the usability of visual and textual programming languages related to [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
They conclude that both approaches can have positive and limiting aspects, and they
also consider that those who are hybrids can enhance positive elements of both above
mentioned kind of programming languages.
        </p>
        <p>
          Chawla et al. are focusing on tangible interfaces [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. They propose a programmable
robot that may facilitate programming learning for children.
        </p>
        <p>
          Zhang et al. focus their analysis on the limitations of block visual language,
establishing Scratch-based studies and the difficulties of mixing codes and tracking the
flow of data and control within the environment [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. The difficulty of handling large
projects, or when projects become more complex has also been raised [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. These studies
expose the difficulties of Scratch; however, these problems are not only typical for this
particular language. We may consider that this more visual and blocky form of
programming encourages the design of languages and programming environments
closer to natural language, making programming easier for beginners [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3 Scratch</title>
        <p>Scratch is a programming language created in a project of Lifelong Kindergarten Group
the Media Laboratory of the Massachusetts Institute of Technology (MIT). The first
version emerged in 2013. Currently Scratch is used in more than 150 countries, and it
is available in more than 40 languages.</p>
        <p>
          Scratch is used by people of all ages. However, it is addressed mainly for children
and young people. Scratch is free for use, and its focus is towards the development of
thinking skills and problem-solving, thus enhancing digital literacy [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>
          In Chile, as well as in other countries, it has also been promoted to learn
programming through the implementation of the Hour of Code [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Methodology</title>
      <p>
        System Usability Scale (SUS) was created by John Brooke in 1986 [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. It is used to
evaluate the users’ perception on different kinds of interactive software systems. The
scale has 10 items. The responses to each item are based on a Likert scale in a range
from 1, which means “strongly disagree”, to 5 which means “strongly agree”. The
maximum score is 100, and the average established is 68 as a minimum for considering
a system as usable. The total score is obtained considering based on a specific
procedure. In the case of odd items the score, is calculated subtracting 1 from the
obtained value in each item; in the case of the even items, the score is calculate
subtracting a 5 the value obtained in the item. Finally, the sum of these 10 scores is
multiplied by 2.5, thus obtaining the overall usability score. We adapted SUS to be
applied in the context of Scratch. The items of the adapted SUS that we used are shown
in Table 1.
      </p>
      <p>We carried out a total of four practical activities in computer laboratories, guided by
two programmers in Scratch, each session with a duration of 1 hour. At the beginning
of the session, the programming language and the environment to be used, in this case
a web site (scratch.mit.edu), were presented. Subsequently, the activities were
described and carried out with the help and supervision of the programmers. The
maximum quota of participants in each session was 25 students. At the end of the
session, SUS was applied. When necessary, assistance was provided regarding the
meaning of some items. At the beginning of the questionnaire some general
(demographic) questions were included, such as age and gender.</p>
    </sec>
    <sec id="sec-4">
      <title>4 Results</title>
      <p>The survey included 96 respondents, belonging to two different Chilean schools, each
of which was represented by 48 students, that is 50% each. The mean age was 15.6
years, the youngest age recorded was 10 years and the oldest age recorded was 20 years.
The distribution by gender is shown in Fig. 1. There were 65 males (68%), 26 females
(26%); 6 respondents (6%) did not identified a binary gender.</p>
      <p>
        The score obtained by Scratch in SUS was 66.3. This places it a bit under the average
SUS score (68), according to the SUS interpretation scale of [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The standard
deviation obtained was 14.8, which means that there is a high dispersion of the data
obtained. The lowest average score obtained was 15 and the highest was 95 points. 51
responses scored above the 66.3 average, and 45 responses scored below the average.
Students’ responses (scores) are shown in Fig. 2.
      </p>
      <p>
        The average scores was calculated as indicated in the methodology section. The
lowest scores were obtained for items 2 (I2), 4 (I4) and 10 (I10). These correspond to
the usable factor (I2) and the learnable factor (I4 and I10) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Item 5 (I5) obtained the
highest score. The integration of language was perceived favorably by the participants.
      </p>
      <p>The result indicates that Scratch was perceived by the students as complex and
difficult to learn. On the other hand, the students valued positively the good integration
of the functions that Scratch possesses.</p>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusion and Future Work</title>
      <p>Programming is a difficult task to perform; an attempt to simplify its learning and to
reach different users are block and/or visual programming languages. Scratch is one of
them, worldwide known and used by many people of various ages.</p>
      <p>
        In this work, an evaluation of the usability perception of Scratch was carried out,
based on the SUS. The result obtained locates it a bit under the average of 68, with a
score of 66.3. We found that both items related to learnability obtained low results, so
we concluded that the students presented difficulties to learn the language. At the same
time, only one item related to the usable factor obtained to a low score. Although the
score obtained is a bit less than average, we generally consider that the result is positive.
In previous works [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], the SUS results for two widely used integrated development
environments in higher education in Chile, obtained much lower values: 50.3 for
DevC++, and 59.6 for NetBeans.
      </p>
      <p>It is generally agreed that in complex projects the work with block languages
becomes more difficult. As future work we would like to consider the element of
projects’ complexity in the experiments with users, and to evaluate a block language
other than Scratch.</p>
      <p>Acknowledgments. We would like to thank to all the participants in the experiments.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Koitz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slany</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Empirical comparison of visual to hybrid formula manipulation in educational programming languages for teenagers</article-title>
          .
          <source>In: Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools</source>
          , (
          <year>2014</year>
          , October)
          <fpage>21</fpage>
          -
          <lpage>30</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Nielsen</surname>
            ,
            <given-names>J.: Usability</given-names>
          </string-name>
          <string-name>
            <surname>Engineering. AP Professional</surname>
          </string-name>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. ISO 9241-210:
          <article-title>Ergonomics of human-system interaction- Part 11: Usability: Definitions and concepts</article-title>
          ,
          <source>International Organization for Standardization</source>
          ,
          <source>Geneva</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cao</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fleming</surname>
            ,
            <given-names>S. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Burnett</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An exploration of design opportunities for “gardening” end-user programmers' ideas</article-title>
          .
          <source>In: 2011 IEEE Symposium on Visual Languages</source>
          and
          <article-title>Human-Centric Computing (VL/HCC)</article-title>
          . IEEE, (
          <year>2011</year>
          , September)
          <fpage>35</fpage>
          -
          <lpage>42</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Holwerda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hermans</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A usability analysis of blocks-based programming editors using cognitive dimensions</article-title>
          . In: 2018 IEEE symposium
          <article-title>on visual languages and humancentric computing (VL/HCC)</article-title>
          . IEEE, (
          <year>2018</year>
          , October)
          <fpage>217</fpage>
          -
          <lpage>225</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Booth</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stumpf</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>End-user experiences of visual and textual programming environments for Arduino</article-title>
          .
          <source>In: International symposium on end user development</source>
          . Springer, Berlin, Heidelberg (
          <year>2013</year>
          , June)
          <fpage>25</fpage>
          -
          <lpage>39</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Chawla</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chiou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sandes</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blikstein</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : Dr.
          <article-title>Wagon: a'stretchable'toolkit for tangible computer programming</article-title>
          .
          <source>In: Proceedings of the 12th international conference on interaction design and children</source>
          , (
          <year>2013</year>
          , June)
          <fpage>561</fpage>
          -
          <lpage>564</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Zhang,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Surisetty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Scaffidi</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          :
          <article-title>Assisting comprehension of animation programs through interactive code visualization</article-title>
          .
          <source>Journal of Visual Languages &amp; Computing</source>
          , Vol.
          <volume>24</volume>
          (
          <issue>5</issue>
          ), (
          <year>2013</year>
          )
          <fpage>313</fpage>
          -
          <lpage>326</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Tanrikulu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaefer</surname>
            ,
            <given-names>B. C.</given-names>
          </string-name>
          :
          <article-title>The users who touched the ceiling of scratch</article-title>
          .
          <source>ProcediaSocial and Behavioral Sciences</source>
          ,
          <volume>28</volume>
          , (
          <year>2011</year>
          )
          <fpage>764</fpage>
          -
          <lpage>769</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Good</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Howland</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Natural language and programming: Designing effective environments for novices</article-title>
          .
          <source>In: 2015 IEEE Symposium on Visual Languages and HumanCentric Computing</source>
          (VL/HCC), IEEE, (
          <year>2015</year>
          , October)
          <fpage>225</fpage>
          -
          <lpage>233</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Scratch</surname>
          </string-name>
          .: https://scratch.mit.edu/.
          <source>Accessed July 26</source>
          ,
          <year>2020</year>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Hora del Código Chile</surname>
          </string-name>
          .: http://www.horadelcodigo.cl/.
          <source>Accessed July 25</source>
          ,
          <year>2020</year>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Brooke</surname>
          </string-name>
          , J.:
          <article-title>SUS-A quick and dirty usability scale</article-title>
          .
          <source>Usability Eval. Ind</source>
          .
          <volume>189</volume>
          (
          <issue>194</issue>
          ), (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Lewis</surname>
            ,
            <given-names>J. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sauro</surname>
          </string-name>
          , J.:
          <article-title>Item benchmarks for the system usability scale</article-title>
          .
          <source>Journal of Usability Studies</source>
          , Vol.
          <volume>13</volume>
          (
          <issue>3</issue>
          ), (
          <year>2018</year>
          )
          <fpage>158</fpage>
          -
          <lpage>167</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Lewis</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sauro</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The Factor Structure of the System Usability Scale</article-title>
          . In: Kurosu M.
          <article-title>(eds) Human Centered Design</article-title>
          .
          <source>HCD 2009. Lecture Notes in Computer Science</source>
          , Vol.
          <volume>5619</volume>
          . Springer, Berlin, Heidelberg (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Morales</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Botella</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rusu</surname>
            <given-names>C</given-names>
          </string-name>
          . Quiñones D.: How “
          <article-title>Friendly” Integrated Development Environments Are?</article-title>
          . In: Meiselwitz G. (
          <article-title>eds) Social Computing and Social Media. Design, Human Behavior and Analytics</article-title>
          .
          <source>HCII 2019. Lecture Notes in Computer Science</source>
          , Vol.
          <volume>11578</volume>
          . Springer, Cham. https://doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -21902-
          <issue>4</issue>
          _
          <issue>7</issue>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>