Preliminary Proposal HPCOS02 Student Number

Preliminary Proposal
Student Number: 5093-139-3
University of South Africa
AbstractThere is a renewed interest in teaching computer science and computational thinking concepts to school children. These concepts are important to understand our increasing interconnected environment, affected all disciplines, not necessarily those in computer science. Research has shown that even very young children can learn to understand basic programming fundamentals which allows them to start developing computational thinking skills. A common problem however is to find a way to teach young children at a level appropriate to them while keeping them motivated in the subject. There have been various attempts to create visual programming environments that children can use instead of having to learn to code by writing lines of code. This has proven to be very effective with children showing good signs of motivation and a tendency to want to continue their education in programming. This proposal aims to create a new environment aimed at children even younger than what current environment are aimed at, to begin introducing fundamentals at an even younger age. This environment would lead towards using current environments like Scratch. With these fundamentals in place, children should progress faster through the later environments, allowing them to learn more complicated concepts earlier. It could also help those who would normally struggle at the current pace, by giving them more time to learn. Part of the proposal is also to find a way to keep young girls interested in programming with the aim of them eventually pursuing this interest to take up programming careers when they are older.

Table of Contents
TOC o “1-3” h z u Abstract PAGEREF _Toc514060924 h 2Introduction PAGEREF _Toc514060925 h 4Problem Statement PAGEREF _Toc514060926 h 5Research Question PAGEREF _Toc514060927 h 6Research Sub questions PAGEREF _Toc514060928 h 6Research Objectives PAGEREF _Toc514060929 h 6Literature Review PAGEREF _Toc514060930 h 7ToonTalk™ —An Animated Programming Environment for Children PAGEREF _Toc514060931 h 7The Scratch Programming Language and Environment PAGEREF _Toc514060932 h 7Catroid: A Mobile Visual Programming System for Children PAGEREF _Toc514060933 h 8Enriching Student Learning Programming Through Using Kodu PAGEREF _Toc514060934 h 9Mindstorms 2.0: Children, Programming, and Computational Participation PAGEREF _Toc514060935 h 10Robotics In The Early Childhood Classroom: Learning Outcomes From An 8-week Robotics Curriculum in Pre-Kindergarten Through Second Grade PAGEREF _Toc514060936 h 11Learning Basic Programming Concepts by Creating Games with Scratch Programming Environment PAGEREF _Toc514060937 h 12A New Way of Teaching Programming Skills to K-12 Students: PAGEREF _Toc514060938 h 12Code to learn with Scratch? PAGEREF _Toc514060939 h 13Constructionist Gaming: Understanding the Benefits of Making Games for Learning PAGEREF _Toc514060940 h 13Extending Scratch: New Pathways into Programming PAGEREF _Toc514060941 h 14Kodu Game Lab: A Programming Environment PAGEREF _Toc514060942 h 15Developing Fundamental Programming Concepts and Computational Thinking with ScratchJr in PreSchool Education: A Case Study PAGEREF _Toc514060943 h 16Evaluating children performance with graphical and tangible robot programming tools PAGEREF _Toc514060944 h 17Learning Programming from Tutorials and Code Puzzles: Children’s Perceptions of Value PAGEREF _Toc514060945 h 17Scratch: Programming for All PAGEREF _Toc514060946 h 18Empowering Children to Rapidly Author Games and Animations Without Writing Code PAGEREF _Toc514060947 h 19Children Use Non-Verbal Cues to Learn New Words from Robots as well as People PAGEREF _Toc514060948 h 19A Comparison of Preschool and Elementary School Children Learning Computer Science Concepts through a Multilanguage Robot Programming Platform PAGEREF _Toc514060949 h 20References PAGEREF _Toc514060950 h 22

IntroductionOur modern society relies heavily on software to run the various digital systems that control many of the things around us. Even in countries with high unemployment rates, in digital industries, there is still often a high demand for skilled engineers and technicians ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “ISSN” : “1938-7857”, “abstract” : “Current software-driven Society demands skilled professionals for ICT (Information and Communication Technologies) business sector. A very common situation in countries with a high rate of unemployment is they have unfilled positions for engineers and technicians for the industry and digital services. This has caused an increasing approach for introduce digital or information technology (IT) literacy from the early beginning of the individual development till the high school courses (Allan, Barr, Brylow, & Hambrusch, 2010), even in post-secondary institutions (Astrachan, Hambrusch, Peckham, & Settle, 2009), combining it with other key competences such as reading, writing and math skills.”, “author” : { “dropping-particle” : “”, “family” : “Garcia-Peu00f1alvo”, “given” : “Francisco Josu00e9”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Journal of Information Technology Research”, “id” : “ITEM-1”, “issue” : “3”, “issued” : { “date-parts” : “2016” }, “page” : “5-8”, “title” : “What Computational Thinking Is”, “type” : “article-journal”, “volume” : “9” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Garcia-Peu00f1alvo, 2016)”, “plainTextFormattedCitation” : “(Garcia-Peu00f1alvo, 2016)”, “previouslyFormattedCitation” : “(Garcia-Peu00f1alvo, 2016)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Garcia-Peñalvo, 2016). In order to fill this need, students need the required skills and motivation to pursue studies in the ICT sector. Ideally this should be fostered from a young age so that the necessary fundamentals and enthusiasm are in place by the time they grow up to be students and start to pursue their studies.

If possible, children from a young age should be exposed to programming and computer science concepts so as to develop computational thinking (CT) skills early on in their education careers. These skills teach learners to be creative, reflective and how to collaborate with one another to solve complex problems ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1145/2955114”, “ISBN” : “00010782”, “ISSN” : “00010782”, “PMID” : “117173587”, “abstract” : “The author offers an argument that computational thinking should be understood as computational participation in K-12 education. Topics include the nature of student interest in computer programming, the creation of applications in a communal context by students, and the need for broader participation in computer science education by K-12 students.”, “author” : { “dropping-particle” : “”, “family” : “Kafai”, “given” : “Yasmin B.”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Communications of the ACM”, “id” : “ITEM-1”, “issue” : “8”, “issued” : { “date-parts” : “2016” }, “page” : “26-27”, “title” : “From computational thinking to computational participation in K–12 education”, “type” : “article-journal”, “volume” : “59” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Kafai, 2016)”, “plainTextFormattedCitation” : “(Kafai, 2016)”, “previouslyFormattedCitation” : “(Kafai, 2016)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Kafai, 2016). It is exactly the type of skills required for careers in computer science and engineering. In these disciplines it is important to know how various technologies and systems work together to create specific outcomes, and how to combine different technologies to create new outcomes that may be required in the future.

Computational thinking is not only beneficial for those who will one day pursue a career in computer science and engineering, but also to other subjects. Disciplines such as medicine, finance and social sciences are embracing computational thinking concepts and incorporate digital technology into their work ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.17471/2499-4324/922”, “ISSN” : “1970-061X”, “abstract” : “Computer science has produced, at an astonishing and breathtaking pace, amazing technology that has transformed our lives with profound economic and societal impact. In the course of the past ten years, we have come to realize that computer science offers not just useful software and hardware artifacts, but also an intellectual framework for thinking, what I call u201ccomputational thinkingu201d. Everyone can benefit from thinking computationally. My grand vision is that computational thinking will be a fundamental skillu2014just like reading, writing, and arithmeticu2014used by everyone by the middle of the 21st Century.”, “author” : { “dropping-particle” : “”, “family” : “Wing”, “given” : “Jeannette”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Wing”, “given” : “Jeannette M.”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Italian Journal of Educational Technology”, “id” : “ITEM-1”, “issue” : “2”, “issued” : { “date-parts” : “2017” }, “page” : “7-14”, “title” : “Computational thinkingu2019s influence on research and education for all”, “type” : “article-journal”, “volume” : “25” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Wing and Wing, 2017)”, “plainTextFormattedCitation” : “(Wing and Wing, 2017)”, “previouslyFormattedCitation” : “(J. Wing & Wing, 2017)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Wing and Wing, 2017). As this becomes more common place, having these skills will be mandatory in these disciplines as well.

By being exposed to programming at a young age, children can begin to develop the skills they will need later. This learning can also improve their abilities in programming subjects during later years when they move on from visual programming languages to text based languages such as Java, C# or C++ ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1145/2677087”, “ISBN” : “1946-6226”, “ISSN” : “19466226”, “abstract” : “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.”, “author” : { “dropping-particle” : “”, “family” : “Armoni”, “given” : “Michal”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Meerbaum-Salant”, “given” : “Orni”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Ben-Ari”, “given” : “Mordechai”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “ACM Transactions on Computing Education”, “id” : “ITEM-1”, “issue” : “4”, “issued” : { “date-parts” : “2015” }, “page” : “1-15”, “title” : “From Scratch to u201cRealu201d Programming”, “type” : “article-journal”, “volume” : “14” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Armoni, Meerbaum-Salant and Ben-Ari, 2015)”, “plainTextFormattedCitation” : “(Armoni, Meerbaum-Salant and Ben-Ari, 2015)”, “previouslyFormattedCitation” : “(Armoni, Meerbaum-Salant, & Ben-Ari, 2015)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Armoni, Meerbaum-Salant and Ben-Ari, 2015).

There is also growing concern about the number of females compared to males who take up computer science careers. Research indicates that most females make the decision about whether to, or not to take up a computer science related career before they enter tertiary education ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1145/2729094.2742611”, “ISBN” : “9781450334402”, “ISSN” : “1942647X”, “abstract” : “Increasing women’s participation in computer science is a critical workforce and equity concern. The technology industry has committed to reversing negative trends for women in computer science as well as engineering and information technology ” computing ” fields. Building on previously published research, this paper identifies factors that influence young women’s decisions to pursue computer science-related degrees and the ways in which these factors differ for young men. It is based on a survey of 1,739 high school students and recent college graduates. Results identified encouragement and exposure as the leading factors influencing this critical choice for women, while the influence of these factors is different for men. In particular, the influence of family is found to play a critical role in encouragement and exposure, and outreach efforts should focus on ways to engage parents.”, “author” : { “dropping-particle” : “”, “family” : “Wang”, “given” : “Jennifer”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Hong”, “given” : “Hai”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Ravitz”, “given” : “Jason”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Ivory”, “given” : “Marielena”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education – ITiCSE ’15”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2015” }, “page” : “117-122”, “title” : “Gender Differences in Factors Influencing Pursuit of Computer Science and Related Fields”, “type” : “article-journal” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Wang <i>et al.</i>, 2015)”, “plainTextFormattedCitation” : “(Wang et al., 2015)”, “previouslyFormattedCitation” : “(Wang, Hong, Ravitz, & Ivory, 2015)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Wang et al., 2015). If girls can be exposed to computer science and a young age, a love for it may be nurtured and this could possibly lead to more of them starting careers in it once they are older.

