Habits of programming in scratch

@inproceedings{MeerbaumSalant2011HabitsOP,
  title={Habits of programming in scratch},
  author={Orni Meerbaum-Salant and Michal Armoni and Mordechai Ben-Ari},
  booktitle={Annual Conference on Innovation and Technology in Computer Science Education},
  year={2011}
}
Visual programming environments are widely used to introduce young people to computer science and programming; in particular, they encourage learning by exploration. During our research on teaching and learning computer science concepts with Scratch, we discovered that Scratch engenders certain habits of programming: (a) a totally bottom-up development process that starts with the individual Scratch blocks, and (b) a tendency to extremely fine-grained programming. Both these behaviors are at… 

Learning computer science concepts with scratch

New learning materials for middle-school students that were designed according to the constructionist philosophy of Scratch showed that in general students could successfully learn important concepts of computer science, although there were some problems with initialization, variables and concurrency.

From Scratch to “Real” Programming

It is 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.

Discriminating Programming Strategies in Scratch: Making the Difference between Novice and Experienced Programmers

A learning analytics approach of measuring and evaluating the programming sequences of students that program with Scratch 3 to identify students in need of support and to identify recurring patterns used by students successful in the trial.

Analysis of Progression of Scratch Users based on their Use of Elementary Patterns

  • K. AmanullahT. Bell
  • Computer Science
    2019 14th International Conference on Computer Science & Education (ICCSE)
  • 2019
M measuring the progress of Scratch users over the years, particularly through their use of elementary patterns, found that the use of key elements of programming was still low, even after more than a year of programming.

Automatic detection of bad programming habits in scratch: A preliminary study

This paper analyzed a large number of projects available on the Scratch community website and analyzed them with two plug-ins developed to automatically detect bad practices, showing that, in general, projects in the repository also incur in the investigated malpractices.

Improving Scratch Programming with CRC-Card Design

This work adapted the object-oriented design methodology of CRC cards (class-responsibility-collaboration) to Scratch programs, such that learners first plan the central aspects of their programs, before writing the code.

Quantifying Patterns and Programming Strategies in Block-Based Programming Environments

  • Max KesselbacherA. Bollin
  • Computer Science
    2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)
  • 2019
First results, obtained with eight upper secondary school students, show that programming skills and patterns can be quantified with interaction metrics measured during program construction.

Bricolage Programming and Problem Solving Ability in Young Children : an Exploratory Study

The results of this study showed that more indications of bricolage did occur in the Scratch-like condition, however, a range of measures of overall performance revealed no difference between the two groups.

A Classification of Programming Styles in Scratch

This paper describes efforts to identify and categorize different programming styles by analyzing the blocks and sprites utilized by each user, and outlines the strategy to use the available data to validate the hypothesis that most users can be classified in one of these four types.

Aiding the Transition from Novice to Traditional Programming Environments

Two different works in progress are presented with features designed to keep some of the advantages of current novice programming environments but in such a way that students are led to deeper concepts, including immediate feedback, loop construction, and automated identifier updating.
...

References

SHOWING 1-10 OF 14 REFERENCES

Learning computer science concepts with scratch

New learning materials for middle-school students that were designed according to the constructionist philosophy of Scratch showed that in general students could successfully learn important concepts of computer science, although there were some problems with initialization, variables and concurrency.

Scratch for budding computer scientists

It is found 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 th with fundamentals of programming without the distraction of syntax.

An Adaptive, Collaborative Environment to Develop Good Habits in Programming

How computer supported collaborative learning (CSCL) can be deployed to develop new skills and habits in students at university level is discussed and an adaptive environment to develop good programming habits is described.

Programming by choice: urban youth learning programming with scratch

Scratch is described, a visual, block-based programming language designed to facilitate media manipulation for novice programmers and the motivations of urban youth who choose to program in Scratch rather than using one of the many other software packages available to them are discussed.

But My Program Runs! Discourse Rules for Novice Programmers

This article develops an approach to critiquing working but poorly constructed novice programs based on the principle of program readability, that is, it base its critique of working code on its ability to communicate to program readers.

Understanding natural programs using proper decomposition

  • J. Hartman
  • Computer Science
    [1991 Proceedings] 13th International Conference on Software Engineering
  • 1991
The author presents a practical method for automatic control concept recognition in large, unstructured imperative programs and how recognized control concepts are used to perform Cobol restructuring with quality not possible with existing syntactic methods.

Programming by choice

This paper describes Scratch, a visual, block-based programming language designed to facilitate media manipulation for novice programmers. We report on the Scratch programming experiences of urban ...

Epistemological Pluralism and the Revaluation of the Concrete.

concrete. In the simplest case, an object moving on a computer screen might be defined by the most formal of rules and so be like a construct in pure mathematics; but at the same time it is visible,

Constructionism in Practice: Designing, Thinking, and Learning in A Digital World

This book presents a meta-history of constructionism and its applications to modern education, focusing on the work of Y.B. Kafai and M. Resnick, who founded the MediaMOO Project, which aimed to combine Constructionism and Professional Community with a broader view of design.