DEVELOPMENT OF THE STUDENTS’ COMPUTATIONAL THINKING SKILLS WITH PROJECT-BASED LEARNING IN SCRATCH PROGRAMMING ENVIRONMENT
The paper describes how students develop computational thinking through projects in educational programming environment, Scratch. Scratch is a free computer programming environment. Students can create a wide variety of interactive media projects – animations, stories, games, and more – and share those projects with others in an online community.
Computational thinking is an essential skill for students and educators in the digital age. The term computational thinking (CT) was first used by Seymour Papert in 1980 and it is widely adopted and investigated in the educational context, nowadays.
Computational thinking has been declared as fundamental skills for solving complex problems we encounter every day (Wing, 2006). CT goes far beyond the use of ICT tools in school curricula and it is mainly defined as a problem-solving process that includes logical, analytical and algorithmic thinking.
The essence of computational thinking involves:
• problem decomposition - breaking down complex problems into more familiar/manageable sub-problems
• algorithms - using a sequence of steps to solve problems
• abstraction - reviewing how the solution transfers to similar problems
• automation - determining if a computer can help for more efficiently solve those problems.
According to The International Society for Technology in Education (ISTE) and the Computer Science Teachers Association (CSTA), computational thinking is a problem-solving process that includes (but is not limited to) the following characteristics:
• Formulating problems in a way that enables us to use a computer and other tools to help solve them.
• Logically organizing and analyzing data
• Representing data through abstractions such as models and simulations
• Automating solutions through algorithmic thinking (a series of ordered steps)
• Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources
• Generalizing and transferring this problem solving process to a wide variety of problems.
Project Based Learning is an instructional method in which students solve real problems and tasks.
Computer programming environment - Scratch:
Scratch is a free computer programming environment. Students can create a wide variety of interactive media projects – animations, stories, games, and more – and share those projects with others in an online community. It facilitates a visual interface for game development, provides libraries of graphical elements, and requires few technical equipment and procedures.
Scratch helps students learn to think creatively, reason systematically, and work collaboratively – essential skills for life in the 21st century. Scratch uses a block structure, allowing students to code by attaching together blocks. These connected blocks serve as scripts which generate actions on the Scratch stage.
Working in Scrach programming environment students engage with a set of computational concepts that are common in many programming languages: performing a sequence of steps; executing multiple sequences through loops; implementation of several different sequences at the same time through parallelism; triggering one sequence through events; making decisions based on conditions; performing mathematical operations through operators; using data and variables.