Problem StatementAs digital technology is being incorporated into more of the world around us, the need for skilled professionals who are able to both create and use this technology increases ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “author” : { “dropping-particle” : “”, “family” : “Larson”, “given” : “Richard C”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “id” : “ITEM-1”, “issue” : “October”, “issued” : { “date-parts” : “2014” }, “title” : “ESD Working Paper Series STEM Crisis or STEM Surplus ? Yes and Yes ESD-WP-2014-30”, “type” : “article-journal” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Larson, 2014)”, “plainTextFormattedCitation” : “(Larson, 2014)”, “previouslyFormattedCitation” : “(Larson, 2014)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Larson, 2014). This is applicable for many industries and careers, but especially for those that have STEM (Science, Technology, Engineering and Mathematics) fundamentals. As the demand for these careers grow, so do the salaries, especially for highly skilled positions. Unfortunately, there is a perception that computer science, and specifically programming is difficult ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1145/1272848.1272879”, “ISBN” : “0097-8418”, “ISSN” : “00978418”, “abstract” : “It is a common conception that CS1 is a very difficult course and that failure rates are high. However, until now there has only been anecdotal evidence for this claim. This article reports on a survey among institutions around the world regarding failure rates in introductory programming courses. The article describes the design of the survey and the results. The number of institutions answering the call for data was unfortunately rather low, so it is difficult to make firm conclusions. It is our hope that this article can be the starting point for a systematic collection of data in order to find solid proof of the actual failure and pass rates of CS1.”, “author” : { “dropping-particle” : “”, “family” : “Bennedsen”, “given” : “Jens”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Caspersen”, “given” : “Michael E.”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “ACM SIGCSE Bulletin”, “id” : “ITEM-1”, “issue” : “2”, “issued” : { “date-parts” : “2007” }, “page” : “32”, “title” : “Failure rates in introductory programming”, “type” : “article-journal”, “volume” : “39” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Bennedsen and Caspersen, 2007)”, “plainTextFormattedCitation” : “(Bennedsen and Caspersen, 2007)”, “previouslyFormattedCitation” : “(Bennedsen & Caspersen, 2007)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Bennedsen and Caspersen, 2007). This can put off potentially good candidates from studying it and hence pursuing a career in it..There is evidence that exposing student to these fundamentals can begin to nurture their understanding from a young age, giving them a good foundation on which to expand as they grow older ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1109/DIGITEL.2007.24”, “ISBN” : “0769528015”, “ISSN” : “11763647”, “abstract” : “This experimental study investigated whether computer-based video games facilitate children{\textquoteright}s cognitive learning. In comparison to traditional computer-assisted instruction (CAI), this study explored the impact of the varied types of instructional delivery strategies on children{\textquoteright}s learning achievement. One major research null hypothesis was tested: there are no statistically significant differences in students{\textquoteright} achievement when they receive two different instructional treatments: (1) traditional CAI; and (2) a computer-based video game. One hundred and eight third-graders from a middle/high socio-economic standard school district in Taiwan participated in the study. Results indicate that computer-based video game playing not only improves participants{\textquoteright} fact/recall processes (F = 5.288, p < .05), but also promotes problem-solving skills by recognizing multiple solutions for problems (F = 5.656, p < .05).”, “author” : { “dropping-particle” : “”, “family” : “Chuang”, “given” : “Tsung Yen”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Chen”, “given” : “Wei Fan”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Educational Technology and Society”, “id” : “ITEM-1”, “issue” : “2”, “issued” : { “date-parts” : “2009” }, “page” : “1-10”, “title” : “Effect of computer-based video games on children: An experimental study”, “type” : “article-journal”, “volume” : “12” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Chuang and Chen, 2009)”, “plainTextFormattedCitation” : “(Chuang and Chen, 2009)”, “previouslyFormattedCitation” : “(Chuang & Chen, 2009)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Chuang and Chen, 2009). This could also help to make them aware that computer science and programming is not that difficult. Children seem to respond better to video games and animation, and some can’t read, yet they are able to follow along with animations that they watch. Using this information, a visual means of education needs to be created. It needs to be easy to use so that children do not grow easily frustrated or lose their motivation, but also powerful enough so that they have room to experiment, grow their knowledge and use their creativity. Even if these children don’t move on into STEM careers, the experience will improve their computational thinking which will improve their problem solving ability ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1098/rsta.2008.0118”, “ISBN” : “9781605581835”, “ISSN” : “1364-503X”, “PMID” : “18672462”, “abstract” : “Computational thinking will influence everyone in every field of endeavour. This vision poses a new educational challenge for our society, especially for our children. In thinking about computing, we need to be attuned to the three drivers of our field: science, technology and society. Accelerating technological advances and monumental societal demands force us to revisit the most basic scientific questions of computing.”, “author” : { “dropping-particle” : “”, “family” : “Wing”, “given” : “J. M”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences”, “id” : “ITEM-1”, “issue” : “1881”, “issued” : { “date-parts” : “2008” }, “page” : “3717-3725”, “title” : “Computational thinking and thinking about computing”, “type” : “article-journal”, “volume” : “366” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Wing, 2008)”, “plainTextFormattedCitation” : “(Wing, 2008)”, “previouslyFormattedCitation” : “(J. M. Wing, 2008)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Wing, 2008) – a skill that is applicable to many other learning domains as well.

The characteristics that underlie how a computer science course is delivered has an effect on the amount of female students that continue their studies on it ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “author” : { “dropping-particle” : “”, “family” : “Cohoon”, “given” : “J McGrath”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Communications of the ACM”, “id” : “ITEM-1”, “issue” : “5”, “issued” : { “date-parts” : “2001” }, “title” : “Toward Improving the Computer”, “type” : “article-journal”, “volume” : “44” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Cohoon, 2001)”, “plainTextFormattedCitation” : “(Cohoon, 2001)”, “previouslyFormattedCitation” : “(Cohoon, 2001)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Cohoon, 2001). There is also an underrepresentation of females in STEM disciplines and careers such as those in engineering and computer science. If the learning programs in these disciplines can be improved to ensure more females are motivated to take up and remain with their studies in these disciplines, this will help to alleviate the demand for skilled professionals in these areas and well as reduce the ratio of males to females in it. As part of looking at how to expose children to STEM, and in particular computer science, emphasis must also be put on catering to young girls. This will hopefully lead to more of them taking up STEM careers once they are grown up.

Research QuestionCan young children who cannot yet read or write be taught to understand basic computer science and STEM concepts through a visual programming environment?
Research Sub questionsCan young children enjoy and hence, stay motivated when learning about computer science?
Is there a difference in the natural abilities towards computer science between young boys and girls?
Can computer science education be used to improve learning in other non-computer subjects as well?
Research ObjectivesDevelop a visual programming environment that teaches computer science fundamentals that caters to level of children at preschool level who cannot yet read nor write.

Identify issues that young children face when learning about computer science concepts.

Make computer science more interesting for all children, but especially girls so that more of them are likely to consider careers in it.

Improve other non-computer science skills through the visual programming environment.

Literature ReviewToonTalk™ —An Animated Programming Environment for ChildrenProgramming generally requires understanding complex mathematical concepts that makes it difficult and somewhat boring for children (and even adults) to grasp. The paper discusses a programming environment called ToonTalk™ that can be used without first having to learn it yet still remaining very capable. The idea was to make the environment explorative and intuitive so that users could figure out how to use the system through exploring and being creative. As many children figure out how to play video games by exploring and being creative, many video game concepts were used in the design of ToonTalk™. Even though the learning curve of ToonTalk™ is meant to be small, the environment is also designed to be a powerful one. To achieve this, various analogies were used to bridge the gap between computer science concepts and concepts that are understandable to children. An example of this is using birds that carry messages to nests to implement First-In, First-Out (FIFO) message queues. The programming environment expands upon the idea of visual programming languages by using animations instead of static images to represent programs. The programming environment makes use of video game animation where the user can control an avatar which can integrate with the surrounding world to perform various programming functions. This surrounding world or “environment” in which the user’s avatar lives is designed in such a way so as to facilitate the development of software programs where an entire “city” is a collection of interacting program parts. The challenge of making a programming environment in this way was partly solved by adopting a concurrent constraint programming model as the foundation of ToonTalk™. The reasoning was that these languages can be powerful even if they are smaller compared to more conventional languages. This concurrent model also translates nicely to the real world which is concurrent, and what the animations within the city represent. Sessions where ToonTalk™ was used by children over an hour indicated that the children were kept entertained. They especially liked playing with the various objects in the environment, or “world”, even if they did not necessarily create anything useful. It was also observed that children are able to learn the basics of how to use objects within ToonTalk™, but that they needed guidance on what to do next with them.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1006/jvlc.1996.0011”, “ISBN” : “1045-926X”, “ISSN” : “1045-926X”, “abstract” : “Seymour Papert once described the design of the Logo programming language as taking the best ideas in computer science about programming language design and ‘child engineering’ them. Twenty-five years after Logo’s birth, there has been tremendous progress in programming language research and in computer-human interfaces. Programming languages exist now that are very expressive and mathematically very elegant and yet are difficult to learn and master. We believe the time is now ripe to attempt to repeat the success of the designers of Logo by child engineering one of these modern languages. When Logo was first built, a critical aspect was taking the computational constructs of the Lisp programming language and designing a child friendly syntax for them. Lisp’s ‘CAR’ was replaced by ‘FIRST’, ‘DEFUN’ by ‘TO’, parentheses were eliminated, and so on. Today there are totally visual languages in which programs exist as pictures and not as text. We believe this is a step in the right direction, but even better than visual programs are animated programs Animation is much better suited for dealing with the dynamics of computer programs than static icons or diagrams. While there has been substantial progress in graphical user interfaces in the last twenty-five years, we chose to look not primarily at the desktop metaphor for ideas but instead at video games. Video games are typically more direct, more concrete, and easier to learn than other software. And more fun too. We have constructed a general-purpose concurrent programming system, ToonTalk, in which the source code is animated and the programming environment is a video game. Every abstract computational aspect is mapped into a concrete metaphor. For example, a computation is a city, an active object or agent is a house, birds carry messages between houses, a method or clause is a robot trained by the user and so on. The programmer controls a ‘programmer persona’ in this video world to construct, run, debug and modify programs. We believe that ToonTalk is especially well suited for giving children the opportunity to build real programs in a manner that is easy to learn and fun to do. (C) 1996 Academic Press Limited”, “author” : { “dropping-particle” : “”, “family” : “Kahn”, “given” : “K”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Journal of Visual Languages & Computing”, “id” : “ITEM-1”, “issue” : “2”, “issued” : { “date-parts” : “1996” }, “page” : “197-217”, “title” : “ToonTalk TMu2014An Animated Programming Environment for Children”, “type” : “article-journal”, “volume” : “7” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Kahn, 1996)”, “plainTextFormattedCitation” : “(Kahn, 1996)”, “previouslyFormattedCitation” : “(Kahn, 1996)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Kahn, 1996)
The Scratch Programming Language and EnvironmentScratch is a visual programming environment that can be used to make visualizations and computer games by creating scripts through the assembly of various blocks that represent various programming constructs. The language was designed for children between the ages of 8 and 16 years who don’t have any previous programming experience. Ease-of-use has a large influence in Scratch’s design. This resulted in a design where everything occurs within a single window and users can test out commands or see what commands other have used in their programs. Another characteristic of Scratch is that the programs are always “live”. A user can click on a script at any time to see what it is doing and can even make modifications while it is running. Various scripts can also run independently at the same time. There are also no error messages – each command, or “block” tries to do something when provided with input that is incorrect. Scratch also makes use of as few commands as possible to keep things simple, but as the language has progressed, more commands have been added. In an effort to keep the language simple, some commands have been condensed into one, whereas other only appear if they are applicable to the current context of the program being written.

