SlideShare a Scribd company logo
1 of 23
Scratch
Intuitive and Accessible Programming
What is Scratch?
What is Scratch?
Visual Programming Language
“Lets users create programs by
manipulating program elements
graphically rather than by specifying
them textually” - Wikipedia
What is Scratch?
“Three core design principles
for Scratch:
Make it more tinkerable, more
meaningful, and more social
than other programming
environments.”
- Mitchel Resnick et al.
What is Scratch?
 Developed at MIT by the
Lifelong Kindergarten Group,
led by Professor Mitchel Resnick
 First released 2002
 Website launched 2007
 Scratch 2.0 released 2013
What is Scratch?
 Designed for ages 8-16
 Most users are preteens and teens, but
user age ranges from 4 to 80
 Open source, free to use
 Can be used online or downloaded locally
 Available in more than 150 countries and
more than 40 languages
 South Sudan and Antarctica are the only
countries with no users
Technical Requirements for Scratch 2.0
 Mac, Linux, or Windows computer
 Adobe Flash Player (recent version)
 One of the latest two versions of
Chrome, Firefox, Safari, Edge, or
Internet Explorer 10+
 Otherwise, Scratch 1.4 can be
downloaded and used locally
How does
it work?
How does
it work?
Users connect “blocks”,
each of which comprise a
section of script.
Blocks can render visual or
auditory actions,
determine triggers for
running scripts, create
loops, perform operations,
and just about anything
else other programming
languages can.
How does
it work?
1. Motion
2. Looks
3. Sound
4. Pen
5. Data
6. Events
7. Control
8. Sensing
9. Operators
10. More Blocks
Blocks are presented in
ten categories:
How does
it work?
Connecting blocks makes
the functions run together
as a group, sequentially
from top to bottom.
Under “More Blocks” users
can create their own
blocks from scratch, or
connect their project to
external sensors, in
particular the Picoboard
and LEGO WeDo.
How does
it work?
So this code would result in
1. When the character is
clicked, a speech
balloon appears with
“Hello!” for 2 seconds
2. Then, an infinite loop
involving a) the
character changing
color and moving back
and forth and b) two
different drumbeats
playing begins
What can
it make?
Animations
Games
Scientific and
mathematic
simulations
Interactive art
What can
it make?
The Colour Divide – animation series by bubble103
https://scratch.mit.edu/projects/71447764/
What can
it make?
Scratchnapped – platformer game by griffpatch
https://scratch.mit.edu/projects/10118230/
Reception
Reception of Scratch has largely been positive,
with research illustrating its benefits for beginning
programmers
 Positive contribution to logical-mathematical
thinking skills and overall academic achievement
(Korkmaz, 2016)
 Helps develop creativity (Korkmaz, 2016)
 Significantly enables understanding of basic programming concepts as well as slightly
more complex core concepts (Simpkins, 2014)
Reception
Reception of Scratch has largely been positive,
with research illustrating its benefits for beginning
programmers
 “Kelleher and Pausch [7] […] noted how systems can
make programming more accessible for novices
“by simplifying the mechanics of programming, by
providing support for learners, and by providing
students with motivation to learn to program” (p. 131).
We think that Scratch addresses all three of these
areas.” (Maloney et al., 2008)
 “Importantly, students report that they consider the transferability of the programming skills
they have learnt in a blocks environment to a traditional textual language as very
straightforward” (Simpkins, 2014)
Criticism & Controversy
The major criticisms of Scratch include
 Ultimately limiting in its programming capabilities
(Simpkins, 2014)
 However, Scratch is only intended as an introductory tool
 Technical requirements potentially exclude large
portions of people globally who do not have access
to the latest hardware and software
 Most users are in the US, UK, Australia, and Canada
Criticism & Controversy
Controversy with Apple (Chen, 2010)
 In 2010, Apple removed the Scratch app from iTunes
 “No interpreted code may be downloaded or used in
