Conference Paper

Investigating the Usability of Coding Applications for Children: Insights from Teacher Interviews

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
Programming education is an important educational process that enables the development of children's problem solving and algorithmic thinking skills. It is known that children frequently encounter syntax problems in coding activities. Many block-based programming software has been developed to eliminate this difficulty in the learning process. Block-based programming software is widely used all over the world because of its colorful features and providing a coding environment that children can learn easily. However, analyzes on the usefulness of such widely used block-based programming software cannot be found in the literature. In this study, the usability of code.org block-based coding environment was analyzed through the coding practices of children. The study group was consisted of 14 children aged between 9 and 13. Analyzes were made in terms of efficacy, efficiency, and satisfaction. For the efficacy analysis of the programming environment, it was observed that all the children completed the tasks assigned to them. In efficiency analysis; task times, task step counts, need for assistance in the process of using software, overall focus data, heat maps, eye scanning data and focus levels in the guided area of the participants were examined. In satisfaction analysis; satisfaction level of participants was examined. As a result of the research; usability data for Code.org environment has been tried to be presented in detail. In the efficacy dimension, while there were generally no problems regarding the task completion status of the participants; in efficiency dimension, suggestions were made regarding the placement of the blocks, block sizes and application methods. In satisfaction dimension, it was seen that children faced with problems during the block search process.
Article
Full-text available
A step-by-step guide to conducting a thematic analysis within the context of learning and teaching.
Article
Full-text available
The aim of this study is to determine the attitudes of pre-service teachers towards programming, the perceptions of self-efficacy about block-based programming and the opinions of pre-service teachers on the use of educational robots. This research is a quantitative and qualitative research conducted using a mixed research design. The study group of the research consisted of 140 undergraduate students from the universities in Turkey, studying in the Department of Computer Education and Instructional Technologies. The data were collected through the Attitude Scale of Computer Programming Learning, the Self-Efficacy Perception Scale Related to Block-Based Programming and the interview form developed by the researchers. The quantitative data were analyzed by arithmetic mean, standard deviation, pearson r correlation, regression, t-test and ANOVA analysis, and the qualitative data were analyzed by content analysis method and the following results were obtained: the attitudes of pre-service teachers and their perceptions of self-efficacy are above average and interrelated. The pre-service teachers’ perceptions of self-efficacy vary according to grade level. However, their attitudes do not differ according to class level. However, the perceptions of self-efficacy and the attitudes have been found to differ according to the university where they study gender and education. In addition, pre-service teachers’ opinions about educational robots are that educational robots contribute to problem solving and programming skills.
Article
Full-text available
Journal of Computing Science and Engineering (JCSE), Volume 13, Number 1, March 2019, pp. 1-10 Abstract: Nowadays, the interest of young people in programming is decreasing steadily on a global scale. This, however, is becoming a problem for global economic development. The dynamic development of technologies requires the implementation of new teaching and learning methods. As a result, new Computer Science courses related to programming in primary education have been introduced. Pupils learn the basics and the programming skills using new visual programming languages known as block-based programming languages that allow the design of programming algorithms (program logic) using drag-and-drop of program chunks, named blocks. This makes the programming languages easy to use even by young children. The lack of a reasonable argument for the choice of block-based programming languages based on their functional characteristics, interface and children's preference prompted this investigation. This article discusses some of the modern block-based programming languages. Research into state-of-the-art scientific publications on this issue has been done. The criteria for comparing and analyzing these programming languages have been defined. As a result, the block-based programming languages that best meet the criteria have been identified. Two languages (Scratch and Code.org) have been selected based on the proposed methodology. These languages were used for two weeks by pupils in the 3rd and 4th grades in Bulgaria. The main goal of this study is to determine the degree of similarity between block-based and traditional programming languages, as well as discuss the opportunity for their use in the Bulgarian primary school. The proposed methodology can be easily adapted and used in other countries. An important factor in this research is the support available in the pupils' native language for the integrated development environment and programming languages.
Chapter
Full-text available
Programming remains a dark art for beginners or even professional programmers. Experience indicates that one of the first barriers for learning a new programming language is the rigid and unnatural syntax and semantics. After analysis of research on the language features used by non-programmers in describing problem solving, the authors propose a new program synthesis framework, dialog-based programming, which interprets natural language descriptions into computer programs without forcing the input formats. In this chapter, they describe three case studies that demonstrate the functionalities of this program synthesis framework and show how natural language alleviates challenges for novice programmers to conduct software development, scripting, and verification.
Conference Paper
Full-text available
Block-based programming systems, such as Scratch or Alice, are the most popular environments for introducing young children to programming. However, mastery of text-based programming continues to be the educational goal for students who continue to program into their teenage years and beyond. Transitioning across the significant gap between the two editing styles presents a difficult challenge in school-level teaching of programming. We propose a new style of program manipulation to bridge the gap: frame-based editing. Frame-based editing has the resistance to errors and approachability of block-based programming while retaining the flexibility and more conventional programming semantics of text-based programming languages. In this paper, we analyse the issues involved in the transition from blocks to text and argue that they can be overcome by using frame-based editing as an intermediate step. A design and implementation of a frame-based editor is provided.
Article
Full-text available
Teachers are not typically involved as participatory designers in the design of technology-enhanced learning environments. As they have unique and valuable perspec- tives on the role of technology in education, it is of utmost importance to engage them in a participatory design process. Adopting a case study methodology, we aim to reveal in what ways teachers work as participatory designers and define conditions that support teachers in that. Two initiatives of participatory design in Canada and Singapore were investigated. Design materials, transcripts of design meetings, and interviews with teachers were qualitatively analyzed. Case study 1 (Canada) showed that two teachers participating in software design for an astronomy curriculum contributed by suggesting new design fea- tures, introducing pedagogical requirements, and providing feedback on prototypes or design ideas. It appeared essential that teachers feel that their ideas were valued and respected in the entire process. In case study 2 (Singapore), six teachers contributed to the design of a mobile learning trail through: Theorizing and bridging knowledge building principles, collaborative prototyping, contextual inquiry of activity relevance and activity execution, and collaborative evaluation of technology integration. Teachers valued case study discussions with similar cultural contexts and visiting the learning site to design with contextual knowledge. From our case studies, it can be concluded that teachers contribute to the design processes by engaging in theoretical discussion, active participation in a design partnership, reflection about pedagogy and practice, and experimenting with enactment. Conditions that support teachers include support in emergent processes and an atmosphere of trust and inclusion.
Article
Full-text available
For more than five years, researchers at Carnegie Mellon University have been collaborating with several SAP teams to improve the usability of SAP's developer tools and programming APIs. Much research has shown that HCI techniques can improve the tools that developers use to write software. In a recent project, we applied HCI techniques to a SAP developer tool for the SAP NetWeaver Gateway product. The SAP team building this tool uses agile software development processes, which allowed them to quickly improve the tool's usability based upon the evaluations.
Article
Full-text available
Thematic analysis is a poorly demarcated, rarely acknowledged, yet widely used qualitative analytic method within psychology. In this paper, we argue that it offers an accessible and theoretically flexible approach to analysing qualitative data. We outline what thematic analysis is, locating it in relation to other qualitative analytic methods that search for themes or patterns, and in relation to different epistemological and ontological positions. We then provide clear guidelines to those wanting to start thematic analysis, or conduct it in a more deliberate and rigorous way, and consider potential pitfalls in conducting thematic analysis. Finally, we outline the disadvantages and advantages of thematic analysis. We conclude by advocating thematic analysis as a useful and flexible method for qualitative research in and beyond psychology.
Article
Full-text available
Programming is most often viewed as a way for experts to get computers to perform complex tasks efficiently and reliably. Boxer presents an alternative image—programming as a way for nonexperts to control a reconstructible medium, much like written language, but with dramatically extended interactive capabilities.
Conference Paper
Full-text available
We report on the programming learning experiences of urban youth ages 8-18 at a Computer Clubhouse located in South Central Los Angeles. Our analyses of the 536 Scratch projects, collected during a two-year period, documents the learning of key programming concepts in the absence of instructional interventions or experienced mentors. We discuss the motivations of urban youth who choose to program in Scratch and the implications for introducing programming at after school settings in underserved communities.
Conference Paper
Full-text available
A programming system is the user interface between the programmer and the computer. Programming is a notoriously difficult activity, and some of this difficulty can be attributed to the user interface as opposed to other factors. Historically, the designs of programming languages and tools have not emphasized usability. This paper describes the process we used to design HANDS, a new programming system for children that focuses on usability, where HCI knowledge, principles, and methods guided all design decisions. The features of HANDS are presented along with their motivations from prior empirical research on programmers and new studies conducted by the authors. HANDS is an event-based language that features a concrete model for computation, provides operators that match the way non-programmers express problem solutions, and includes domain-specific features for the creation of interactive animations and simulations. In user tests, children using HANDS performed significantly better than children using a reduced-feature version of the system where more traditional methods were required to solve tasks.
Article
This systematic review examined how computer science (CS) education was implemented in schools and its efficacy for developing students’ computational thinking (CT). Sixty-six papers were selected for this systematic review and analyzed for patterns in relation to the implementation of CS education in K-12 schools and its impact on the development of students’ CT skills. Although educational interventions have not always been successful in CS education, this review provides strong evidence that overall, CS education promotes the development of students’ CT in the K-12 setting while improving their creative and critical thinking skills. We recommend early access to CS education, various innovative instructional approaches to CS education and appropriate support and guidance for student learning.
Conference Paper
The SIGCSE Technical Symposium is celebrating its 50th year, and a constant theme throughout this history has been to better understand how novices learn to program. In this paper, we present a perspective on the evolution of introductory programming education research at the Symposium over these 50 years. We also situate the Symposium's impact in the context of the wider literature on introductory programming research. Applying a systematic approach to collecting papers presented at the Symposium that focus on novice programming / CS1, we categorized hundreds of papers according to their main focus, revealing important introductory programming topics and their trends from 1970 to 2018. Some of these topics have faded from prominence and are less relevant today while others, including many topics focused on students, such as making learning programming more appropriate from gender, diversity, accessibility and inclusion standpoints, have garnered significant attention more recently. We present discussions on these trends and in doing so, we provide a checkpoint for introductory programming research. This may provide insights for future research on how we teach novices and how they learn to program.
Conference Paper
Most ideas come from previous ideas. The sixties, particularly in the ARPA community, gave rise to a host of notions about "human-computer symbiosis" through interactive time-shared computers, graphics screens, and pointing devices. Advanced computer languages were invented to simulate complex systems such as oil refineries and semi-intelligent behavior. The soon to follow paradigm shift of modern personal computing, overlapping window interfaces, and object-oriented design came from seeing the work of the sixties as something more than a "better old thing." That is, more than a better way: to do mainframe computing; for end-users to invoke functionality; to make data structures more abstract. Instead the promise of exponential growth in computing/$/volume demanded that the sixties be regarded as "almost a new thing" and to find out what the actual "new things" might be. For example, one would compute with a handheld "Dynabook" in a way that would not be possible on a shared main-frame; millions of potential users meant that the user interface would have to become a learning environment along the lines of Montessori and Bruner; and needs for large scope, reduction in complexity, and end-user literacy would require that data and control structures be done away with in favor of a more biological scheme of protected universal cells interacting only through messages that could mimic any desired behavior.Early Smalltalk was the first complete realization of these new points of view as parented by its many predecessors in hardware, language, and user interface design. It became the exemplar of the new computing, in part, because we were actually trying for a qualitative shift in belief structures---a new Kuhnian paradigm in the same spirit as the invention of the printing press---and thus took highly extreme positions that almost forced these new styles to be invented.
Conference Paper
There has been considerable interest in teaching "coding" to primary school aged students, and many creative "Initial Learning Environments" (ILEs) have been released to encourage this. Announcements and commentaries about such developments can polarise opinions, with some calling for widespread teaching of coding, while others see it as too soon to have students learning industry-specific skills. It is not always clear what is meant by teaching coding (which is often used as a synonym for programming), and what the benefits and costs of this are. Here we explore the meaning and potential impact of learning coding/programming for younger students. We collect the arguments for and against learning coding at a young age, and review the initiatives that have been developed to achieve this (including new languages, school curricula, and teaching resources). This leads to a set of criteria around the value of teaching young people to code, to inform curriculum designers, teachers and parents. The age at which coding should be taught can depend on many factors, including the learning tools used, context, teacher training and confidence, culture, specific skills taught, how engaging an ILE is, how much it lets students explore concepts for themselves, and whether opportunities exist to continue learning after an early introduction.
Article
In this chapter, framed by Vygotsky's sociocultural theory, Wilensky and Papert's restructuration theory, and Noss and Hoyles' theoretical construct of webbing, the authors explore four practical design principles facilitating the creation of learning environments that can overcome the challenge of introducing learners to computational expression in meaningful contexts and can start learners down the path towards computational literacy. The four design principles discussed are (1) low-threshold interfaces, (2) task-specific tools, (3) visual feedback, and (4) in-context examples. The heart of this chapter presents these features and their design rationales in the context of a qualitative study examining participants' use of RoboBuilder, a blocks-based, program-to-play game.
Article
In the past decade, improvements have been made to the environments used for introductory programming education, including by the introduction of visual programming languages such as Squeak and Scratch. However, migration from these languages to text-based programming languages such as C and Java is still a problem. Hence, using the Open-Blocks framework proposed at the Massachusetts Institute of Technology, we developed a system named BlockEditor, which can translate bidirectionally between Block (the block language used here) and Java. We conducted an empirical study of this system in an introductory programming course taken by approximately 100 university students not majoring in computer science. When students were given opportunities to select the language to solve their programming assignments, we traced their selection by tracking working time with BlockEditor or Java for each individual student. The results illustrate the nature of the seamless migration from Block to Java, and show that there is great diversity in the timing and speed of migration to Java by each individual. Additionally, we found that students with low self-evaluation of their skill chose to use Block at a significantly higher rate than did students with high self-evaluation. This suggests that BlockEditor can act as scaffolding for students by promoting mixed programming between Block and Java in their migration phase.
Article
Computer science (CS) activities for young students are widely used, particularly visual programming environments. We investigated the use of the Scratch environment for teaching CS concepts to middle school students. In a previous article [Meerbaum-Salant et al. 2013], we reported on the extent to which the CS concepts were successfully learned. In this article, we look at the transition from studying CS with the visual Scratch environment in middle school to studying CS with a professional textual programming language (C# or Java) in secondary school. We found that the programming knowledge and experience of students who had learned Scratch greatly facilitated learning the more advanced material in secondary school: less time was needed to learn new topics, there were fewer learning difficulties, and they achieved higher cognitive levels of understanding of most concepts (although at the end of the teaching process, there were no significant differences in achievements compared to students who had not studied Scratch). Furthermore, there was increased enrollment in CS classes, and students were observed to display higher levels of motivation and self-efficacy. This research justifies teaching CS in general and visual programming in particular in middle schools.
Article
Since the computer is more widely used by children, the existing software for children's amusement and study are not able to satisfy their needs any longer. To solve this problem, a kind of graphical programming language for children is proposed in the paper. We analyze the design principles of graphical programming language for children, and implement ten types of common graphical blocks, integrat ing the basic knowledge of object oriented programming. We also provide the function to bridge the gap between graphical and text programming. Additio nally, we designed and developed a graphical programming tool - KidPipe based on Pen Interaction. Finally, a user study is carried out to verify reliability and usability of KidPipe.
Article
This paper discusses the prospects of psychology playing a significant role in the progress of human-computer interaction. In any field, hard science (science that is mathematical or otherwise technical) has a tendency to drive out softer sciences, even if the softer sciences have important contributions to make. It is possible that, as computer science and artificial intelligence contributions to human-computer interaction mature, this could happen to psychology. It is suggested that this trend might be prevented by hardening the applicable psychological science. This approach, however, would be criticized on the grounds that the resulting body of knowledge would be too low level, too limited in scope, too late to affect computer technology, and too difficult to apply. The prospects for ovrcoming each of these obstacles are analyzed here.
Conference Paper
This work analyzes the advantages and disadvantages of using the novice programming environment Alice in the CS0 classroom. We consider both general aspects as well as specifics drawn from the authors' experiences using Alice in the classroom over the course of the last academic year.
Article
Several examples show that principles for the design of usable dialogues are just as important for modern graphical user interfaces as they are for traditional text-based interfaces.
Article
Modern day user experience research methods can now answer a wide range of questions. Knowing when to use each method can be understood by mapping them in 3 key dimensions and across typical product development phases.
Conference Paper
We present an approach to control information flow in object-oriented systems. The decision of whether an informatin flow is permitted or denied depends on both the authorizations specified on the objects and the process by which information is obtained ...
Empowering students with technology
  • November
A. November, Empowering students with technology. Corwin Press, 2009.
Pre-college computer science education: A survey of the field
  • P Blikstein
  • S H Moghadam
P. Blikstein and S. H. Moghadam, "Pre-college computer science education: A survey of the field," Tech. Rep., 2018.
A comparative analysis of coding software for children
  • F Baz
F. Baz, "A comparative analysis of coding software for children," Current Research in Education, vol. 4, no. 1, pp. 36-47, 2018.
10 usability heuristics applied to complex applications
  • Kaplan
K. Kaplan, "10 usability heuristics applied to complex applications," Aug 2021. [Online]. Available: https://www.nngroup.com/articles/ usability-heuristics-complex-applications/