The blocks that make up the language are snapped together to create program statements, control structures as well as to express logic. The blocks are designed so that they can only fit together in a way that makes sense. This allows users to drag and drop blocks together, and blocks that should not fit, will not. Scratch consists of four main block types:
Command blocks which are similar to statements in text-based programming languages. They can be connected to other command blocks in a sequence which is known as a “stack”.

Function blocks can return a value but cannot be joined together in sequence as the command blocks can.

A trigger block is used to connect events that occur to stacks of command blocks. When the event occurs, the command block stack executes.

Control structure command blocks are a special type of command block that contain logic that evaluates whether the command block stack within in will run.

As Scratch aims to be simple for children to grasp, it also only has a small number of variable types, namely Boolean, number and string. Scratch will also automatically convert between variable types if possible. The language also makes use of objects in a very basic sense. The various blocks are applied to sprites which act as objects that can contain variables and scripts, although these sprites cannot be inherited from. This makes Scratch and object-based language, but not an object-oriented one. Sprites can also not call on one another directly but can communicate through a one-to-many broadcast system. This helps to ensure loose coupling between the sprites. Scratch does not currently support procedures. Work was started to implement them, but it was found that they complicated the language too much, although there is still other research ongoing to aims to include them in the language. Multithreading is allowed i.e. sprites can run at the same time, but thread switching is tightly controlled to reduce the consideration that users need to give to the side-effects resulting from multi-threaded programs.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1145/1868358.1868363.http”, “ISBN” : “9781450309196”, “ISSN” : “1946-6226”, “abstract” : “Scratch is a visual programming environment that allows users (primarily ages 8 to 16) to learn computer programming while working on personally meaningful projects such as animated stories and games. A key design goal of Scratch is to support self-directed learning through tinkering and collaboration with peers. This article explores how the Scratch programming language and environment support this goal.”, “author” : { “dropping-particle” : “”, “family” : “Maloney”, “given” : “John”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Resnick”, “given” : “Mitchel”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Rusk”, “given” : “Natalie”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “ACM Transactions on Computing Education”, “id” : “ITEM-1”, “issue” : “4”, “issued” : { “date-parts” : “2010” }, “page” : “1-15”, “title” : “The Scratch programming language and environment”, “type” : “article-journal”, “volume” : “10” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Maloney, Resnick and Rusk, 2010)”, “plainTextFormattedCitation” : “(Maloney, Resnick and Rusk, 2010)”, “previouslyFormattedCitation” : “(Maloney, Resnick, & Rusk, 2010)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Maloney, Resnick and Rusk, 2010)
Catroid: A Mobile Visual Programming System for ChildrenThe worldwide demand for software developers is increasing due to more work in this field becoming in demand combined with a declining or even stagnating number of students in the field. The situation is even worse when looking only at females compared to males. This is unfortunate as skills in software development also improve other areas that require rational thinking and problem solving.

Catroid is a visual programming environment designed to run on Android phones or tablets. The language consists of using graphical elements to create a program instead of the textual elements of traditional languages. This makes the language more inviting and entertaining for children. The visual nature of the language does not necessarily mean that it is easy, but with enough motivation and the correct guidance, a visual programming language can help children to become exposed to and enjoying programming.

Similar to Scratch, which inspired Catroid, programs are written by putting various blocks together. Catroid’s main differential feature is that it runs on Android phones or tablets, which are mobile devices, unlike Scratch which is used on a desktop or laptop computer. More children use mobile devices than computers, and these children often teach themselves how to play games on these devices without any help from adults. As Catroid was designed for mobile devices from the start it makes optimal use of their screen size and shape as well as allowing users to make their programs interact with the various sensors found on the mobile device they are running on. Catroid can also be used to control other devices such as Parrot’s AR.Drone quadcopter.

Catroid is not as fully developed as Scratch, and as of March 2012 was not a full programming language, although work was planned to extend it. A community website also exists (as it does with Scratch) where users can upload and share projects they have created. This aim is to allow users to download projects created by others so that they can learn from them, as well as extend them or integrate them into their own projects. In order to make Catroid as widely available as possible, the Catroid website and mobile application are being translated into many languages and they are crowdsourcing the localisation and internationalisation of other languages as well.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1145/2307096.2307151”, “ISBN” : “9781450310079”, “abstract” : “Catroid is a free and open source visual programming language, programming environment, image manipulation program, and website. Catroid allows casual and first-time users starting from age eight to develop their own animations and games solely using their Android phones or tablets. Catroid also allows to wirelessly control external hardware such as Lego Mindstorms robots via Bluetooth, Bluetooth Arduino boards, as well as Parrot’s popular and inexpensive AR. Drone quadcopters via WiFi. u00a9 2012 Author.”, “author” : { “dropping-particle” : “”, “family” : “Slany”, “given” : “Wolfgang”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Proceedings of the 11th International Conference on Interaction Design and Children – IDC ’12”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2012” }, “page” : “300-303”, “title” : “Catroid: a mobile visual programming system for children”, “type” : “article-journal” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Slany, 2012)”, “plainTextFormattedCitation” : “(Slany, 2012)”, “previouslyFormattedCitation” : “(Slany, 2012)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Slany, 2012)
Enriching Student Learning Programming Through Using KoduThis is an explorative study on both student and teacher perceptions when using a 3D environment for programming. The study collected data from three countries: US, the UK and New Zealand. Students often struggle with introductory programming courses because of the various skills and discipline required. This results in a lack of motivation in these students to carry on with programming related courses. Newer object-based programming environments that are designed for teaching allow students to create programs by drawing instead of writing code, potentially reducing the learning curve for new students and improving their learning experience. These programming environments allow students to create computer games that challenge themselves deeply, critically and creatively while staying motivated which can increase the time they spend on learning. In this study, students who were currently being taught introductory programming using conventional text-based languages were also given the chance to learn programming in a 3D environment using the Kodu Game Lab.

Although this is not a new concept, in recent years there has been a revived interest in using video games as a teaching aid. Their use has however become cheaper and easier. Students are also a lot more exposed to video games and generally are comfortable interacting with them. Video game technology is used in a wide array of fields to teach things that would be too difficult or expensive to undertake in real life e.g. using Microsoft Flight Simulator to teach the systems of an aircraft without flying it in real life. Using video game technology can also make the learning process fun while providing a challenge. There are some risks with using video game technology for learning as some students may be distracted and just want to “play” the games and not “learn” from them. Students might also struggle to get back into the normal classroom routine after having spent time in the video game-based lesson. In the study, which used Kodu by Microsoft®, students were highly engaged and able to learn basic programming fundamentals with enthusiasm and enjoyment.

Students in this study were questioned before it began to obtain demographic data as well as information on their perceptions. Students were also observed, and teachers gave input for how external factors may have affected the observations. Students were also able to reflect on how they thought they performed on various criteria. At the end of the study the students were asked to take part in a concluding survey where the same questions were asked from the beginning of the study so as to see if there were any changes in their perceptions.

Students from New Zealand seemed to find the lessons highly enjoyable with low levels of frustration and boredom. In the USA, similar sentiments were obtained, as well as a 20% increase in students who agreed with a statement, “I would like to be a computer programmer someday”. Again, in the UK, students found the lessons enjoyable, although it was also observed that prior exposure to video games did not affect the level of enjoyment.

Video game making tools appear to be productive and fun learning environments for students to become exposed to programming. They also provide students with opportunities to improve their problem solving and creative thinking skills, although this does not necessarily mean that students will want to pursue a career in computer science. While most students did react positively to the use of game programming, there were some students who were not as satisfied.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “abstract” : “Motivating students to learn programming in everyday classroom contexts is a challenging task for teachers. The release of 3D programming tools has potential to engage students in learning and to address motivational issues for mainstream students in class. In this exploratory study that questioned student and teacher perceptions of learning while using a 3D environment it was observed that there was a residual of resistance to learning but that a significant percentage of students were motivated by the experience. Data was collected in an International study from the US, the UK and New Zealand. Microsoft Kodu Game Lab was used in the study because it was 3D, a free download and compatible with the trial school networks. Through presenting the lessons as a part of the everyday school program, the novelty factor was controlled and an attempt to change the core system curriculum delivery made. The exploratory studies found that on-task behaviours increased and frustration and boredom were reduced.”, “author” : { “dropping-particle” : “”, “family” : “Fowler”, “given” : “Allan”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Proceedings of the 25th Annual Conference of the National Advisory Committee on Computing Qualifications”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2012” }, “page” : “33-39”, “title” : “Enriching student learning programming through using Kodu”, “type” : “article-journal” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Fowler, 2012)”, “plainTextFormattedCitation” : “(Fowler, 2012)”, “previouslyFormattedCitation” : “(Fowler, 2012)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Fowler, 2012)
Mindstorms 2.0: Children, Programming, and Computational ParticipationMore than thirty years ago, computers were proposed as something that children could use for learning while allowing them to express themselves creatively. The Logo programming language was also created to introduce these learners to mathematics and create a social network of programming learners. Unfortunately, in the 90’s, schools started to reduce the effort that they spent on teaching programming and instead focused their IT education on teaching students how to use the Internet, without really understanding how it works. This is starting to change, and programming is now starting to become part of the curriculum at all levels of school education. This is important as computers and digital technology and becoming a part of many things in our daily lives.

This paper argues that the social aspects of programming are important to move computational thinking beyond only problem solving. If programming is treated as a social effort then places where programming is taught, such as schools, also become places of sharing and collaboration. It can be difficult to foster this environment in a school setting which tends to value individual achievement over group achievement.

Even though much research went into developing early programming courses for school children, these courses were still met with criticism about how the content in these courses could be applied to other subjects and how programming tended to be a separate activity in the computer lab compared to other classes that the children attended. Modern courses have evolved from teaching students only programming constructs and algorithms, to learning how to make actual applications. These applications may be games or stories that allow students to use and incorporate existing knowledge from other subjects as well as to expand their knowledge through creative thinking and problem solving. Younger children who are being exposed to programming, are choosing languages based on what their friends are using and how they can best share their creations to get the most exposure. Using and modifying existing code is an excellent way to learn programming as well as to socialise with others at the same time. Unfortunately, this practise is still largely looked down upon by schools as it is seeing as copying. Programming also does not have to be limited to creating objects on a screen, but to control objects in real life.