an Application except for code that is interpreted and
run by Apple’s Documented APIs and built-in
interpreter(s)” – developer agreement, clause 3.3.2
 “Scratch doesn’t seem like the sort of thing that one
could use to build software that’s even vaguely of the
caliber of native iPhone apps” - John Gruber
 The Scratch app has since returned to the App Store
Conclusions
Free, open source, and intuitive, Scratch
provides a much-needed first step into
programming concepts for beginners.
Scratch’s use in programming education, from
elementary school to universities to individuals
in their home, is a testament to its
effectiveness.
With over 15 million registered users, and
numbers of daily users and daily projects
posted at their peaks and rising, Scratch does
not show signs of slowing down.
Tutorial!
https://scratch.mit.edu/projects/
editor/?tip_bar=getStarted
References &
Further Reading
Chen, B. X. (2010, April 20). Apple Rejects Kid-Friendly Programming App. Retrieved December 3, 2016,
from https://www.wired.com/2010/04/apple-scratch-app/
Harvard Graduate School of Education. (n.d.). [Scratch blocks]. Retrieved December 1, 2016, from
http://scratched.gse.harvard.edu/guide/Video
Korkmaz, Ö. (2016, October). The Effect of Scratch- and Lego Mindstorms Ev3-Based Programming
Activities on Academic Achievement, Problem-Solving Skills and Logical-Mathematical Thinking Skills of
Students. Malaysian Online Journal of Educational Sciences, 4(3), 73-88.
The LEAD Project. (2016). [Super Scratch Programming Adventure]. Retrieved December 3, 2016, from
https://www.nostarch.com/scratch
Lifelong Kindergarten Group. (n.d.). Scratch - Imagine, Program, Share. Retrieved November 29, 2016,
from https://scratch.mit.edu/
Lifelong Kindergarten Group. (n.d.). Scratch - Imagine, Program, Share. Retrieved December 3, 2016, from
https://scratch.mit.edu/statistics/
References &
Further Reading
Maloney, J. H., et al. (2008, March). Programming by choice: Urban youth learning
programming with Scratch. ACM SIGCSE Bulletin. doi:10.1145/1352322.1352260
Resnick, M., et al. (2009, November). Scratch: Programming for all. Communications of the
ACM, 52(11), 60-67. doi:10.1145/1592761.1592779
[Scratch logo and cat]. (2016). Retrieved December 1, 2016, from
http://www.romansrobots.com/courses/
Simpkins, N. K. (2014, July-September). I Scratch and Sense But Can I Program? International
Journal of Information and Communication Technology Education, 10(3), 87-116.
doi:10.4018/ijicte.2014070107
Visual programming language. (2016, November 2). Retrieved November 29, 2016, from
https://en.wikipedia.org/wiki/Visual_programming_language

More Related Content

What's hot

An introduction to Scratch
An introduction to ScratchAn introduction to Scratch
An introduction to ScratchPiers Midwinter
 
Scratch Lesson 1 – Basics
Scratch Lesson 1 – BasicsScratch Lesson 1 – Basics
Scratch Lesson 1 – BasicsDavid Oromaner
 
Elements of Java Language
Elements of Java Language Elements of Java Language
Elements of Java Language Hitesh-Java
 
Introduction to scratch programming
Introduction to scratch programmingIntroduction to scratch programming
Introduction to scratch programmingPatrick John McGee
 
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...Edureka!
 
Scratch Lesson 2 – Paint Editor
Scratch Lesson 2 – Paint EditorScratch Lesson 2 – Paint Editor
Scratch Lesson 2 – Paint EditorDavid Oromaner
 
Scratch programming introduction to game creation
Scratch programming  introduction to game creationScratch programming  introduction to game creation
Scratch programming introduction to game creationAnkita Shirke
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming LanguageCihad Horuzoğlu
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to javaSaba Ameer
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With AppiumKnoldus Inc.
 

What's hot (20)

