Scratch: educational programming

Scratch is a free programming language used to teach children about basic computer programming through the creation and use of interactive stories, games, art, simulations and more. The concept behind the program is to emulate programming by having users drag blocks from a block palette and attaching them to other blocks. Essentially it is building code with blocks, also known as “drag-and-drop programming.”

2000px-scratchcat-svg

The program is very intuitive and easy to use. The user interface divides the screen into several panes where the command blocks are dragged from one section to another. The main pane is the stage where the “sprites” or animations are played. The other panes are the sprite pane, the block pallet, the costume pane, and the toolbar.  Within the block pallet the commands are in ten different groups ranging from motion, looks, sounds, pen, control, events, sensing, operators, variables, and more. One can get an idea of how the program works by simply looking at games that have already been created.

What is so neat about this language is it can be used for more than just learning code. Students, teachers, scholars and even parents are coming together and creating games that can be used for an array of topics and subjects. Currently Scratch is being used from a constructivist learning point of view for math, science, art, and social sciences. There is even a community within the Scratch site where any user can  share projects and remix other projects from other users. All projects on the website are shared under a Creative Commons attribution and can be played in web browser using Flash Player. There are also online communities specifically for certain groups like educators, ScratchEd.

Link

Computational Thinking

Computational thinking is a problem solving process used by computers to help people think more efficiently and effective when tackling new ideas or projects. The process consists in collecting data to break it down and analyze to identify patterns that can be used to create a plan to solve a given problem or idea.

computational-thinking-white-bg-300x300[1].jpgComputational thinking is causing big waves outside the computer science field given that it has the potential be used in an array of educational levels. CT offers educators and students the necessary skills needed to succeed in today’s society. Even more so, computational thinking makes the learning process engaging and fun.

computational-thinking-21-638[1].jpg

 

Video

Components of Computational Thinking

  • Data collection: gathering appropriate information
  • Data analysis: Finding patterns and drawing conclusions
  • Data representation: Organizing data in appropriate categories and images
  • Decomposition: Breaking down tasks into smaller manageable parts
  • Abstraction: Reducing complexity to define main idea

barefoot-ct-poster-for-website

  • Algorithms and procedures: Series of ordered steps taken to solve a problem or achieve some end.
  • Automation: Having computers or machines do repetitive or tedious tasks.
  • Simulation: Representation or model of a process. Also running experiments using models.
  • Parallelization: Organize resources to simultaneously carry out tasks to reach a common goal.