The above paragraph shows many new directions that programming education is headed into, and these things can be used to bring programming back into school education curriculums successfully. There are however still those that believe this will be a failure as it was thirty years ago. Modern programming tools for children can be used for creative expression, but usage of these tools needs to be fostered by schools. Currently computer courses are still attended in a computer lab with a curriculum that doesn’t consider other subjects in the school. Fostering a social atmosphere is also important to get children to enjoy being creating and sharing projects, but unfortunately schools still favour individual achievement over group achievement. Another very important factor in the success of programming courses for children is having a qualified educator to lead the course. These educators need to know that the course is not only about maths and science but be able to relate programming exercise to other subjects as well. They should also facilitate the collaboration of students with one another.

In the modern world we need to know not only just how to use digital systems, but also understand how they work. While not everyone will become a software developer, having a basic understanding of how software works will provide immense benefits during life.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “abstract” : “This conceptual paper argues that recent developments in K-12 programming education signal a new agenda in which learning to code has shifted from being a predominantly individualistic approach to one that is decidedly culturally grounded in the social creation and sharing of digital media. While this approach toward computing was long-advocated by Seymour Papertu2014most famously in his book Mindstormsu2014this paper posits that his vision is at last coming into fruition with the plethora of coding communities and making activities that are increasingly garnering more youth into the potential of code as a unique tool to make and share digitally. These developments connect to current call for computational thinking but re-frame it as computational participation to leverage social connectivity inherent in the digital world of the 21st century. Drawing from extensive examples of our and othersu2019 research, this paper highlight four dimensions of computational participation: (1) from writing code to creating applications, (2) from composing from scratch to remixing othersu2019 work, (3) from designing tools to facilitating communities, and last, (4) from screen to tangibles. Discussion turns to how communities, schools, and educators can help broadening computational participation.”, “author” : { “dropping-particle” : “”, “family” : “Kafai”, “given” : “Yasmin B.”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Burke”, “given” : “Quinn”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “id” : “ITEM-1”, “issued” : { “date-parts” : “2014” }, “page” : “1-10”, “title” : “Mindstorms 2.0 Children, Programming and Computational Participation”, “type” : “article” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Kafai and Burke, 2014)”, “plainTextFormattedCitation” : “(Kafai and Burke, 2014)”, “previouslyFormattedCitation” : “(Kafai & Burke, 2014)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Kafai and Burke, 2014)
Robotics In The Early Childhood Classroom: Learning Outcomes From An 8-week Robotics Curriculum in Pre-Kindergarten Through Second GradeDuring the 5 years preceding this research, more attention has been given to incorporating Technology and Engineering (The T and E in STEM) in education for children. Benefits are reported to include increased fine motor and social development. There are however not many frameworks that specify how they should be incorporated, although notably, the United Kingdom has implemented such a framework. Where it has been implemented, it tends to focus on the natural world with little attention paid to man-made things or how digital technology can be integrated into mechanical objects.

Research indicates that children are able to program simple robotic systems and those that are exposed to them, find it easier to work in technical fields while also having fewer gender bias’s within them. Learning robotics can also improve other skills such as language and mathematical skills, while developing fine motor skills, hand-eye coordination and social skills. Even though research shows the advantages of robotics for children, there are not many sets available for children in the pre-kindergarten through secondary grade level. This lack of robotic sets led to the creation of the KIWI prototype robotic set. After research and feedback was obtained, KIWI was modified so that it does not need to interface with a computer system, but instead works with connected wooden blocks that have barcodes on them. The barcodes could be scanned, and this provided instructions to the KIWI robot.

The research conducted a study where children of various grades were exposed to KIWI and given some tasks to complete as well as questions to answer. In general, all the grades were very successful in mastering basic programming and robotic concepts, with certain aspects improving more as the age of participants increased. In general, children were quite good at identifying the various sensors on the robot, although some may have gotten confused between the light emitting and light detecting sensor. While the children were very successful with programming related tasks, some did make syntax errors or misunderstand what they were supposed to accomplish. The younger children also struggled with programming tasks when the sequence of instructions started to get longer, which could be due to their working memory being more limited than the older children. The younger children also progressed slower through the curriculum than the older children and required more adult assistance with the building and programming tasks.

The younger children worked at a slower pace than the older children and they did not manage to get to some of the more advanced tasks. It is therefore not conclusive whether these younger children would have been able to master the more advanced tasks if they were given enough time. The study was also conducted by research assistants who were responsible for teaching the students. More research needs to be done on the effectiveness of normal teachers in the same situation. Nevertheless, the study still proves that a robotics set designed for educating young children can have positive results.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1007/s10798-015-9304-5”, “ISBN” : “0957-7572”, “ISSN” : “15731804”, “abstract” : “In recent years there has been an increasing focus on the missing u201cTu201d of technology and u201cEu201d of engineering in early childhood STEM (science, technology, engineering, mathematics) curricula. Robotics offers a playful and tangible way for children to engage with both T and E concepts during their foundational early childhood years. This study looks at Nu00a0=u00a060 children in pre-kindergarten through second grade who completed an 8-week robotics curriculum in their classrooms using the KIWI robotics kit combined with a tangible programming language. Children were assessed on their knowledge of foundational robotics and programming concepts upon completion of the curriculum. Results show that beginning in pre-kindergarten, children were able to master basic robotics and programming skills, while the older children were able to master increasingly complex concepts using the same robotics kit in the same amount of time. Implications for developmentally appropriate design of technology, as well as structure and pace of robotics curricula for young children are addressed.”, “author” : { “dropping-particle” : “”, “family” : “Sullivan”, “given” : “Amanda”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Bers”, “given” : “Marina Umaschi”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “International Journal of Technology and Design Education”, “id” : “ITEM-1”, “issue” : “1”, “issued” : { “date-parts” : “2016” }, “page” : “3-20”, “title” : “Robotics in the early childhood classroom: learning outcomes from an 8-week robotics curriculum in pre-kindergarten through second grade”, “type” : “article-journal”, “volume” : “26” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Sullivan and Bers, 2016)”, “plainTextFormattedCitation” : “(Sullivan and Bers, 2016)”, “previouslyFormattedCitation” : “(Sullivan & Bers, 2016)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Sullivan and Bers, 2016)
Learning Basic Programming Concepts by Creating Games with Scratch Programming EnvironmentThe study focuses on the teaching of programming to high school students in Morocco. It identifies the current difficulty that students have in understanding basic programming concepts. This may be due to poor teaching methodologies where there is not much interaction with students and also where they may have a low interest in the topic. This lack of interest is due to the opinion that programming is boring with too many rules and concepts that need to be understood. A proposed solution is to use video games to improve student motivation while still allowing them to learn important programming concepts. The aim of this research was to ascertain whether the use of a video game-like environment would improve the motivation of first year science major high school students for programming.

The Scratch programming environment was chosen as programs can be put together by assembling blocks that can only fit together in certain ways, thereby avoiding common syntax errors and logic problems. Scratch allows students to created stories, cartoons, games, musical compositions and numerical simulations that can be shared with others, adding a social aspect to programming. Two control groups were taught programming concepts using the Pascal programming language. At the end of the algorithms and programming module, questionnaires were distributed to students to answer.

Of all the participants, 95% had no previous programming experience, and the other 5% had only limited experience and exposure to basic concepts. 85% of students using the Scratch environment installed it on their personal computers at home and only 15% found in boring. This is interesting as 79.3% of those in the control group found their programming environment boring and monotonous. The group using Scratch were also enthusiastic about both their own work as well as that of their class mates, whereas the students in the control groups generally worked in isolation. And to answer the research question, 65% of those in Scratch group said they would consider continuing their studied in programming, while only 10.3% of those in the control groups said they would do so.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1016/j.sbspro.2015.04.224”, “ISSN” : “18770428”, “abstract” : “A number of researchers have documented several difficulties faced by learners of basic programming concepts. Among the suggested pedagogical solutions to overcome these difficulties is the use of serious games inthe learning process. In fact, these games are more likely to boost the motivation of students and allow them to develop their knowledge efficiently. Our studyfocuses on evaluating such usage and the resulting studentsu2019 motivation towards programming. Weu2019ve made students create simple games using the Scratch game environment in order for them to learn programming basics. The experiment was conducted with a group of 69 high school science major students. This group of students was arbitrarily chosen and divided into three sub-groups. With the first sub-groupwe experimented with our pedagogical method based on the creation of simple games using Scratch environment. With the other sub-groups we used a conventional method based on Pascal programming language. Twosurveys were distributed at the beginning and at the end of the experimentation in order to identify the programming level of students, their gaming habits, their motivation and interest for programming in the future. The analysis of the surveysshows that using an environment for learning programming such as Scratch highly motivate students and empower them to pursue their studies in programming. In fact, when learners were asked about their desire to continue their studies in programming, 65% of students who have experienced with Scratch environment consider continuing their studies in programming whereas only 10.3% of students who used a standard programming environment showed some interest.”, “author” : { “dropping-particle” : “”, “family” : “Ouahbi”, “given” : “Ibrahim”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Kaddari”, “given” : “Fatiha”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Darhmaoui”, “given” : “Hassane”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Elachqar”, “given” : “Abdelrhani”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Lahmine”, “given” : “Soufiane”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Procedia – Social and Behavioral Sciences”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2015” }, “page” : “1479-1482”, “title” : “Learning Basic Programming Concepts by Creating Games with Scratch Programming Environment”, “type” : “article-journal”, “volume” : “191” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Ouahbi <i>et al.</i>, 2015)”, “plainTextFormattedCitation” : “(Ouahbi et al., 2015)”, “previouslyFormattedCitation” : “(Ouahbi, Kaddari, Darhmaoui, Elachqar, & Lahmine, 2015)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Ouahbi et al., 2015)
A New Way of Teaching Programming Skills to K-12 Students: Code.orgChildren now days are born into a digital world, but luckily, they seem to quickly adapt and learn to use new technology. This new digital world also requires changes to how we educate children so that they can develop the skills required to thrive. Some countries have adopted curriculums that begin teaching students about computer science at a young age. This is important as older children may struggle with programming if they lack logical and algorithmic fundamentals. This research attempts to investigate how effective is at teaching reflective thinking skills towards problem solving. Writing program instructions shares many similarities to general problem solving such as reading and cognitive skills which are required to decide how best to approach a problem. makes use of blocks in its code editor together with video tutorials and lectures given by prominent figures in computer science. It also offers the “K-8 Intro to Computer Science” course that is suitable for Kindergarten students. The course does not only focus on how to program, but also aims to improve computational thinking and problem-solving skills.