Scratch Basics
Scratch BasicsScratch Basics
Scratch Basics
 
An introduction to Scratch
An introduction to ScratchAn introduction to Scratch
An introduction to Scratch
 
Intro To Scratch
Intro To ScratchIntro To Scratch
Intro To Scratch
 
Scratch Animation
Scratch AnimationScratch Animation
Scratch Animation
 
Scratch Programming
Scratch ProgrammingScratch Programming
Scratch Programming
 
Scratch Project
Scratch ProjectScratch Project
Scratch Project
 
Scratch Lesson 2
Scratch Lesson 2Scratch Lesson 2
Scratch Lesson 2
 
Scratch Lesson 1 – Basics
Scratch Lesson 1 – BasicsScratch Lesson 1 – Basics
Scratch Lesson 1 – Basics
 
Scratch Lesson 1
Scratch Lesson 1Scratch Lesson 1
Scratch Lesson 1
 
Elements of Java Language
Elements of Java Language Elements of Java Language
Elements of Java Language
 
Introduction to scratch programming
Introduction to scratch programmingIntroduction to scratch programming
Introduction to scratch programming
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
Swift Tutorial For Beginners | Swift Programming Tutorial | IOS App Developme...
 
Scratch Lesson 2 – Paint Editor
Scratch Lesson 2 – Paint EditorScratch Lesson 2 – Paint Editor
Scratch Lesson 2 – Paint Editor
 
Scratchjr 1
Scratchjr 1Scratchjr 1
Scratchjr 1
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Scratch programming introduction to game creation
Scratch programming  introduction to game creationScratch programming  introduction to game creation
Scratch programming introduction to game creation
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 

Viewers also liked

Programming in scratch
Programming in scratchProgramming in scratch
Programming in scratchHussam Mostafa
 
Primary Programming and Scratch
Primary Programming and ScratchPrimary Programming and Scratch
Primary Programming and ScratchMiles Berry
 
Recreation with Scratch Animation Presentation
Recreation with Scratch Animation PresentationRecreation with Scratch Animation Presentation
Recreation with Scratch Animation PresentationMary-Anne Saunders
 
Scratch: School and Programming Languages
Scratch: School and Programming Languages Scratch: School and Programming Languages
Scratch: School and Programming Languages 2YOUNG2FAIL
 
Scratch Demo Day Beach Cities CUE Talk 2016
Scratch Demo Day Beach Cities CUE Talk 2016Scratch Demo Day Beach Cities CUE Talk 2016
Scratch Demo Day Beach Cities CUE Talk 2016Gregory Beutler
 
How To Create Winning Ads On Facebook
How To Create Winning Ads On FacebookHow To Create Winning Ads On Facebook
How To Create Winning Ads On FacebookPearl Omotoyinbo
 
Cross curricular scratch
Cross curricular scratchCross curricular scratch
Cross curricular scratchJEcomputing
 
Code Like A Boss - NETA 2016
Code Like A Boss - NETA 2016Code Like A Boss - NETA 2016
Code Like A Boss - NETA 2016Jason Rushing
 
Technology of Peace - Child builds computer, computer grows with child
Technology of Peace - Child builds computer, computer grows with childTechnology of Peace - Child builds computer, computer grows with child
Technology of Peace - Child builds computer, computer grows with childPhilippe Scheimann
 

Viewers also liked (20)

Programming in scratch
Programming in scratchProgramming in scratch
Programming in scratch
 
Programming from scratch™
Programming from scratch™Programming from scratch™
Programming from scratch™
 
Primary Programming and Scratch
Primary Programming and ScratchPrimary Programming and Scratch
Primary Programming and Scratch
 
Recreation with Scratch Animation Presentation
Recreation with Scratch Animation PresentationRecreation with Scratch Animation Presentation
Recreation with Scratch Animation Presentation
 
Scratch 2 Social Media
Scratch 2 Social Media Scratch 2 Social Media
Scratch 2 Social Media
 
