Topzle Topzle

Scratch (programming language)

Updated: Wikipedia source

Scratch (programming language)

Scratch is a high-level, block-based visual programming language and website aimed primarily at children as an educational tool, with a target audience of ages 5 to 16. Users can create projects on the website using a block-like interface. Scratch was conceived and designed through collaborative National Science Foundation grants awarded to Mitchel Resnick and Yasmin Kafai. Scratch is developed by the MIT Media Lab and has been translated into 70+ languages, being used in most parts of the world. Scratch is taught and used in after-school centers, schools, and colleges, as well as other public knowledge institutions. As of 15 February 2023, community statistics on the language's official website show more than 123 million projects shared by over 103 million users, and more than 95 million monthly website visits. Overall, more than 1.15 billion projects have been created in total, with the site reaching its one billionth project on April 12, 2024. Scratch takes its name from a technique used by disk jockeys called "scratching", where vinyl records are clipped together and manipulated on a turntable to produce different sound effects and music. Like scratching, the website lets users mix together different media (including graphics, sound, and other programs) in creative ways by creating and "remixing" projects, like video games, animations, music, and simulations.

Infobox

Paradigm
Event-driven, block-based programming language
Developer
Scratch Foundation
First appeared
mw- 11 October 2003; 22 years ago (2003-10-11) (prototype Scratch 0.1) 15 May 2007; 18 years ago (2007-05-15) (Scratch 1.0) 9 May 2013; 12 years ago (2013-05-09) (Scratch 2.0) 2 January 2019; 6 years ago (2019-01-02) (Scratch 3.0)
Stable release
Scratch 3.0 (online editor) / 2 January 2019; 6 years ago (2019-01-02) Scratch 3.29.1 (offline editor) / 27 February 2022; 3 years ago (2022-02-27)
Implementation language
Squeak (Scratch 1.x)ActionScript (Scratch 2.0)HTML5, JavaScript (Scratch 3.0)
OS
Microsoft Windows, macOS, Linux (via renderer), HTML5 (via web browser), iOS, iPadOS, and Android.
License
GNU Affero General Public License (Scratch 3.0) BSD 3-Clause (earlier versions of 3.0), GPLv2 and Scratch Source Code License (1.x)
Filename extensions
sb, (Scratch 1.x).sb2, (Scratch 2.0).sb3, (Scratch 3.0)
Website
scratch.mit.edu

Tables

Block categories in Scratch · Scratch 3.0 › User interface
Category
Notes
Motion
Movements of sprites, like angles and directions.
Looks
Controls the visuals of the sprite.
Sound
Plays audio files and effects.
Events
Event handlers and broadcasters.
Control
Conditionals, loops, and cloning.
Sensing
Interactions between sprites, the mouse pointer, and the backdrop.
Operators
Mathematical operators, conjunctions, and comparisons.
Variables
Blocks to access and set variables. Cloud variables are synced across all running versions of the project.
Lists
Blocks to access and interact with lists.
My Blocks
User-defined functions, accessible as blocks. They can have inputs and have the option to run without a screen refresh.
Extensions
Extra categories (e.g. Pen, Music) of blocks that can be added to a project at any time.
Interface sections in Scratch · Older versions › Interface
Category
Notes
Motion
Moves and changes the position of sprites
Events
Event handlers
Looks
Controls the visuals of the sprite
Control
Conditionals and loops
Sound
Audio files, sequences, and music
Sensing
Sprite interaction
Pen
Draw on the canvas
Operators
Mathematical operators
Data
Variables, arrays and lists
More Blocks
Functions and extensions, return value is always void