This research aimed to find out how using improved reflective thinking skills in 4th year students at a private school in Turkey. Children were taught using the website over a period of 5 weeks. Based on analysis of the results of a survey conducted before and after the students used the website, there was no difference in the reflective thinking skills towards problem solving of the children. Even though there was no difference in reflective thinking skills, the children did show a marked performance increase in passing the activities on the website as time progressed. Students also found the website easy to use, and some enjoyed the fact that it felt like a game. The fact that the website has characters that feature in popular games also made the website more enjoyable to some children. The children also felt that through using they had improved some of their other skills, aside from programming, such as mathematics and thinking logically. The students also reacted positively when asked whether they liked programming. The teacher also liked the website as she could easily administer student accounts and view their progress. Another positive observation was that students wanted to help one another when they noticed a peer was struggling with a specific challenge.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1016/j.chb.2015.05.047”, “ISBN” : “0747-5632”, “ISSN” : “07475632”, “abstract” : “Abstract This study attempts to investigate the effect of teaching site on reflective thinking skills towards problem solving. More specifically, this study attempts to investigate whether there is a gender difference in terms of students’ reflective thinking skills towards problem solving. This triangulation study was conducted with 32 primary school students. The quantitative part of the study was conducted in pre-test/post-test comparison design of quasi-experimental design. The scores of reflective problem solving skills were gathered through the reflective thinking skill scale towards problem solving and the students’ performances in the code-org site were examined. In the qualitative part of the research, after the five-week experimental process, focus group interviews were conducted with ten students and a reflection paper from the IT teacher was analysed. According to the t-test results, teaching programming to primary school students in the site did not cause any differences in reflective thinking skills towards problem solving. However, there is a slight increment in the means of female students’ reflective thinking skills towards problem solving over the males’ reflective thinking skills towards problem solving. On the other hand, qualitative data provided more information about the students’ experiences. Students developed a positive attitude towards programming, and female students showed that they were as successful as their male counterparts, and that programming could be part of their future plans.”, “author” : { “dropping-particle” : “”, “family” : “Kaleliou0287lu”, “given” : “Filiz”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Computers in Human Behavior”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2015” }, “page” : “200-210”, “title” : “A new way of teaching programming skills to K-12 students:”, “type” : “article-journal”, “volume” : “52” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Kaleliou0287lu, 2015)”, “plainTextFormattedCitation” : “(Kaleliou0287lu, 2015)”, “previouslyFormattedCitation” : “(Kaleliou0287lu, 2015)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Kalelio?lu, 2015)
Code to learn with Scratch?There is a trend is worldwide education that is pushing schools to teach children how to program. This trend started in the 70’s, but then fell away in the 90’s due to programming being out of touch with other subjects and a lack of interest by students and teachers. There are now newer programming environments which allow programs to be “written” visually, and these seem to be more motivating and “fun”, resulting in more children and educators being interested in using them. Hopefully this resurgence of learning to program is not as short lived as it was earlier and that it can also lead to benefits in other areas not related to ICT (Information and Communications Technology). This research consists of a literature review to find out whether any other areas in education benefit from learning to program and looks at research published from 2007, which is the release date of Scratch, one of the more popular visual programming languages available that is designed to be used by children. The makers of Scratch argue that there are benefits, particularly learning strategies for solving problems, design strategies and communication ideas, that can be applied to other areas. The results obtained from the research indicate that the makers of Scratch are correct in their claims, although one article in the research indicates no improvement in ability, but for self-confidence. However other articles indicate improvement in learning subjects such as mathematics, science, art or a second language. There is also evidence that problem-solving skills, logical reasoning and think and creativity are improved as well.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1109/EDUCON.2016.7474546”, “ISBN” : “9781467386333”, “abstract” : “The use of computer programming in K-12 spread into schools worldwide in the 70s and 80s of the last century, but it disappeared from the educational landscape in the early 90s. With the development of visual programming languages such as Scratch, this movement has emerged again in recent years, as teachers at all educational levels and from different disciplines consider that the use of programming enhances learning in many subjects and allows students to develop important skills. The systematic literature review presented in this article aims to summarize the results of recent research using programming with Scratch in subjects not related to computing and communications, as well as studies analyzing the kind of skills students develop while learning to code in this environment. Although the analyzed papers provide promising results regarding the use of programming as an educational resource, this review highlights the need to conduct more empirical research in classrooms, using larger samples of students that allow to obtain clear conclusions about the types of learning that could be enhanced through programming.”, “author” : { “dropping-particle” : “”, “family” : “Jesus”, “given” : “Moreno-Leon”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Gregorio”, “given” : “Robles”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “2016 IEEE Global Engineering Education Conference (EDUCON)”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2013” }, “page” : “150-156”, “title” : “Code to learn with Scratch ?”, “type” : “article-journal” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Jesus and Gregorio, 2013)”, “plainTextFormattedCitation” : “(Jesus and Gregorio, 2013)”, “previouslyFormattedCitation” : “(Jesus & Gregorio, 2013)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Jesus and Gregorio, 2013)
Constructionist Gaming: Understanding the Benefits of Making Games for LearningThere have been many games that are designed to have educational value, but studies have been mixed in assessing what impact these games have. Games tend to be one of two types.

Commercial level games which are highly interactive and immersive
Educational games that focus on traditional educational content.

It can be argued that the first group focuses on gaming with little to no focus on education, whereas the second type focuses on education, and tends to discard anything that resembles real gaming. It has been argued that the ideal type of educational game sits between these two types, but this research instead argues that the ideal type of game is not so much between the types, but between the activities of playing and making games. This fits nicely with what some of the most popular commercial games are currently doing – allowing users to modify the original game by creating modifications, or “mods”. The research looks at how designing and creating games i.e. taking a constructionist approach to gaming also has social and cultural aspects in addition to the mathematical aspects. It considers how learning to make games helps prepare children for the future world of changing digital media, problem solving and collaboration. It also takes a focus on programming, as mastering this skill requires well developed computational thinking skills that apply to a wide variety of disciplines such as mechanics, biology and analytics. Some critics feel that the notion of bringing programming to the masses through learning to make games is not the best idea as these environments can be too simple and not a real representation of programming in the real world. This paper argues that these introductory activities provide a good starting point to the field of programming for which nothing has existed for the last 30 years.

Some programming concepts are easier to pick up on their own, whereas others require instruction and guidance from a person. Students who were taught programming through the creation of games seemed to make more use of the more complicated programming constructs such as variables, loops and if-statements. Students making games also learn the basics of debugging by playing their creations and then making improvements or fixing issues with them. Game making also allows students to improve their artistic and language skills. Learning other non-computer science skills through game-making can be further improved by aligning the game-making activities with other subjects.
Making games makes for a considerable framework that not only improves programming and computer skills, but all skills in the STEM group (Science, Technology, Engineering and Mathematics), as well as those in art and literature. Unfortunately, some research indicated that making games did not improve the chance that girls would be interested in taking up careers in STEM disciplines.. This not does necessarily mean that game-making cannot be used to pique the interest of girls, but the approach taken may have to be adjusted. Children also seemed to enjoy collaborating with others to play and test each other’s games, as well as to provide help, but the research surveyed did not concentrate on these aspects as much. While making games is showing great potential to provide educational benefits to children, these activities need to allow children to express their interested while providing guidance on how to go about executing their ideas.
ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1080/00461520.2015.1124022”, “ISBN” : “0046-1520”, “ISSN” : “00461520”, “PMID” : “27019536”, “abstract” : “There has been considerable interest in examining the educational potential of playing video games. One crucial element, however, has traditionally been left out of these discussionsu2014 namely, childrenu2019s learning through making their own games. In this article, we review and synthesize 55 studies from the last decade on making games and learning. We found that the majority of studies focused on teaching coding and academic content through game making, and that few studies explicitly examined the roles of collaboration and identity in the game making process. We argue that future discussions of serious gaming ought to be more inclusive of constructionist approaches to realize the full potential of serious gaming. Making games, we contend, not only more genuinely introduces children to a range of technical skills but also better connects them to each other, addressing the persistent issues of access and diversity present in traditional digital gaming cultures.”, “author” : { “dropping-particle” : “”, “family” : “Kafai”, “given” : “Yasmin B.”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Burke”, “given” : “Quinn”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Educational Psychologist”, “id” : “ITEM-1”, “issue” : “4”, “issued” : { “date-parts” : “2015” }, “page” : “313-334”, “title” : “Constructionist Gaming: Understanding the Benefits of Making Games for Learning”, “type” : “article-journal”, “volume” : “50” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Kafai and Burke, 2015)”, “plainTextFormattedCitation” : “(Kafai and Burke, 2015)”, “previouslyFormattedCitation” : “(Kafai & Burke, 2015)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Kafai and Burke, 2015)
Extending Scratch: New Pathways into ProgrammingScratch is a visual programming language where programs that manipulate images called “sprites” can be written by connecting together various blocks that represent programming constructs and instructions. Scratch also has an associated online website where users can upload their creations for others to download and modify – this is also known as “remixing”. As Scratch is open source, some people have downloaded and modified it to add new features. Projects created with a modified version of Scratch are not allowed to be shared on the community website, and while links to modified versions could be shared on the official forums, these modifications are not endorsed by the Scratch team.
An extension system for Scratch was created that was based on JavaScript. Extension blocks could be created that are linked to a JavaScript method that executes through a bridging layer that is implemented within Scratch. Extensions were limited in that they could not modify the grammar of the Scratch language or change the look and behaviour of sprites, or the background. It was also important to make sure that extensions were not overly complicated and were consistent with the way other blocks work. A set of guidelines for creating extensions was created and are continually revised to maintain simplicity and consistency.

When implementing the extension developer program, it was initially an invite-only program. Also, any projects that included extension blocks were blocked from being publicly shared so as not to confuse other users. Developers created various types of blocks which fell into three broad categories:
Hardware extensions
Web-API extensions
Pure JavaScript/HTML5 extensions
The Scratch extension system seems to be meeting its goals of enabling Scratch community members to extend the language as well as creating new ways to program with Scratch. Currently the extension developers are mostly adults and the extensions tend to be hardware focused, but this may change in the future. The extension system will gradually become less invite-only, and some extensions could be accepted into an “official” extension library.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1109/VLHCC.2015.7357212”, “ISBN” : “9781467374576”, “ISSN” : “19436106”, “abstract” : “We present the Scratch extension system, a toolkit that enables anyone to extend the vocabulary of the visual Scratch programming language through custom programming blocks written in JavaScript. The extension system is designed to (i) enable innovating on the Scratch programming language itself, in addition to innovating with it through projects, and (ii) enable the creation of new interest-driven pathways into Scratch programming. In this paper, we describe some of the prior work done in this space, our design and implementation, open questions and challenges, and some preliminary results.”, “author” : { “dropping-particle” : “”, “family” : “Dasgupta”, “given” : “Sayamindu”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Clements”, “given” : “Shane M.”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Idlbi”, “given” : “Abdulrahman Y.”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Willis-Ford”, “given” : “Chris”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Resnick”, “given” : “Mitchel”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2015” }, “page” : “165-169”, “title” : “Extending Scratch: New pathways into programming”, “type” : “article-journal”, “volume” : “2015-Decem” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Dasgupta <i>et al.</i>, 2015)”, “plainTextFormattedCitation” : “(Dasgupta et al., 2015)”, “previouslyFormattedCitation” : “(Dasgupta, Clements, Idlbi, Willis-Ford, & Resnick, 2015)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Dasgupta et al., 2015)
Kodu Game Lab: A Programming EnvironmentKodu Game Lab (KGL) is visual programming environment development by Microsoft that can run on Windows PC’s and Xbox consoles. It allows users to use tiles to construct 3D games and animations in an event driven manner. It consists of two modes – a play mode and an edit mode. In play mode, a user can play any of the prebuilt worlds or tutorials, and in edit mode they can make changes to worlds.

