From Scratch to “Real” Programming (original) (raw)
Related papers
Learning Computer Science Concepts with Scratch
Scratch is a visual programming environment that is widely used by young people. We investigated if Scratch can be used to teach concepts of computer science. We developed new learning materials for middle-school students that were designed according to the constructionist philosophy of Scratch and evaluated them in two schools. The classes were normal classes, not extracurricular activities whose participants are self-selected. Questionnaires and a test were constructed based upon a novel combination of the Revised Bloom Taxonomy and the SOLO taxonomy. These quantitative instruments were augmented with a qualitative analysis of observations within the classes. The results showed that in general students could successfully learn important concepts of computer science, although there were some problems with initialization, variables and concurrency; these problems can be overcome by modifications to the teaching process.
International Journal of Eurasia Social Sciences, 2018
It is important to teach students programming at an early age so that they do not have difficulty in understanding the programming logic when they reach the age of undergraduate education. Scratch, a visual two-dimensional programming tool, has been developed to accomplish this purpose. There are studies in the literature related to Scratch on problem-solving skills, but they are not directed at the steps of problem solving. In order to find a proper solution to a problem, it is necessary to carry out each problem-solving step in an appropriate way. Based on this need, the aim of this study is to investigate how teaching programming through Scratch affects the problem-solving skills of 5th and 6th grade middle school students and to identify the steps that students go through to solve ill-structured problems. It is also intended that these steps guide teachers in terms of the pedagogies for teaching coding. This study utilized an explanatory design, one of the mixed method research designs. In the quantitative stage of the study, a one-group pretest-posttest model, one of the simple experimental models, was used. In the qualitative stage, a case study model was used as the research design. A total of 226 5th and 6th grade students, including 109 males and 117 females, constituted the sample of the study. The data were collected using a problem-solving skills scale and interview questions. A statistically significant difference was found between the mean scores of the first and second measurements of the problem-solving skills scale according to the Wilcoxon signed-rank test result. According to the results, when teaching programming through Scratch, it is recommended to have students design games, as an alternative method, for them to develop problem-solving skills. The solution of a problem is facilitated when students construct a game in their minds in accordance with real-life conditions and design and detail it in accordance with computational expressions.
It is important to teach students programming at an early age so that they do not have difficulty in understanding the programming logic when they reach the age of undergraduate education. Scratch, a visual two-dimensional programming tool, has been developed to accomplish this purpose. There are studies in the literature related to Scratch on problem-solving skills, but they are not directed at the steps of problem solving. In order to find a proper solution to a problem, it is necessary to carry out each problem-solving step in an appropriate way. Based on this need, the aim of this study is to investigate how teaching programming through Scratch affects the problem-solving skills of 5th and 6th grade middle school students and to identify the steps that students go through to solve ill-structured problems. It is also intended that these steps guide teachers in terms of the pedagogies for teaching coding. This study utilized an explanatory design, one of the mixed method research designs. In the quantitative stage of the study, a one-group pretest-posttest model, one of the simple experimental models, was used. In the qualitative stage, a case study model was used as the research design. A total of 226 5th and 6th grade students, including 109 males and 117 females, constituted the sample of the study. The data were collected using a problem-solving skills scale and interview questions. A statistically significant difference was found between the mean scores of the first and second measurements of the problem-solving skills scale according to the Wilcoxon signed-rank test result. According to the results, when teaching programming through Scratch, it is recommended to have students design games, as an alternative method, for them to develop problem-solving skills. The solution of a problem is facilitated when students construct a game in their minds in accordance with real-life conditions and design and detail it in accordance with computational expressions.
Teaching programming is a complex task. The task is even more challenging for introductory modules. There is an ongoing debate in the teaching community over the best approach to teaching introductory programming. Visual block-based programming environments allow school students to create their own programs in ways that are more accessible than in textual programming environments. These environments designed for education allow students to program without the obstacle of syntax errors (errors in typing commands) found in traditional text-based languages. In this paper, the authors focus on the use of App Inventor and Scratch as blocks-based programming environments designed explicitly with novices in mind. In the authors' analysis, both Novice Programming Environments (NPEs) seemed to be attractive platforms for introducing fundamental concepts in computer programming and both look appealing for both majors and non-majors.
Paradoxically, as the role and significance of computing have increased in society and the economy, and coding is recognised as the fourth literacy, the number of students attending a programming course is in decline. In an attempt to increase interest in computer science (CS), there has been made much effort in developing tools and activities as preliminary learning materials in schools and universities. App Inventor and Scratch strive to engage the novice users by allowing them to write programs about things that connect with their interests in contrast to more conventional programming. In this paper, we focus on the use of these two block-based programming environments as tools to facilitate learning programming for novices. In our analysis, both novice programming environments (NPEs) seemed to be attractive platforms for introducing fundamental concepts in computer programming and both look appealing for majors and non-majors as well.
This study presents a set of categories of learning activities which could be performed by the students using the tools of the well-known educational software Scratch (www.scratch.mit.edu) that is dedicated for the learning of programming by novices. Specifically, eleven categories of learning activities that could be performed within Scratch were formed, namely: (a) Free creative activities, (b) Solving a specific problem, © Multiple solution tasks, (d) Experimentation within working Scratch projects, (e) Modification of working Scratch projects, (f) Working on a complete Scratch output and a correct but incomplete part of its code, (g) Working on a complete Scratch output and a mixed form of its code, (h) Working with a complete Scratch output and an incorrect part of its code, (i) Working with the complete code of a Scratch program and predicting its output, (j) Black-box activities, and (k) Collaborative learning activities. Computing teachers can use these categories of activities in their attempts to design appropriate every day classroom settings for the learning of programming by novices within Scratch.
Analysis of Scratch Projects of an Introductory Programming Course for Primary School Students
Computer Science (CS) is increasingly entering the early levels of early childhood education, like primary school or even kindergarten. Therefore, it becomes more and more important to gain insight into which teaching methods and content would be appropriate for young students of primary levels. To investigate this, we have designed a specific three-day introductory programming course for 4th grade students (ages 9 -10), which was taught four times up to now. Fifty-eight children (26 girls and 32 boys) participated in the courses from May to August 2016. At the end of the courses, the children have developed 127 Scratch projects during the course. The methodology and the results of the qualitative analysis are described in this paper. We discovered that the students created three different types of programs in particular: Stories, Animations, and Games. The level of understanding of the students, who programmed a Game, was mostly found to be advanced. Stories, on the other hand, reached only the two basic levels. Most of the students met the requirements we had set for the projects.
Electronics, 2021
Teaching computer programming is a real challenge in the State University of Milagro (UNEMI), located in one of the least-developed zones in Ecuador, a non-WEIRD country (WEIRD stands for Western, Educated, Industrialized, Rich and Democratic). Despite the application of various learning strategies, the historical pass rate does not exceed 43%. To solve this problem, we have relied on visual programming languages, specifically Scratch. Scratch is an open source software to learn programming that has a strong assumption of the benefits of community work. A quasi-experiment conducted with 74 undergraduate students during the first semester of CS showed that: (1) Both groups (control and experimental) are homogeneous in terms of their demographic characteristics, previous academic performance and motivation (expectations) concerning the course; (2) Scratch is strongly accepted by students in the experimental group and concerning the learning process, both groups showed similar levels o...
Scratch for budding computer scientists
ACM SIGCSE Bulletin, 2007
Scratch is a "media-rich programming environment" recently developed by MIT's Media Lab that "lets you create your own animations, games, and interactive art." Although Scratch is intended to "enhance the development of technological fluency [among youths] at after-school centers in economically disadvantaged communities," we find remarkable potential in this programming environment for higher education as well. We propose Scratch as a first language for first-time programmers in introductory courses, for majors and non-majors alike. Scratch allows students to program with a mouse: programmatic constructs are represented as puzzle pieces that only fit together if "syntactically" appropriate. We argue that this environment allows students not only to master programmatic constructs before syntax but also to focus on problems of logic before syntax. We view Scratch as a gateway to languages like Java. To validate our proposal, we recently deployed Scratch for the first time in higher education via Harvard Summer School's Computer Science S-1: Great Ideas in Computer Science, the summertime version of a course at Harvard College. Our goal was not to improve scores but instead to improve first-time programmers' experiences. We ultimately transitioned to Java, but we first introduced programming itself via Scratch. We present in this paper the results of our trial. We find that, not only did Scratch excite students at a critical time (i.e., their first foray into computer science), it also familiarized the inexperienced among them with fundamentals of programming without the distraction of syntax. Moreover, when asked via surveys at term's end to reflect on how their initial experience with Scratch affected their subsequent experience with Java, most students (76%) felt that Scratch was a positive influence, particularly those without prior background. Those students (16%) who felt that Scratch was not an influence, positive or negative, all had prior programming experience.
MIT Scratch: A Powerful Tool for Improving Teaching of Programming
Conference on Informatics in Education 2013, 2013
Programming has been taught for many years to High School students in Greece. Despite this fact, the results are poor. Many students find programming boring and difficult. In contrast, using of computers in students’ everyday life is very popular. Most of the students use the Internet, the Social Media and the computer games in a very effective way. MIT Scratch has been proposed as a solution to this educational problem. In this paper we attempt to investigate whether this is true.