Scratch: School and Programming Languages
Scratch: School and Programming Languages Scratch: School and Programming Languages
Scratch: School and Programming Languages
 
Programming&coding
Programming&codingProgramming&coding
Programming&coding
 
Coding 101
Coding 101Coding 101
Coding 101
 
Scratch
ScratchScratch
Scratch
 
Picaxe manual5
Picaxe manual5Picaxe manual5
Picaxe manual5
 
Blockly
BlocklyBlockly
Blockly
 
Scratch Demo Day Beach Cities CUE Talk 2016
Scratch Demo Day Beach Cities CUE Talk 2016Scratch Demo Day Beach Cities CUE Talk 2016
Scratch Demo Day Beach Cities CUE Talk 2016
 
Learn to Code and Have Fun Doing It!
Learn to Code and Have Fun Doing It! Learn to Code and Have Fun Doing It!
Learn to Code and Have Fun Doing It!
 
2D Game Development with scratch
2D Game Development with scratch2D Game Development with scratch
2D Game Development with scratch
 
Advertising Powerpoint
Advertising PowerpointAdvertising Powerpoint
Advertising Powerpoint
 
How To Create Winning Ads On Facebook
How To Create Winning Ads On FacebookHow To Create Winning Ads On Facebook
How To Create Winning Ads On Facebook
 
Facebook pixel
Facebook pixelFacebook pixel
Facebook pixel
 
Cross curricular scratch
Cross curricular scratchCross curricular scratch
Cross curricular scratch
 
Code Like A Boss - NETA 2016
Code Like A Boss - NETA 2016Code Like A Boss - NETA 2016
Code Like A Boss - NETA 2016
 
Technology of Peace - Child builds computer, computer grows with child
Technology of Peace - Child builds computer, computer grows with childTechnology of Peace - Child builds computer, computer grows with child
Technology of Peace - Child builds computer, computer grows with child
 

Similar to Intuitive Visual Programming with Scratch

My Honor As An Aggie
My Honor As An AggieMy Honor As An Aggie
My Honor As An AggieAnn Johnson
 
journalism research paper
journalism research paperjournalism research paper
journalism research paperrikaseorika
 
Scratch and pair programming
Scratch and pair programmingScratch and pair programming
Scratch and pair programmingjtelss10
 
Measure scratchwilson-moffat-ppig2010-final
Measure scratchwilson-moffat-ppig2010-finalMeasure scratchwilson-moffat-ppig2010-final
Measure scratchwilson-moffat-ppig2010-finalFajar Baskoro
 
Enhancing student engagement with open source software
Enhancing student engagement with open source softwareEnhancing student engagement with open source software
Enhancing student engagement with open source softwareJames Richardson
 
Scratch Handout
Scratch HandoutScratch Handout
Scratch HandoutCM Ites
 
Summer training report on java se6 technology
Summer training  report on java se6 technologySummer training  report on java se6 technology
Summer training report on java se6 technologyShamsher Ahmed
 
Ites Scratch Software Review
Ites Scratch Software ReviewItes Scratch Software Review
Ites Scratch Software ReviewCM Ites
 
Open Source Software for Entertainment
Open Source Software for EntertainmentOpen Source Software for Entertainment
Open Source Software for Entertainmentletiziajaccheri
 
Platform Independent App design
Platform Independent App designPlatform Independent App design
Platform Independent App designArnab Pradhan
 

Similar to Intuitive Visual Programming with Scratch (20)

Scratch
ScratchScratch
Scratch
 
Scratch
ScratchScratch
Scratch
 
My Honor As An Aggie
My Honor As An AggieMy Honor As An Aggie
My Honor As An Aggie
 
Scratch pp ohrid
Scratch pp ohridScratch pp ohrid
Scratch pp ohrid
 
journalism research paper
journalism research paperjournalism research paper
journalism research paper
 
Scratch
ScratchScratch
Scratch
 