A world in KGL can consist of objects, sounds, paths and the environment. Objects are the characters or avatars that interact with the rest of the game or animation as well as items in the environment that can be programmed. Sounds include the various sound effects in the game or animation as well as any background music. Paths are used for decoration and can be used to control the movement of objects. The environment is everything else within which objects exist and is created with a World Tool. KDL also has a Graphic User Interface (GUI) that can be operated with a mouse and keyboard, or Xbox controller. It also has a context sensitive help system that makes it easier for new users to understand how to use KDL.

The programming language used is called Kodu and consists of various rules that are made by putting various tiles together. These rules consist of two things -a condition that describes when the rule applies, and an action that describes what must be done when the conditions are met. All variables in the language must be integers and are global. There is also a limit of 37 different variables. Logical functions can be created by indenting groups of tiles, where an indented group of tiles will only be considered if the group of tiles above it has a rule that has been met. The language also has a concept of “pages” that represent various states that an object can be in at any given point in time. An object can have up to twelve possible pages (states). The language attempts to reduce the likelihood of making an error by only showing tiles to the user that are relevant to the object and its current state.

Kodu is unique in the fact that it works through an event driven system with a user interface as well as game canvas that is in 3D and worthy of commercial level games. This does mean that the requirements for it are higher than some alternatives, notable the Windows/Xbox requirement as previously mentioned, as well as having a graphics card capable of working with the DirectX 9.0C API. It also takes cues from other constructionist gaming environments by allowing users to upload and share their creations online.

Kodu is still relatively new, and more research is required to establish its effectiveness, but some research has shown that it’s results are positive. Student seem to enjoy using KDL and their levels of frustration and boredom are lower than those learning Java or C++.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “abstract” : “Kodu Game Lab is a tile-based visual programming tool that enables users to learn programming concepts through making and playing computer games. Kodu is a relatively new programming language designed specifically for young children to learn through independent exploration. It is integrated in a real-time isometric 3D gaming environment that is designed to compete with modern console games in terms of intuitive user interface and graphical production values.”, “author” : { “dropping-particle” : “”, “family” : “Fowler”, “given” : “Allan”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Fristce”, “given” : “Teale”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Maclauren”, “given” : “Matthew”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “The Computer Games Journal”, “id” : “ITEM-1”, “issue” : “1”, “issued” : { “date-parts” : “2012” }, “page” : “17-28”, “title” : “Kodu Game Lab: a programming environment”, “type” : “article-journal”, “volume” : “1” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Fowler, Fristce and Maclauren, 2012)”, “plainTextFormattedCitation” : “(Fowler, Fristce and Maclauren, 2012)”, “previouslyFormattedCitation” : “(Fowler, Fristce, & Maclauren, 2012)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Fowler, Fristce and Maclauren, 2012)
Developing Fundamental Programming Concepts and Computational Thinking with ScratchJr in PreSchool Education: A Case StudyYoung children are being born into a rapidly changing digital world that is creating demands for new careers requiring new skills and abilities. Computational thinking (CT) is an important skill these children will need to master if they are to be proficient in these careers. Research has showing that exposing children at a young age to technology at a level that is appropriate to them is beneficial. This has caused researchers to come up with various environments to expose children to technology. ScratchJr is a new environment aimed at developing reading, writing and arithmetic skills as well as fundamental programming concepts in young children at preschool level.

Modern careers require people that CT skills, even if these careers are not necessarily in the technological field i.e. doctors, lawyers, accountants etc. While there were doubts about bring ICT education (which can improve CT skills) to learners of a younger age in the past, this is now changing and there is research that indicates this can also improve performance in other non-ICT subjects as well. In the United Kingdom, a new curriculum has been introduced that presents programming concepts to children from the ages of 5 to 7. Studies have shown that with the correct environment children from as young as 4 years old can understand basic programming concepts. emphasis must be placed on the “correct” environment – traditional text-based languages and curriculum tend to overwhelm and discourage young children.

For the reasons mentioned above, ScratchJr (Scratch Junior) was developed so that young children can learn programming concepts in a visual programming environment by making digital stories. ScratchJr is also designed to work on mobile devices running iOS or Android operating systems to make it more accessible to young children who are often more comfortable using these devices over traditional computers. ScratchJr is based on Scratch, but has many simplified features, although some powerful ones such as the broadcast system are kept. The components that make up the user interface are relatively large to cater for the still developing hand-eye coordination and fine motor skills of young children.

During a small-scale pilot study where children used the ScratchJr environment under the guidance of teachers with relatively open-ended tasks, the following results were observed:
Gender did not play a role in the children’s performance when considering computational and thinking skills.

Most students used movement blocks to animate their characters moving around the screen.

Children made more mistake when working with more than one character on the screen at the same time, or when making a character jump.

Some children got confused between blocks such as “spin left” with “spin right”.

Children were highly engaged with the environment and engaged in deep reflection with their projects.

Children collaborated with their peers
The study indicates that young children can learn and understand basic programming concepts. A visual programming environment like ScratchJr can help facilitate this learning in a fun and engaging way. As ScratchJr is based off Scratch, they could be combined in a curriculum where learners can move on to Scratch “proper” once they are mature enough to use it effectively.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1504/IJMLO.2016.077867”, “ISSN” : “1746-725X”, “abstract” : “In recent years, the teaching of programming and development of fundamental programming concepts at the preschool age has attracted the interest of the educational and scientific community. International research has highlighted that teaching programming to young children has a crucial influence on the development of their cognitive functions. There are currently plenty of available programming environments suited for preschoolers. Researchers are adapting their views concerning the age threshold at which young children can effectively get involved with programming. A new programming environment, which was designed to help preschoolers familiarise with basic programming concepts, in a developmentally appropriate manner, is ScratchJr. This study performs a brief introduction to the characteristics of ScratchJr as well as a presentation of the results of a small-scale pilot study for the evaluation of ScratchJr as means of teaching basic programming concepts in the preschool classroom.”, “author” : { “dropping-particle” : “”, “family” : “Papadakis”, “given” : “Stamatios”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Kalogiannakis”, “given” : “Michail”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Zaranis”, “given” : “Nicholas”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “International Journal of Mobile Learning and Organisation”, “id” : “ITEM-1”, “issue” : “3”, “issued” : { “date-parts” : “2016” }, “page” : “187”, “title” : “Developing fundamental programming concepts and computational thinking with ScratchJr in preschool education: a case study”, “type” : “article-journal”, “volume” : “10” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Papadakis, Kalogiannakis and Zaranis, 2016)”, “plainTextFormattedCitation” : “(Papadakis, Kalogiannakis and Zaranis, 2016)”, “previouslyFormattedCitation” : “(Papadakis, Kalogiannakis, & Zaranis, 2016)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Papadakis, Kalogiannakis and Zaranis, 2016)
Evaluating children performance with graphical and tangible robot programming toolsInitial programming environments aimed at children were text based or graphical user interface (GUI) based. Later, tangible user interfaces (TUI) were developed which allowed children to interact with physical objects. There is however, a lack of research indicating what advantages TUI’s have over GUI’s. Learning to program has various challenges such as learning how to use the computer and understanding the programming environment. These challenges need to be overcome before one can start learning to program. TUIs provide the ability to get right into the programming from the beginning. TUIs are believed to be more efficient than GUIs when learning concepts, but there is not much research to prove this. This research aims to find out how children perform when using a TUI compared to using a GUI. To accomplish the research goals, two functionally equivalent programming environments were created, one with a GUI, and one with a TUI. The environments consist of blocks that could be connected to provide instructions to the robot. The GUI made use of images that resembled blocks that could be connected, whereas the TUI consisted of physical blocks with images and barcodes that could be scanned. The blocks could be connected in sequence in the same way as the images could on the GUI.

A study was conducted in a public school in Greece where students were able to use both GUI and TUI. They were guided by a researcher given specific tasks to complete. The children were of different ages and older children accomplished their tasks quicker than the younger children. The improvement in task completion time for a simple task reached a plateau around the age of 10-11 years. The tangible interface showed better results for all age groups up to the age of 10-11 and students made fewer errors with it as well. The limit of better results at the age of 10-11 could be indicative of the familiarity younger children have with blocks compared to using computers, whereas from the age of 10 -11, children have sufficient experience with computers and their GUI’s that they are comfortable using them.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1007/s00779-014-0774-3”, “ISSN” : “16174909”, “abstract” : “This paper presents a cross-age study exploring children’s performance on robot introductory programming activities with one tangible and one isomorphic graphical system. Both subsystems are parts of an innovative system, namely the PROTEAS kit. The tangible subsystem consists of cube-shaped blocks that represent simple and more advanced programming structures. Users may interconnect the cubic-shaped commands and so create the robot programming code. The graphical subsystem presents onscreen an isomorphic to the tangible programming space. Children (N = 109) of five different aged groups were let to interact in pairs with the two operationally equivalent programming subsystems with the scope to program a NXT Lego robot. Three variables associated with children performance upon tasks and four variables related with performance during free interaction were studied. Data analysis based on computer logs and video recordings showed that children produced fewer errors, made more effective debugging and younger children in particular needed less time to accomplish the robot programming tasks with the tangible subsystem. Moreover, during free interaction, elder children were more engaged, created more complicated programs and explored different commands and parameters more actively in the tangible case. Finally, interpretation of the findings is provided and the advantages of tangible user interfaces in children’s introductory programming are discussed. u00a9 2014 Springer-Verlag London.”, “author” : { “dropping-particle” : “”, “family” : “Sapounidis”, “given” : “Theodosios”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Demetriadis”, “given” : “Stavros”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Stamelos”, “given” : “Ioannis”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Personal and Ubiquitous Computing”, “id” : “ITEM-1”, “issue” : “1”, “issued” : { “date-parts” : “2015” }, “page” : “225-237”, “title” : “Evaluating children performance with graphical and tangible robot programming tools”, “type” : “article-journal”, “volume” : “19” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Sapounidis, Demetriadis and Stamelos, 2015)”, “plainTextFormattedCitation” : “(Sapounidis, Demetriadis and Stamelos, 2015)”, “previouslyFormattedCitation” : “(Sapounidis, Demetriadis, & Stamelos, 2015)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Sapounidis, Demetriadis and Stamelos, 2015)
Learning Programming from Tutorials and Code Puzzles: Children’s Perceptions of ValueChildren are most commonly taught programming concepts through two main instructional formats: tutorials and puzzles. This study aims to find out which of them students are more motivated to use and what value each format provides. In this study, students were given various tasks to do, but they could choose what instructional format they wanted (tutorial or puzzle) to use. These students were then continually interviewed about the choice they made. A blocks-based programming environment called Looking Glass was used. In tutorials, students were provided with a sequence of steps and short instructions for how to complete the steps as well as a video showing what the completed stage of the task looks like. In puzzles, students were given all possible programming instructions and had to figure out how to complete the puzzle by combining the instructions correctly. They could see what the final output should be as well as what the output of their current program was. A total of 30 participants between the ages of 10 and 15 took part in the study in two-hour long sessions.