References

  1. An open-source project for Scratch in Linux, not made by the Scratch team.
    https://github.com/redshaderobotics/scratch3.0-linux
  2. Scratch: A Sneak Preview
    https://www.researchgate.net/publication/221338134
  3. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Scratch_Timeline#May
  4. Computhink
    https://www.computhink.com.sg/what-you-need-to-know-about-scratch-3-0/
  5. bocoup
    https://bocoup.com/blog/porting-scratch-from-flash-to-javascript-performance-interoperability-and-extensions
  6. Scratch Foundation
    https://www.scratchfoundation.org/open-source-license
  7. catrobat.org
    https://catrobat.org/
  8. scratchjr.org
    https://scratchjr.org/
  9. snap.berkeley.edu
    https://snap.berkeley.edu/
  10. Makeblock
    https://www.makeblock.com/
  11. Code! .. Draw! .. Stitch! / TurtleStitch - Coded Embroidery
    https://www.turtlestitch.org/
  12. BBC Teach
    https://www.bbc.co.uk/teach/class-clips-video/articles/z4hpy9q
  13. scratch.mit.edu
    https://scratch.mit.edu/about
  14. www.nsf.gov
    https://www.nsf.gov/awardsearch/showAward?AWD_ID=0325828
  15. scratch.mit.edu
    https://scratch.mit.edu/statistics/
  16. MIT News
    https://news.mit.edu/2007/resnick-scratch
  17. Learn to Program with Scratch
  18. ScienceBuddies.org
    https://www.sciencebuddies.org/science-fair-projects/references/installing-getting-started-with-scratch
  19. "Scratch Desktop"
    https://scratch.mit.edu/download
  20. "Music Making in Scratch: High Floors, Low Ceilings, and Narrow Walls? /"
    https://jitp.commons.gc.cuny.edu/music-making-in-scratch-high-floors-low-ceilings-and-narrow-walls/
  21. lab.scratch.mit.edu
    https://lab.scratch.mit.edu/
  22. "Canadian schools starting to teach computer coding to kids"
    https://www.ctvnews.ca/sci-tech/article/canadian-schools-starting-to-teach-computer-coding-to-kids/
  23. Science Museum of Minnesota
    https://web.archive.org/web/20130408060603/http://www.smm.org/ltc/scratchday
  24. Teacher Librarian
    https://scholarworks.iupui.edu/bitstream/handle/1805/8622/38-4.pdf?sequence=1
  25. Communications of the ACM
    https://web.media.mit.edu/~mres/papers/Scratch-CACM-final.pdf
  26. DEVCLASS
    https://devclass.com/2020/04/06/kids-programming-language-scratch-nails-top-20-in-latest-dev-rankings/
  27. AV Magazine
    https://www.avinteractive.com/features/blogs/scratch-av-25-06-2015/
  28. "DAV CS Syllabus"
    https://web.archive.org/web/20180713122300/http://davnewpanvel.com/File/5651/Syllabus%20Std-VII%202018-19.pdf
  29. "DAV Jharkhand Syllabus"
    https://drive.google.com/file/d/0BzYkgDPSlegKbFFncEdwV3czVU0/view
  30. The Chronicle of Higher Education
    https://www.chronicle.com/article/Fun-Not-Fear-Is-at-the-Heart/34008/
  31. "CS50 Syllabus"
    https://cdn.cs50.net/2015/x/references/syllabus/syllabus.html
  32. Proceedings of the 29th International Conference on Human Factors in Computing Systems (CHI '11)
    https://arxiv.org/abs/1507.01285
  33. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
    https://arxiv.org/abs/1507.01284
  34. wiki.scratch.mit.edu
    https://en.scratch-wiki.info/wiki/Scratch_Design_Studio
  35. scratch.mit.edu
    https://scratch.mit.edu/educators
  36. Scratch Resources
    https://resources.scratch.mit.edu/www/guides/en/scratch-studios-guide.pdf
  37. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Scratch_Wiki
  38. Discuss Scratch
    https://scratch.mit.edu/discuss/post/44802/
  39. mitscratch.freshdesk.com
    https://mitscratch.freshdesk.com/en/support/solutions/articles/4000177710
  40. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Scratch_Team
  41. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Student_and_Teacher_Accounts
  42. TechCrunch
    https://techcrunch.com/2020/09/07/scratch-ban-in-china/
  43. Developer Tech News
    https://developer-tech.com/news/2020/sep/08/china-blocks-mit-kid-friendly-programming-language-scratch/
  44. Scratch Wiki
    https://en.scratch-wiki.info/wiki/Scratch_Source_Code
  45. Squeak/Smalltalk
    https://wiki.squeak.org/squeak/5833
  46. Discuss Scratch
    https://scratch.mit.edu/discuss/post/174127/
  47. Discuss Scratch
    https://scratch.mit.edu/discuss/post/322347/
  48. Google Developers
    https://developers.google.com/blockly
  49. "Scratch 3.0's new programming blocks, built on Blockly"
    https://web.archive.org/web/20190723020648/https://developers.googleblog.com/2019/01/scratch-30s-new-programming-blocks.html
  50. Meetup.com
    https://www.meetup.com/pro/scratched/
  51. "Scratch Week"
    https://day.scratch.mit.edu/
  52. llk.media.mit.edu
    http://llk.media.mit.edu/projects/summaries/bbp.shtml
  53. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Development_of_Scratch_1.0
  54. "Tactile Programming: A Unified Manipulation Paradigm Supporting Program Comprehension, Composition and Sharing"
    https://www.researchgate.net/publication/3651308
  55. scratch.mit.edu
    https://scratch.mit.edu/
  56. wiki.scratch.mit.edu
    https://en.scratch-wiki.info/wiki/Creative_Commons_License
  57. National Science Foundation
    https://www.nsf.gov/awardsearch/showAward?AWD_ID=0325828
  58. scratch.mit.edu
    https://scratch.mit.edu/download
  59. TechCrunch
    https://techcrunch.com/2013/05/10/kids-programming-tool-scratch-now-runs-in-the-browser/
  60. Discuss Scratch
    https://scratch.mit.edu/discuss/post/125955/
  61. YouTube
    https://www.youtube.com/watch?v=qDFY4O2JU9U
  62. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Scratch_3.0
  63. Medium.com
    https://medium.com/scratchteam-blog/3-things-to-know-about-scratch-3-0-18ee2f564278
  64. scratch.mit.edu
    https://scratch.mit.edu/info/faq#scratch3
  65. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Scratch_3.0
  66. Discuss Scratch
    https://scratch.mit.edu/discuss/post/7340551/
  67. Discuss Scratch
    https://scratch.mit.edu/discuss/post/7292215/
  68. Medium
    https://mres.medium.com/supporting-the-growth-of-scratch-e56dc7f84453
  69. "Scratch Wiki – *.sb"
    http://en.scratch-wiki.info/wiki/.sb
  70. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Scratch_File_Format/Object_Table
  71. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Scratch_File_Format/References
  72. Scratch Wiki
    https://en.scratch-wiki.info/wiki/Scratch_File_Format_(2.0)
  73. GitHub
    https://github.com/LLK/scratchx
  74. Scratch Wiki
    https://en.scratch-wiki.info/wiki/Scratch_File_Format
  75. "Scratch 2.0 Offline Editor"
    https://scratch.mit.edu/download/scratch2
  76. "3 Things To Know About Scratch 3.0"
    https://medium.com/scratchteam-blog/3-things-to-know-about-scratch-3-0-18ee2f564278
  77. en.scratch-wiki.info
    https://en.scratch-wiki.info/wiki/Offline_Editor_(2.0)#Uploading
  78. Scratch Archived Forums
    https://scratcharchive.asun.co/forums/viewtopic.php?id=57148
  79. "Mozilla Kills Default Support for Adobe Flash in Firefox 69"
    https://threatpost.com/flash-default-mozilla-firefox-69/140814/
  80. "The Future of Adobe AIR"
    https://web.archive.org/web/20190825060523/https://theblog.adobe.com/the-future-of-adobe-air/
  81. Maine EDU
    https://usm.maine.edu/stem-outreach/wp-content/uploads/sites/421/2023/10/ScratchReferenceGuide14.pdf
  82. Scratch Programming in easy steps
  83. "Scratch Extension"
    https://en.scratch-wiki.info/wiki/Scratch_Extension
  84. Scratch extension GitHub
    https://kaspesla.github.io/ev3_scratch/
  85. Scratch extension GitHub
    https://github.com/damellis/A4S
  86. !
    https://snap.berkeley.edu/
  87. Scratch
    https://scratch.mit.edu/users/Jens/
  88. Chirp Blog
    https://web.archive.org/web/20131206131246/http://www.chirp.scratchr.org/blog/?m=201105
  89. Electrical Engineering and Computer Sciences
    https://people.eecs.berkeley.edu/~bh/
  90. Scratch
    https://scratch.mit.edu/users/bharvey/
  91. EECS Instructional Support Group Home Page
    http://inst.eecs.berkeley.edu/~cs10/fa11/
  92. "Relationship With the Scratch Team"
    https://web.archive.org/web/20200102174249/https://forum.snap.berkeley.edu/t/relationship-with-the-scratch-team/1277
  93. "About ScratchJr"
    https://www.scratchjr.org/about/info
  94. Scratch Addons Docs
    https://scratchaddons.com/docs/faq/
  95. Proceedings of the 15th International Conference on Computer Supported Education
    https://www.scitepress.org/Papers/2023/118382/118382.pdf
  96. docs.turbowarp.org
    https://docs.turbowarp.org/how
  97. turbowarp.org
    https://turbowarp.org/
  98. packager.turbowarp.org
    https://packager.turbowarp.org/
  99. Github
    https://github.com/LLK/scratch-vm/blob/develop/docs/extensions.md
  100. Scratch Wiki
    https://en.scratch-wiki.info/wiki/Scratch_Modification
  101. Scratch Wiki
    https://en.scratch-wiki.info/wiki/Blocks
Image
Source:
Tip: Wheel or +/− to zoom, drag to pan, Esc to close.