{"id":28477,"date":"2018-11-16T13:01:06","date_gmt":"2018-11-16T05:01:06","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=28477"},"modified":"2022-07-17T22:04:41","modified_gmt":"2022-07-17T14:04:41","slug":"teaching-kids-coding-mit-scratch-languages","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/","title":{"rendered":"How to Teach Kids to Code with MIT Scratch Language"},"content":{"rendered":"<p>Children <strong>learn differently<\/strong> than adults, therefore if we want to teach them to code, we need to use an approach <strong>suitable to their needs<\/strong>. Adults\u2019 coding courses usually start with explaining building blocks, such as data types, variables, and functions, however this teaching method <strong>doesn\u2019t fit well with most kids<\/strong>.<\/p>\n<p><strong>Visual block languages<\/strong> offer a solution to this issue by introducing learners to coding with the help of <strong>visual building blocks<\/strong>. Block languages (sometimes also called bubble languages) <strong>focus on logic rather than on syntax<\/strong>, and teach coding <strong>via creative projects<\/strong>.<\/p>\n<p>A handful of great apps teaching block languages, such as <a href=\"https:\/\/scratch.mit.edu\/\" target=\"_blank\" rel=\"noopener\">Scratch<\/a>, <a href=\"https:\/\/code.org\/\" target=\"_blank\" rel=\"noopener\">Code.org<\/a>, and <a href=\"https:\/\/www.tynker.com\/\" target=\"_blank\" rel=\"noopener nofollow\">Tynker<\/a>, are available on the net (Scratch and Code.org are free, and Tynker comes <a href=\"https:\/\/www.tynker.com\/courses\/#\/pricing-plans\" target=\"_blank\" rel=\"noopener nofollow\">at a friendly price<\/a>).<\/p>\n<p class=\"recommended_top\">\n\t\t\t\t\t<strong>Read Also:<\/strong>\u00a0\n\t\t\t\t\t<a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/myths-teaching-kids-coding\/\">5 Myths about Teaching Kids to Code<\/a>\n\t\t\t\t<\/p>\n<p>One of the best thing about them is that you don\u2019t necessarily have to be a programmer to help your kids get started with them. In this article, we\u2019ll have a look into Scratch, a visual block language developed by <strong>Google<\/strong> and the <abbr title=\"Massachusetts Institute of Technology\"><strong>MIT<\/strong><\/abbr><strong> Media Lab.<\/strong><\/p>\n<figure><a href=\"https:\/\/scratch.mit.edu\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/scratch-home-page.jpg\" width=\"800\" height=\"511\" alt=\"Scratch Home Page\"><\/a><\/figure>\n<h2>Get started<\/h2>\n<p><strong><a href=\"https:\/\/scratch.mit.edu\" target=\"_blank\" rel=\"noopener\">Scratch<\/a><\/strong> is a programming language created for educational purposes, in which you need to <strong>snap blocks together<\/strong> in order to create different projects, such as animations, games, and interactive stories.<\/p>\n<p>Scratch is primarily created for children and teenagers <strong>between the ages of 8 and 16<\/strong>, but in some cases it can work for younger kids and adult learners as well.<\/p>\n<p>Scratch is available in <a href=\"https:\/\/scratch.mit.edu\/about\" target=\"_blank\" rel=\"noopener\">more than 40 languages<\/a>, its latest version is <strong>Scratch 2<\/strong> that runs in more recent web browsers on Windows, Mac, and Linux machines. If you have problems with the <a href=\"https:\/\/scratch.mit.edu\/info\/faq\" target=\"_blank\" rel=\"noopener\">system requirements<\/a>, you can use its earlier version, <a href=\"https:\/\/scratch.mit.edu\/scratch_1.4\/\" target=\"_blank\" rel=\"noopener\">Scratch 1.4<\/a>, as well.<\/p>\n<p class=\"recommended_top\">\n\t\t\t\t\t<strong>Read Also:<\/strong>\u00a0\n\t\t\t\t\t<a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/programming-tools-kids\/\">10 Tools to Teach Kids Basics of Programming<\/a>\n\t\t\t\t<\/p>\n<p>You can use Scratch <strong>in 3 different ways<\/strong>:<\/p>\n<ol>\n<li><strong>Create an online account<\/strong>, and <strong>use the online editor<\/strong>. If you choose this, you can save your projects online, and share them with the Scratch community.<\/li>\n<li>Use the online editor <strong>anonymously<\/strong>. If you choose this, you can save your projects only to your computer.<\/li>\n<li>Download the <a href=\"https:\/\/scratch.mit.edu\/scratch2download\/\" target=\"_blank\" rel=\"noopener\">Scratch Offline Editor<\/a>, and <strong>work locally<\/strong>.<\/li>\n<\/ol>\n<p>To get started, <strong>click the <a href=\"https:\/\/scratch.mit.edu\/projects\/editor\/?tip_bar=home\" target=\"_blank\" rel=\"noopener\">Create<\/a> menu<\/strong> in the top menu bar, and the Scratch editor will appear on your screen.<\/p>\n<figure><a href=\"https:\/\/scratch.mit.edu\/projects\/editor\/?tip_bar=home\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/scratch-editor.jpg\" width=\"800\" height=\"449\" alt=\"Scratch Editor\"><\/a><\/figure>\n<h2>Create the design<\/h2>\n<p>First, let\u2019s <strong>add the design elements<\/strong> to our program. The workflow of real-life programming is basically the same, first we need to <strong>create the design elements<\/strong>, such as backgrounds, buttons, and navigation (this part is usually done by a designer), then we need to <strong>add functionality to them<\/strong> with code (this part is done by a programmer).<\/p>\n<h3>Sprites and backdrops<\/h3>\n<p>Scratch offers two different kind of design elements: <strong>backdrops<\/strong> and <strong>Sprites<\/strong>.<\/p>\n<p>The term \u201cbackdrop\u201d stands for the background, and the term \u201cSprite\u201d stands for the characters (the default character is the cat you can see on the screenshot above). Their related settings are in the bottom left corner, below the stage.<\/p>\n<p>There are four ways to <strong>add a new backdrop or Sprite<\/strong> to the stage, you can choose one from a predefined library, paint one, upload one from your computer, or take a photo with your web camera.<\/p>\n<p>Now let\u2019s use the quickest solution, and choose a backdrop from the <strong>Backdrop Library<\/strong>.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/backdrop-library.jpg\" width=\"800\" height=\"387\" alt=\"Backdrop Library\"><\/figure>\n<p>Also let\u2019s choose one or more Sprites from the <strong>Sprite Library<\/strong> by clicking on the little sprite icon next to the \u201cNew sprite\u201d label in the bottom left corner of the screen.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/sprite-library.jpg\" width=\"800\" height=\"386\" alt=\"Sprite Library\"><\/figure>\n<p>If you want, you can edit both the backdrop and the Sprites with the help of a handy <strong>image editor<\/strong> that automatically appears after you add a new design element to the stage.<\/p>\n<p>Below, you can see my screen right after I added the \u201cNight city\u201d backdrop to my stage \u2014 if I wanted I could change the looks of the backdrop with the drawing tools of the image editor.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/night-city-backdrop.jpg\" width=\"800\" height=\"388\" alt=\"Night City Backdrop\"><\/figure>\n<p>In this article, I will create a <strong>simple animation<\/strong> about a girl who is scared by a ghost in a night city (I know\u2026). I already have the night city backdrop, and now I need two Sprites: a girl and a ghost.<\/p>\n<p>I don\u2019t need the default cat, therefore I right-click on it, and remove it. I add the girl and the ghost from the Sprite library. As the ghost is bigger than the girl, and they look awkward next to each other, I resize the ghost using the image editor.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/resize-ghost.jpg\" width=\"800\" height=\"572\" alt=\"Resize Ghost\"><\/figure>\n<p>Now I have all the design elements I need. Below you can see how my stage looks like right now. In the next section, we\u2019ll <strong>add functionality<\/strong> to the two Sprites (the girl and the ghost) by <strong>using Scratch blocks<\/strong>.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/initial-setup.jpg\" width=\"480\" height=\"581\" alt=\"Initial Setup\"><\/figure>\n<h2>Add functionality<\/h2>\n<p>The <strong>Scratch blocks<\/strong> that can be found under the <strong>\u201cScripts\u201d<\/strong> tab. Behind each block there is an <strong>underlying code snippet<\/strong>.<\/p>\n<p>Blocks are grouped into 10 categories (Motion, Looks, Sound, Pen, Data, Events, Control, Sensing, Operators, More blocks), each of them use a <strong>different color<\/strong>, this way the block groups are <strong>easily distinguishable<\/strong>.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/scripts-panel.jpg\" width=\"800\" height=\"574\" alt=\"Scripts Panel\"><\/figure>\n<p>We will add functionality to each Sprite (specifically we\u2019ll animate them), which means each Sprite <strong>will have its own script<\/strong> (sequence of Scratch blocks).<\/p>\n<p>Note that we could add a separate script to the backdrop as well, for instance change its colors from day to night, however for the sake of simplicity we won\u2019t change the backdrop in this example.<\/p>\n<h3>Create a human-readable algorithm<\/h3>\n<p>It can be helpful to <strong>plan out on paper<\/strong> what your Sprites will do. Here is the algorithm of our girl-ghost example program.<\/p>\n<p><strong>The girl\u2019s algorithm:<\/strong><\/p>\n<ol>\n<li>The user <strong>starts<\/strong> the script.<\/li>\n<li>The girl <strong>thinks<\/strong> about how much she\u2019s afraid.<\/li>\n<li>The girl is <strong>waiting until<\/strong> the ghost attacks her.<\/li>\n<li>The girl <strong>screams<\/strong>.<\/li>\n<li>The girl <strong>runs away<\/strong>.<\/li>\n<\/ol>\n<p><strong>The ghost\u2019s algorithm:<\/strong><\/p>\n<ol>\n<li>The user <strong>starts<\/strong> the script.<\/li>\n<li>The ghost is <strong>waiting while<\/strong> the girl is thinking.<\/li>\n<li>The ghost <strong>approaches<\/strong> the girl.<\/li>\n<\/ol>\n<p>You can see that the girl\u2019s algorithm is written from the girl\u2019s perspective, and the ghost\u2019s algorithm is written from the ghost\u2019s perspective. While one character acts, the other one <strong>needs to wait<\/strong>, as we need to <strong>synchronize the actions of the two characters<\/strong>.<\/p>\n<h3>The ghost\u2019s script<\/h3>\n<p>Let\u2019s start with the ghost\u2019s script, as it\u2019s only 3 steps. Click on the Ghost in the bottom-left corner, and you can start <strong>dragging the blocks<\/strong> to the Script area. First we need to make the user to start the program. We can easily do this by adding the <strong>\u201cwhen green flag clicked\u201d<\/strong> block from the <strong>\u201cEvents\u201d<\/strong> category.<\/p>\n<p>Next, the ghost waits 2 seconds while the girl is thinking. We program this action with the <strong>\u201cwait 2 secs\u201d<\/strong> block that can be found in the <strong>\u201cControl\u201d<\/strong> category.<\/p>\n<p>Finally, the ghost needs to approach the girl, which we can achieve with the <strong>\u201cgo to Abby\u201d<\/strong> block from the <strong>\u201cMotion\u201d<\/strong> category. \u201cAbby\u201d is the girl\u2019s name, Scratch automatically adds the names of the other Sprites to the dropdown menu of this block.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/ghost-script.jpg\" width=\"600\" height=\"158\" alt=\"Ghost's script\"><\/figure>\n<p>This is how the ghost\u2019s script look like. By now, you\u2019ve certainly realized that Scratch works <strong>similarly to LEGO<\/strong>, you need to <strong>join the blocks<\/strong> together.<\/p>\n<h3>The girl\u2019s script<\/h3>\n<p>The girl\u2019s script is a little more complicated. Click on the girl\u2019s Sprite in the bottom left corner, and you can start adding the blocks related to the girl\u2019s behaviour.<\/p>\n<p>The girl\u2019s script also starts with the <strong>\u201cwhen green flag clicked\u201d<\/strong> block. I show you now how the girl\u2019s script will finally look like, so that you can follow the explanation more easily.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/girl-script.jpg\" width=\"600\" height=\"250\" alt=\"Girl's script\"><\/figure>\n<p>After the green flag is clicked, the girl is thinking for 2 seconds (the program will show a thinking bubble for this period), this is the same 2 seconds while the ghost is waiting in the corner \u2014 programmed with the waiting block in the ghost\u2019s script.<\/p>\n<p>Then, the girl needs to wait until the ghost touches her. This is done by a <strong>composed waiting block<\/strong>. You can see on the above screenshot that this block includes an <strong>inner diamond-shaped block<\/strong> you need to join separately. You can add only diamond-shaped blocks to this waiting block.<\/p>\n<p>Remember, Scratch is similar to LEGO, you need to <strong>pay attention to the shapes<\/strong> of the blocks as well. This feature prevents you from adding blocks that shouldn\u2019t be there in order to avoid a wrong coding logic.<\/p>\n<p>By now, the ghost touched the girl, and the ghost\u2019s script ended. Now we need to make her scream with a <strong>\u201cplay sound\u201d Sound block<\/strong> (I added the female scream sound from the built-in Sound Library), and finally make her move away from the ghost by using the <strong>\u201cmove 200 steps\u201d Motion block<\/strong>.<\/p>\n<p>You can have a look at the final project on its <a href=\"https:\/\/scratch.mit.edu\/projects\/128719076\/\" target=\"_blank\" rel=\"noopener\">Scratch page<\/a>. If you want to have a look into the building blocks, click the <span class=\"key\">See inside<\/span> button on the top right corner.<\/p>\n<figure><a href=\"https:\/\/scratch.mit.edu\/projects\/128719076\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/final-project-page.jpg\" width=\"800\" height=\"469\" alt=\"Final project page\"><\/a><\/figure>\n<h2>Next Steps<\/h2>\n<p>Our \u201cGhost in the city\u201d example is a very simple project. When your kids can safely create linear stories and animations, you can move towards <strong>more complicated coding structures<\/strong>, such as <strong>if-then<\/strong> blocks (conditional statements) and <strong>repeat<\/strong> blocks (loops), both can be found in the <strong>\u201cControl\u201d<\/strong> category.<\/p>\n<p>If you want a <strong>more complicated example for a linear animation<\/strong> (still without conditional statements and loops) you can check out <a href=\"https:\/\/scratch.mit.edu\/projects\/128479864\/\" target=\"_blank\" rel=\"noopener\">my other demo<\/a> that features a simple dialogue, and uses 3 Sprites (two friends and a birthday cake), each of which has its own script.<\/p>\n<figure><a href=\"https:\/\/scratch.mit.edu\/projects\/128479864\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/birthday-cake-demo.jpg\" width=\"800\" height=\"469\" alt=\"Birthday cake demo\"><\/a><\/figure>\n<p>You can also inspire your children by printing <strong><a href=\"https:\/\/scratch.mit.edu\/info\/cards\" target=\"_blank\" rel=\"noopener\">Scratch Cards<\/a><\/strong> to them, that they can <strong>hold in their hands<\/strong> while programming. Scratch Cards also have <strong>great project ideas<\/strong> on them. It\u2019s also worth learning from others by <strong>exploring <a href=\"https:\/\/scratch.mit.edu\/explore\/projects\/all\" target=\"_blank\" rel=\"noopener\">existing projects<\/a><\/strong>, or <strong>taking part in <a href=\"https:\/\/scratch.mit.edu\/discuss\/\" target=\"_blank\" rel=\"noopener\">discussion forums<\/a><\/strong>.<\/p>\n<p>If you want to understand Scratch better, there\u2019s a <strong><a href=\"https:\/\/www.coursera.org\/learn\/intro-programming\/lecture\/5tOsZ\/programming-in-scratch\" target=\"_blank\" rel=\"noopener\">free Coursera course<\/a><\/strong> by The University of Edinburgh, that introduces beginners to Scratch programming in a very accessible, even enjoyable way.<\/p>\n<p>You can also take leverage of the <strong><a href=\"https:\/\/wiki.scratch.mit.edu\/wiki\/Scratch_Wiki_Home\" target=\"_blank\" rel=\"noopener\">Scratch Wiki<\/a><\/strong>, and the Harvard University\u2019s Creative Computing department also has <strong><a href=\"https:\/\/scratched.gse.harvard.edu\/guide\/\" target=\"_blank\" rel=\"noopener\">some great resources<\/a><\/strong> for Scratch learners.<\/p>","protected":false},"excerpt":{"rendered":"<p>Children learn differently than adults, therefore if we want to teach them to code, we need to use an approach suitable to their needs. Adults\u2019 coding courses usually start with explaining building blocks, such as data types, variables, and functions, however this teaching method doesn\u2019t fit well with most kids. Visual block languages offer a&hellip;<\/p>\n","protected":false},"author":146,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3392],"tags":[4654,511],"topic":[4520],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Teach Kids to Code with MIT Scratch Language - Hongkiat<\/title>\n<meta name=\"description\" content=\"Children learn differently than adults, therefore if we want to teach them to code, we need to use an approach suitable to their needs. Adults&#039; coding\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Teach Kids to Code with MIT Scratch Language\" \/>\n<meta property=\"og:description\" content=\"Children learn differently than adults, therefore if we want to teach them to code, we need to use an approach suitable to their needs. Adults&#039; coding\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-16T05:01:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-17T14:04:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/scratch-home-page.jpg\" \/>\n<meta name=\"author\" content=\"Anna Monus\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anna Monus\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/\"},\"author\":{\"name\":\"Anna Monus\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/a601053a0ab457901e00cdc83bd5359e\"},\"headline\":\"How to Teach Kids to Code with MIT Scratch Language\",\"datePublished\":\"2018-11-16T05:01:06+00:00\",\"dateModified\":\"2022-07-17T14:04:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/\"},\"wordCount\":1638,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/teaching-kids-coding-mit-scratch-languages\\\/scratch-home-page.jpg\",\"keywords\":[\"Kids and Tech\",\"Web Developers\"],\"articleSection\":[\"Coding\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/\",\"name\":\"How to Teach Kids to Code with MIT Scratch Language - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/teaching-kids-coding-mit-scratch-languages\\\/scratch-home-page.jpg\",\"datePublished\":\"2018-11-16T05:01:06+00:00\",\"dateModified\":\"2022-07-17T14:04:41+00:00\",\"description\":\"Children learn differently than adults, therefore if we want to teach them to code, we need to use an approach suitable to their needs. Adults' coding\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/teaching-kids-coding-mit-scratch-languages\\\/scratch-home-page.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/teaching-kids-coding-mit-scratch-languages\\\/scratch-home-page.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/teaching-kids-coding-mit-scratch-languages\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Teach Kids to Code with MIT Scratch Language\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/a601053a0ab457901e00cdc83bd5359e\",\"name\":\"Anna Monus\",\"description\":\"Anna is Technical Editor and Writer for Hongkiat.com. She mainly covers front-end frameworks, web standards, accessibility, WordPress development, and UX design.\",\"sameAs\":[\"https:\\\/\\\/www.annalytic.com\\\/\"],\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/anna_monus\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Teach Kids to Code with MIT Scratch Language - Hongkiat","description":"Children learn differently than adults, therefore if we want to teach them to code, we need to use an approach suitable to their needs. Adults' coding","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/","og_locale":"en_US","og_type":"article","og_title":"How to Teach Kids to Code with MIT Scratch Language","og_description":"Children learn differently than adults, therefore if we want to teach them to code, we need to use an approach suitable to their needs. Adults' coding","og_url":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2018-11-16T05:01:06+00:00","article_modified_time":"2022-07-17T14:04:41+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/scratch-home-page.jpg","type":"","width":"","height":""}],"author":"Anna Monus","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Anna Monus","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/"},"author":{"name":"Anna Monus","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/a601053a0ab457901e00cdc83bd5359e"},"headline":"How to Teach Kids to Code with MIT Scratch Language","datePublished":"2018-11-16T05:01:06+00:00","dateModified":"2022-07-17T14:04:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/"},"wordCount":1638,"commentCount":0,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/scratch-home-page.jpg","keywords":["Kids and Tech","Web Developers"],"articleSection":["Coding"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/","url":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/","name":"How to Teach Kids to Code with MIT Scratch Language - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/scratch-home-page.jpg","datePublished":"2018-11-16T05:01:06+00:00","dateModified":"2022-07-17T14:04:41+00:00","description":"Children learn differently than adults, therefore if we want to teach them to code, we need to use an approach suitable to their needs. Adults' coding","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/scratch-home-page.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/teaching-kids-coding-mit-scratch-languages\/scratch-home-page.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/teaching-kids-coding-mit-scratch-languages\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Teach Kids to Code with MIT Scratch Language"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/a601053a0ab457901e00cdc83bd5359e","name":"Anna Monus","description":"Anna is Technical Editor and Writer for Hongkiat.com. She mainly covers front-end frameworks, web standards, accessibility, WordPress development, and UX design.","sameAs":["https:\/\/www.annalytic.com\/"],"url":"https:\/\/www.hongkiat.com\/blog\/author\/anna_monus\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-7pj","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/28477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/146"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=28477"}],"version-history":[{"count":3,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/28477\/revisions"}],"predecessor-version":[{"id":60513,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/28477\/revisions\/60513"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=28477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=28477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=28477"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=28477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}