Most students chose a combination of tutorials and puzzles to complete a task, although there were a few that chose only tutorials or only puzzles. At the end of the study in an interview, 53% of participants said they would use both formats, 30% said puzzles and 17% said tutorials. Students were given leeway to select which tasks they wanted to do and most chose tasks that they found appealing over tasks that would improve their programming ability. However, when forced to choose tasks to improve their programming ability, students tended to pick the tutorial format even though the post-study interview showed that they enjoyed the puzzles more. Most students also made decisions so that they would be challenged based on what they believed their current skill level was.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1109/VLHCC.2016.7739665”, “ISBN” : “9781509002528”, “ISSN” : “19436106”, “abstract” : “u00a9 2016 IEEE.Tutorials and code puzzles are commonly used in today’s novice programming environments to introduce computer programming to children. While research has explored the effectiveness of each instructional format at teaching different kinds of information independently, little work has explored learners’ perceptions of value in each or the strategic decisions users make around the instructional format when learning to program. We present a study in which learners selected from a set of tutorials and puzzles with an identical set of programming content. We explore the reasoning behind their choices and the potential implications for the learning support available in future programming environments.”, “author” : { “dropping-particle” : “”, “family” : “Harms”, “given” : “Kyle J.”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Balzuweit”, “given” : “Evan”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Chen”, “given” : “Jason”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Kelleher”, “given” : “Caitlin”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2016” }, “page” : “59-67”, “title” : “Learning programming from tutorials and code puzzles: Children’s perceptions of value”, “type” : “article-journal”, “volume” : “2016-Novem” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Harms <i>et al.</i>, 2016)”, “plainTextFormattedCitation” : “(Harms et al., 2016)”, “previouslyFormattedCitation” : “(Harms, Balzuweit, Chen, & Kelleher, 2016)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Harms et al., 2016)
Scratch: Programming for AllScratch was designed to make is easy for anyone of any age and from any background to be able to program their own interactive stories, games, animations and simulations as well as share what they have created with others. Programming with Scratch teaches mathematical and computational concepts as well as improving creatively and the ability to work collaboratively with others.
Young people are often called “digital natives” because they have been born into a world of digital technology and are comfortable interacting with it. This does not necessarily mean that they can create their own things with it. This is like being able to read, but not to write. While programming was introduced to schools long ago it didn’t remain as the languages used were difficult and the programming activities and contexts in which they were presented were unappealing. The developers of Scratch, The Life Long Kindergarten Group at the MIT Media Lab had previous experience of working with the Lego company and were inspired by how quickly young children could starting tinkering with Lego bricks to build things and come up with new ideas. They wanted to make programming with the Scratch environment similar. Programming constructs in Scratch consist of blocks that can be “snapped” together, but only in meaningful ways. This allows users to snap blocks together and see what happens.

Scratch was also designed so that students can create and work on projects that are meaningful to themselves. The environment supports a wide variety of project types such as animations, stories games and simulations. Users can easily personalise their projects by adding their own assets such as images, video clips and sound recordings. A 2D environment was chosen for this reason as it’s much easier to create and edit 2D graphics than 3D models.

Scratch is not only a programming environment, but also consists of an active community website where users can help one another and upload, share and collaborate on projects. Sharing is tightly integrated into the programming environment’s user interface with a share button that allows a project to be uploaded to the website. Some children have even started Scratch “companies” where they work together with other children to complete projects. Some of these “companies” are even international, across continents. Scratch is also translated into over 40 languages to foster international usage and collaboration.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1145/1592761.1592779”, “ISBN” : “1011451592”, “ISSN” : “00010782”, “PMID” : “21274723”, “abstract” : “The authors discuss their efforts to make computer programming accessible and the principles that guided them in designing their programming language, Scratch. Scratch, available at, is aimed toward children between the ages of eight and 16 to encourage their digital fluency. The philosophy of the authors is that digital fluency involves more than the ability to chat, interact and search, but also the ability to design new media. They suggest that programming encourages computational thinking and problem-solving processes.”, “author” : { “dropping-particle” : “”, “family” : “Resnick”, “given” : “Mitchel”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Maloney”, “given” : “John”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Monroy-Hernu00e1ndez”, “given” : “Andru00e9s”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Rusk”, “given” : “Natalie”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Eastmond”, “given” : “Evelyn”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Brennan”, “given” : “Karen”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Millner”, “given” : “Amon”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Rosenbaum”, “given” : “Eric”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Silver”, “given” : “J a Y”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Silverman”, “given” : “Brian”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Kafai”, “given” : “Yasmin”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Communications of the ACM”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2009” }, “page” : “60-67”, “title” : “Scratch: Programming for All.”, “type” : “article-journal”, “volume” : “52” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Resnick <i>et al.</i>, 2009)”, “plainTextFormattedCitation” : “(Resnick et al., 2009)”, “previouslyFormattedCitation” : “(Resnick et al., 2009)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Resnick et al., 2009)
Empowering Children to Rapidly Author Games and Animations Without Writing CodeHaving a good experience with computers at a young age can improve the motivation for students to take up careers in programming later when they are older. Research has found that self-efficacy is a motivating factor in deciding what to study. If a good experience with computers and programming can be fostered at an early age, there is a higher chance that these children will grow up to become programmers of the future. Children already enjoy video games and animations, so using these things to teach programming concepts could improve the likelihood of them enjoying programming. In this research, the authors use a prototype visual programming language called BlockStudio that uses very little text, requires no knowledge of programming constructs to get started and allows users to create games and animations. The emphasis on a minimal use of text is what sets this environment apart from others such as Scratch.
In BlockStudio, users can place various coloured blocks on the screen to design their game or animation. These blocks can then be programmed to respond to stimuli. Various properties of the blocks such as the colour, position, size and velocity can be changed as a response to stimuli. Stimuli can be when a block is touched or could be a collision with another block. These stimuli and responses are collectively referred to as rules. Blocks that have the same colour will have the same set of rules. Rules could also be created through an inference engine where blocks could be dragged, and the environment will create a rule that replicates how the block was dragged. This makes it easier for children to create commands without text.

During two sessions with children aged 9 – 14 years, positive feedback was obtained where the children quickly understood how to use the environment for simple tasks. The children also showed a desire to do more and so were taught how to create loop-like designs. The students could understand the design of loops and apply it to their own creations. Even though there was no actual code, certain design patterns still emerged such as a player have x amount of lives, or a progress bar to show game progress. There was also one student who had experience with Scratch and wanted to see the underlying code that was generated.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1145/2930674.2930688”, “ISBN” : “9781450343138”, “abstract” : “Prior research has established that long-term interests in programming are often shaped by formative computing experiences, especially those involving programming and graphics. Existing authoring environments for children (ages 9-14) to make 2D games and animations require them to: (a) create programs, (b) customize templates, or (c) combine rewrite rules with programs. One way to support early experiences in computing for a more diverse set of learners is to simplify such authoring systems, by removing text heavy code and minimizing cognitive load, which can allow separation of coding concepts from writing code. In this paper, we describe an exploratory system we are designing to test this idea, called BlockStudio. Using a Programming By Example paradigm, children manipulate colored blocks on the screen to specify desired behavior via concrete changes. Based on these inputs, our system synthesizes generalized rules based on color. We give a brief overview of our current prototype, then share insights gleaned from two intergenerational co-design sessions with children and discuss implications for designers of similar systems.”, “author” : { “dropping-particle” : “”, “family” : “Banerjee”, “given” : “Rahul”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Yip”, “given” : “Jason”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Lee”, “given” : “Kung Jin”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Popoviu0107”, “given” : “Zoran”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Proceedings of the The 15th International Conference on Interaction Design and Children – IDC ’16”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2016” }, “page” : “230-237”, “title” : “Empowering Children To Rapidly Author Games and Animations Without Writing Code”, “type” : “article-journal” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Banerjee ;i;et al.;/i;, 2016)”, “plainTextFormattedCitation” : “(Banerjee et al., 2016)”, “previouslyFormattedCitation” : “(Banerjee, Yip, Lee, ; Popoviu0107, 2016)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Banerjee et al., 2016)
Children Use Non-Verbal Cues to Learn New Words from Robots as well as PeopleThere is much potential for social robots to serve as tutors to children as they can combine various technologies with the real world. There is also research that indicates that children treat these social robots as both companions and guides. Many of these studies however were performed with older children, but there is a growing interest in how younger children (ages 3 – 6) might respond.
In this study a human teacher and a robot teacher conducted a word-learning task. Young children tend to follow a person’s eyes as a way to understand what is being communicated to them. This helps them to see what another person is talking about. Part of this research was to find out if, and under what conditions, young children would follow the gaze of a robot instead of that of a human. The robot used could not move its neck or eyes, so the body rotated to look at an object. Infants who had seen the robot act social with a human beforehand were likely to shift their own gaze to look at what the robot was looking at, whereas other children would only do the same randomly. Seeing as there was evidence that young children would follow a robot’s gaze, the next question to ask was whether they could learn something from it.

In a study that consisted of 36 children, a robot and a human showed children pairs of pictures with unfamiliar and different animals. The robot and human would then look at one of the pictures and state the name of the animal and say, “See the animal name”. The children were then tested to see if they remembered the name of the animal.

The results of the study indicated that when the pairs of pictures were close to each other, the children’s identification of the correct animal was mostly due to chance, whether a human or robot was used. When the images were further apart, children were better at identifying the correct animal, again for both the robot and the human. Children who spent time with the robot tended to spend more time looking at the robot than pictures, whereas children who spent time with the human, spent more time looking at the pictures. However, children still spent about half of their time looking at the pictures when with the robot and performed equally well as those with the human in the recall tests. From this study it can be observed that children can learn new vocabulary in a natural manner using gaze and body direction as cues whether from a robot or a person.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “author” : { “dropping-particle” : “”, “family” : “Kory”, “given” : “Jacqueline M”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Dickens”, “given” : “Leah”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Jeong”, “given” : “Sooyeon”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “id” : “ITEM-1”, “issued” : { “date-parts” : “0” }, “page” : “1-29”, “title” : “Children Use Non – Verbal Cues to Learn New Words From Robots as well as People”, “type” : “article-journal” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Kory, Dickens and Jeong, no date)”, “plainTextFormattedCitation” : “(Kory, Dickens and Jeong, no date)”, “previouslyFormattedCitation” : “(Kory, Dickens, ; Jeong, n.d.)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Kory, Dickens and Jeong, no date)
A Comparison of Preschool and Elementary School Children Learning Computer Science Concepts through a Multilanguage Robot Programming PlatformWhile children are being exposed to computer technology at earlier ages with each generation, this exposure does not necessarily translate into learning the concepts and skills required to embrace computer science careers later in life. Research has shown that introducing computer science concepts at a young age can be beneficial, but there is still no consensus about what concepts should be introduced at what age. The aim of this research was to find out how different age groups of children learn computer science concepts, how a multilanguage robot programming platform can permit students to discover new computer science concepts on their own and how gender and age differences play a role in learning computer science concepts at preschool and elementary school level.