History Of C Essay
History Of C EssayHistory Of C Essay
History Of C Essay
 
Scratch and pair programming
Scratch and pair programmingScratch and pair programming
Scratch and pair programming
 
Scratch day 2011
Scratch day 2011Scratch day 2011
Scratch day 2011
 
Measure scratchwilson-moffat-ppig2010-final
Measure scratchwilson-moffat-ppig2010-finalMeasure scratchwilson-moffat-ppig2010-final
Measure scratchwilson-moffat-ppig2010-final
 
Enhancing student engagement with open source software
Enhancing student engagement with open source softwareEnhancing student engagement with open source software
Enhancing student engagement with open source software
 
Scratch Handout
Scratch HandoutScratch Handout
Scratch Handout
 
1321703.pdf
1321703.pdf1321703.pdf
1321703.pdf
 
Project on scratch
Project on scratchProject on scratch
Project on scratch
 
Summer training report on java se6 technology
Summer training  report on java se6 technologySummer training  report on java se6 technology
Summer training report on java se6 technology
 
Ites Scratch Software Review
Ites Scratch Software ReviewItes Scratch Software Review
Ites Scratch Software Review
 
scratch-3-tutorial.pdf
scratch-3-tutorial.pdfscratch-3-tutorial.pdf
scratch-3-tutorial.pdf
 
Open Source Software for Entertainment
Open Source Software for EntertainmentOpen Source Software for Entertainment
Open Source Software for Entertainment
 
Core Java Training report
Core Java Training reportCore Java Training report
Core Java Training report
 