The research makes use of the UNC++Duino programming environment which allows a robot controlled by an Arduino board to be programmed with simple block type programs that allows novice and young students to create programs without having to learn and understand the syntax of a full-blown programming language. More advanced users can instead use Python and C++ to program the robot as well. A study was conducted at a privately-run school.

All children, across all age groups were able to learn fundamental programming constructs such as sequences, loops, parameters and conditional functions. They were also able to apply these to control the robot. Older children were more adept and combining various constructs to make more complicated programs. An interesting observation was that girls did slightly better than boys on the tasks, indicating that the notion that boys lean more to computer science than girls only occurs in at later ages. Children also managed to change between languages while focusing on the concepts of the program, rather than on the syntax of the programming language. This platform also applies to the whole K-12 range of students allowing students to start on the fundamentals with blocks and then proceed through to C++ as they get older and more experienced.

ADDIN CSL_CITATION { “citationItems” : { “id” : “ITEM-1”, “itemData” : { “DOI” : “10.1145/2729094.2742599”, “ISBN” : “9781450334402”, “ISSN” : “1942647X”, “author” : { “dropping-particle” : “”, “family” : “Martinez”, “given” : “Cecilia”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Gomez”, “given” : “Marcos J.”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” }, { “dropping-particle” : “”, “family” : “Benotti”, “given” : “Luciana”, “non-dropping-particle” : “”, “parse-names” : false, “suffix” : “” } , “container-title” : “Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education – ITiCSE ’15”, “id” : “ITEM-1”, “issued” : { “date-parts” : “2015” }, “page” : “159-164”, “title” : “A Comparison of Preschool and Elementary School Children Learning Computer Science Concepts through a Multilanguage Robot Programming Platform”, “type” : “article-journal” }, “uris” : “” } , “mendeley” : { “formattedCitation” : “(Martinez, Gomez and Benotti, 2015)”, “plainTextFormattedCitation” : “(Martinez, Gomez and Benotti, 2015)”, “previouslyFormattedCitation” : “(Martinez, Gomez, & Benotti, 2015)” }, “properties” : { “noteIndex” : 0 }, “schema” : “” }(Martinez, Gomez and Benotti, 2015)
The modern world has embraced digital technology, incorporating it into nearly every aspect of our lives. As new technologies as created or old ones improved, these changes are also constantly being added to the world around us. This has created a greater demand for people with computer science and computational thinking skills. This does not only apply to fields directly associated with digital technology, but also in others such as accounting and health services. These and other fields make use of digital technologies and therefore require skilled people to create and maintain them.

Programming is one skill that can be used to develop computer science and compsutational thinking skills, and the earlier that people can be exposed to it, the sooner they can begin to understand the fundamentals required to excel at it. Research also shows that these fundamentals which include things like being able to problem solve and work logically, are also applicable to other learning domains such as mathematics or linguistics. In the 1970’s there was a push to include programming in the curriculum of school children, but this had largely fallen away in the 1990’s due to a variety of reasons. Some of the reasons were that early programming environments with difficult to master, had many syntax rules and tended to be boring. The earlier programming courses also had little overlap with other subject being taught, making programming seem like something different to the other courses that students were learning. Recently, there has been a resurgence in teaching programming and new visual programming environments are making it much more motivating and “fun” to keep learners engaged. The United Kingdom for example, has created a framework that includes teaching programming concepts to children.

While these new visual programming environments have made it easier to introduce concepts to learners, especially young children, they still tend to require guidance from an experienced teacher and often some reading and comprehension ability. This proposal is to see if it is possible to create a programming environment for very young children that can be used without having any reading ability. This environment would focus on the basics, from which children could move on to other environments such as ScratchJr or Scratch as they get older and more experienced. The hope is that with the fundamentals already in place, these children would progress faster with the later environments and hence be able to pick up more advanced concepts and even start learning to use a text-based language sooner.

During the literature review there was also a trend amongst some papers that indicated in younger years, there is no difference between the aptitudes of boys versus girls when it comes to computer science, in fact in some cases, girls performed better than boys. There is however a large difference in the ratio of boys to girls when it comes to students who graduate in computer science courses. Part of the proposal is to make the learning environment suitable for girls, hoping to foster their interest in programming which would eventually lead some of them to take up careers in computer science domains.

The plan is to create a visual programming environment where users will be able to use blocks to create commands that will be sent to a car character to navigate it around a maze. As many children have exposure to tablet and mobile devices, and often teach themselves to play games on them, the environment will be designed to run on these devices as well as traditional desktop computers. After the visual programming environment has been created, a group of school children will be given the environment and asked to complete some tasks with it. Thereafter, they will be interviewed in an informal manner to obtain their attitudes towards the environment and programming in general.

ReferencesADDIN Mendeley Bibliography CSL_BIBLIOGRAPHY Armoni, M., Meerbaum-Salant, O. and Ben-Ari, M. (2015) ‘From Scratch to “Real” Programming’, ACM Transactions on Computing Education, 14(4), pp. 1–15. doi: 10.1145/2677087.

Banerjee, R. et al. (2016) ‘Empowering Children To Rapidly Author Games and Animations Without Writing Code’, Proceedings of the The 15th International Conference on Interaction Design and Children – IDC ’16, pp. 230–237. doi: 10.1145/2930674.2930688.

Bennedsen, J. and Caspersen, M. E. (2007) ‘Failure rates in introductory programming’, ACM SIGCSE Bulletin, 39(2), p. 32. doi: 10.1145/1272848.1272879.

Chuang, T. Y. and Chen, W. F. (2009) ‘Effect of computer-based video games on children: An experimental study’, Educational Technology and Society, 12(2), pp. 1–10. doi: 10.1109/DIGITEL.2007.24.

Cohoon, J. M. (2001) ‘Toward Improving the Computer’, Communications of the ACM, 44(5).

Dasgupta, S. et al. (2015) ‘Extending Scratch: New pathways into programming’, Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC, 2015–Decem, pp. 165–169. doi: 10.1109/VLHCC.2015.7357212.

Fowler, A. (2012) ‘Enriching student learning programming through using Kodu’, Proceedings of the 25th Annual Conference of the National Advisory Committee on Computing Qualifications, pp. 33–39.

Fowler, A., Fristce, T. and Maclauren, M. (2012) ‘Kodu Game Lab: a programming environment’, The Computer Games Journal, 1(1), pp. 17–28. Available at:

Garcia-Peñalvo, F. J. (2016) ‘What Computational Thinking Is’, Journal of Information Technology Research, 9(3), pp. 5–8. Available at:

Harms, K. J. et al. (2016) ‘Learning programming from tutorials and code puzzles: Children’s perceptions of value’, Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC, 2016–Novem, pp. 59–67. doi: 10.1109/VLHCC.2016.7739665.

Jesus, M.-L. and Gregorio, R. (2013) ‘Code to learn with Scratch??’, 2016 IEEE Global Engineering Education Conference (EDUCON), pp. 150–156. doi: 10.1109/EDUCON.2016.7474546.

Kafai, Y. B. (2016) ‘From computational thinking to computational participation in K–12 education’, Communications of the ACM, 59(8), pp. 26–27. doi: 10.1145/2955114.

Kafai, Y. B. and Burke, Q. (2014) ‘Mindstorms 2.0 Children, Programming and Computational Participation’, pp. 1–10.

Kafai, Y. B. and Burke, Q. (2015) ‘Constructionist Gaming: Understanding the Benefits of Making Games for Learning’, Educational Psychologist, 50(4), pp. 313–334. doi: 10.1080/00461520.2015.1124022.

Kahn, K. (1996) ‘ToonTalk TM—An Animated Programming Environment for Children’, Journal of Visual Languages ; Computing, 7(2), pp. 197–217. doi: 10.1006/jvlc.1996.0011.

Kalelio?lu, F. (2015) ‘A new way of teaching programming skills to K-12 students:’, Computers in Human Behavior, 52, pp. 200–210. doi: 10.1016/j.chb.2015.05.047.

Kory, J. M., Dickens, L. and Jeong, S. (no date) ‘Children Use Non – Verbal Cues to Learn New Words From Robots as well as People’, pp. 1–29.

Larson, R. C. (2014) ‘ESD Working Paper Series STEM Crisis or STEM Surplus?? Yes and Yes ESD-WP-2014-30’, (October).

Maloney, J., Resnick, M. and Rusk, N. (2010) ‘The Scratch programming language and environment’, ACM Transactions on Computing Education, 10(4), pp. 1–15. doi: 10.1145/1868358.1868363.http.

Martinez, C., Gomez, M. J. and Benotti, L. (2015) ‘A Comparison of Preschool and Elementary School Children Learning Computer Science Concepts through a Multilanguage Robot Programming Platform’, Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education – ITiCSE ’15, pp. 159–164. doi: 10.1145/2729094.2742599.

Ouahbi, I. et al. (2015) ‘Learning Basic Programming Concepts by Creating Games with Scratch Programming Environment’, Procedia – Social and Behavioral Sciences, 191, pp. 1479–1482. doi: 10.1016/j.sbspro.2015.04.224.

Papadakis, S., Kalogiannakis, M. and Zaranis, N. (2016) ‘Developing fundamental programming concepts and computational thinking with ScratchJr in preschool education: a case study’, International Journal of Mobile Learning and Organisation, 10(3), p. 187. doi: 10.1504/IJMLO.2016.077867.

Resnick, M. et al. (2009) ‘Scratch: Programming for All.’, Communications of the ACM, 52, pp. 60–67. doi: 10.1145/1592761.1592779.

Sapounidis, T., Demetriadis, S. and Stamelos, I. (2015) ‘Evaluating children performance with graphical and tangible robot programming tools’, Personal and Ubiquitous Computing, 19(1), pp. 225–237. doi: 10.1007/s00779-014-0774-3.

Slany, W. (2012) ‘Catroid: a mobile visual programming system for children’, Proceedings of the 11th International Conference on Interaction Design and Children – IDC ’12, pp. 300–303. doi: 10.1145/2307096.2307151.

Sullivan, A. and Bers, M. U. (2016) ‘Robotics in the early childhood classroom: learning outcomes from an 8-week robotics curriculum in pre-kindergarten through second grade’, International Journal of Technology and Design Education, 26(1), pp. 3–20. doi: 10.1007/s10798-015-9304-5.

Wang, J. et al. (2015) ‘Gender Differences in Factors Influencing Pursuit of Computer Science and Related Fields’, Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education – ITiCSE ’15, pp. 117–122. doi: 10.1145/2729094.2742611.

Wing, J. M. (2008) ‘Computational thinking and thinking about computing’, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 366(1881), pp. 3717–3725. doi: 10.1098/rsta.2008.0118.

Wing, J. and Wing, J. M. (2017) ‘Computational thinking’s influence on research and education for all’, Italian Journal of Educational Technology, 25(2), pp. 7–14. doi: 10.17471/2499-4324/922.