Platform Independent App design
Platform Independent App designPlatform Independent App design
Platform Independent App design
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Intuitive Visual Programming with Scratch

  • 3. What is Scratch? Visual Programming Language “Lets users create programs by manipulating program elements graphically rather than by specifying them textually” - Wikipedia
  • 4. What is Scratch? “Three core design principles for Scratch: Make it more tinkerable, more meaningful, and more social than other programming environments.” - Mitchel Resnick et al.
  • 5. What is Scratch?  Developed at MIT by the Lifelong Kindergarten Group, led by Professor Mitchel Resnick  First released 2002  Website launched 2007  Scratch 2.0 released 2013
  • 6. What is Scratch?  Designed for ages 8-16  Most users are preteens and teens, but user age ranges from 4 to 80  Open source, free to use  Can be used online or downloaded locally  Available in more than 150 countries and more than 40 languages  South Sudan and Antarctica are the only countries with no users
  • 7. Technical Requirements for Scratch 2.0  Mac, Linux, or Windows computer  Adobe Flash Player (recent version)  One of the latest two versions of Chrome, Firefox, Safari, Edge, or Internet Explorer 10+  Otherwise, Scratch 1.4 can be downloaded and used locally
  • 9. How does it work? Users connect “blocks”, each of which comprise a section of script. Blocks can render visual or auditory actions, determine triggers for running scripts, create loops, perform operations, and just about anything else other programming languages can.
  • 10. How does it work? 1. Motion 2. Looks 3. Sound 4. Pen 5. Data 6. Events 7. Control 8. Sensing 9. Operators 10. More Blocks Blocks are presented in ten categories:
  • 11. How does it work? Connecting blocks makes the functions run together as a group, sequentially from top to bottom. Under “More Blocks” users can create their own blocks from scratch, or connect their project to external sensors, in particular the Picoboard and LEGO WeDo.
  • 12. How does it work? So this code would result in 1. When the character is clicked, a speech balloon appears with “Hello!” for 2 seconds 2. Then, an infinite loop involving a) the character changing color and moving back and forth and b) two different drumbeats playing begins
  • 13. What can it make? Animations Games Scientific and mathematic simulations Interactive art
  • 14. What can it make? The Colour Divide – animation series by bubble103 https://scratch.mit.edu/projects/71447764/
  • 15. What can it make? Scratchnapped – platformer game by griffpatch https://scratch.mit.edu/projects/10118230/
  • 16. Reception Reception of Scratch has largely been positive, with research illustrating its benefits for beginning programmers  Positive contribution to logical-mathematical thinking skills and overall academic achievement (Korkmaz, 2016)  Helps develop creativity (Korkmaz, 2016)  Significantly enables understanding of basic programming concepts as well as slightly more complex core concepts (Simpkins, 2014)
  • 17. Reception Reception of Scratch has largely been positive, with research illustrating its benefits for beginning programmers  “Kelleher and Pausch [7] […] noted how systems can make programming more accessible for novices “by simplifying the mechanics of programming, by providing support for learners, and by providing students with motivation to learn to program” (p. 131). We think that Scratch addresses all three of these areas.” (Maloney et al., 2008)  “Importantly, students report that they consider the transferability of the programming skills they have learnt in a blocks environment to a traditional textual language as very straightforward” (Simpkins, 2014)
  • 18. Criticism & Controversy The major criticisms of Scratch include  Ultimately limiting in its programming capabilities (Simpkins, 2014)  However, Scratch is only intended as an introductory tool  Technical requirements potentially exclude large portions of people globally who do not have access to the latest hardware and software  Most users are in the US, UK, Australia, and Canada
  • 19. Criticism & Controversy Controversy with Apple (Chen, 2010)  In 2010, Apple removed the Scratch app from iTunes  “No interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s)” – developer agreement, clause 3.3.2  “Scratch doesn’t seem like the sort of thing that one could use to build software that’s even vaguely of the caliber of native iPhone apps” - John Gruber  The Scratch app has since returned to the App Store
  • 20. Conclusions Free, open source, and intuitive, Scratch provides a much-needed first step into programming concepts for beginners. Scratch’s use in programming education, from elementary school to universities to individuals in their home, is a testament to its effectiveness. With over 15 million registered users, and numbers of daily users and daily projects posted at their peaks and rising, Scratch does not show signs of slowing down.
  • 22. References & Further Reading Chen, B. X. (2010, April 20). Apple Rejects Kid-Friendly Programming App. Retrieved December 3, 2016, from https://www.wired.com/2010/04/apple-scratch-app/ Harvard Graduate School of Education. (n.d.). [Scratch blocks]. Retrieved December 1, 2016, from http://scratched.gse.harvard.edu/guide/Video Korkmaz, Ö. (2016, October). The Effect of Scratch- and Lego Mindstorms Ev3-Based Programming Activities on Academic Achievement, Problem-Solving Skills and Logical-Mathematical Thinking Skills of Students. Malaysian Online Journal of Educational Sciences, 4(3), 73-88. The LEAD Project. (2016). [Super Scratch Programming Adventure]. Retrieved December 3, 2016, from https://www.nostarch.com/scratch Lifelong Kindergarten Group. (n.d.). Scratch - Imagine, Program, Share. Retrieved November 29, 2016, from https://scratch.mit.edu/ Lifelong Kindergarten Group. (n.d.). Scratch - Imagine, Program, Share. Retrieved December 3, 2016, from https://scratch.mit.edu/statistics/
  • 23. References & Further Reading Maloney, J. H., et al. (2008, March). Programming by choice: Urban youth learning programming with Scratch. ACM SIGCSE Bulletin. doi:10.1145/1352322.1352260 Resnick, M., et al. (2009, November). Scratch: Programming for all. Communications of the ACM, 52(11), 60-67. doi:10.1145/1592761.1592779 [Scratch logo and cat]. (2016). Retrieved December 1, 2016, from http://www.romansrobots.com/courses/ Simpkins, N. K. (2014, July-September). I Scratch and Sense But Can I Program? International Journal of Information and Communication Technology Education, 10(3), 87-116. doi:10.4018/ijicte.2014070107 Visual programming language. (2016, November 2). Retrieved November 29, 2016, from https://en.wikipedia.org/wiki/Visual_programming_language