{"id":172,"date":"2017-05-16T03:30:04","date_gmt":"2017-05-16T03:30:04","guid":{"rendered":"https:\/\/www.thecoderschool.com\/blog\/top-free-platforms-for-middle-school-kids-to-learn-to-code\/"},"modified":"2022-10-13T20:50:22","modified_gmt":"2022-10-13T20:50:22","slug":"top-free-platforms-for-middle-school-kids-to-learn-to-code","status":"publish","type":"post","link":"https:\/\/www.thecoderschool.com\/blog\/top-free-platforms-for-middle-school-kids-to-learn-to-code\/","title":{"rendered":"Top FREE Platforms for Middle School Kids to Learn to Code"},"content":{"rendered":"<p>My last post on <a href=\"https:\/\/www.thecoderschool.com\/blog\/top-five-platforms-for-elementary-age-kids-learning-to-code\/\">Elementary School kids coding platforms<\/a> was so fun, I figured I better do another one! \u00a0There&#8217;s lots of great tools that are being created out there, it seems by the hour, and plenty to choose from. \u00a0This definitely isn&#8217;t a complete list, but it&#8217;s some of the tools that we&#8217;ve found effective for teaching kids around age 11-14. \u00a0And bonus, these are all FREE platforms for teaching kids!<\/p>\n<p>The Middle School years are an interesting lot. \u00a0Kids are starting to come into their own, hitting that hormone-growth stage. \u00a0It&#8217;s also the time we&#8217;ve found that kids&#8217; logical brain are really starting to grow, and their understanding of coding beyond basic sequential stuff really accelerates! \u00a0At the Coder School, our average age is probably around the 11-12 range, so it&#8217;s definitely the sweet spot, and the fun spot too! \u00a0At this age, kids are typically starting to move towards typed languages like Python or Javascript, though often still with some easier built-in graphical components.<\/p>\n<p>Before we start &#8211; our standard disclaimer!\u00a0 While there&#8217;s lots of tools\/platforms you can use to teach kids how to program a computer, many of them require a mentor or Code Coach\u00ae to really drive the passion and knowledge home. \u00a0Since Middle Schoolers often have a bit better attention span, sometimes it seems they can be left to their own devices when learning. \u00a0But think about music or sports. \u00a0Can your (actually WILL your) Middle Schooler really become an awesome guitar player just watching Youtube? \u00a0Would Peyton Manning be Peyton Manning without a coach his entire career? \u00a0(hint, the answer is no to both!). \u00a0So be careful &#8211; balance self-driven time with coaching time and you&#8217;ll get the best results! \u00a0And with that out of the way, let&#8217;s get to our platforms!<\/p>\n<h2>Trinket.io (Python)<\/h2>\n<p>One of our original favorites, <a href=\"http:\/\/trinket.io\" target=\"_blank\" rel=\"noopener\">Trinket<\/a> is a great graphical tool to get kids transitioned from the drag &#8216;n drop world of Scratch or the game-oriented world of Code Combat, to a more &#8220;pure&#8221;\u00a0Python world. Python, for those un-initiated coders, is one of the world&#8217;s most popular languages today &#8211; powerful enough to be used by professional coders word-wide, but easy to read and use enough for kids to pick up quickly. \u00a0Because of that, it&#8217;s one of two languages that we typically use as the &#8220;first real-world language&#8221; that we teach our students (the other language is Javascript).<\/p>\n<p>Trinket is great because it allow kids to code Python purely on the web (browser), and create an account, log in and save their code. \u00a0 Like Scratch, it even lets you &#8220;Remix&#8221; code &#8211; take someone else&#8217;s project, create your own copy, and edit the code from there! \u00a0Trinket isn&#8217;t quite as strong when it comes to pre-existing code or follow-along tutorials, but because they use a graphical library called &#8220;turtle&#8221;, it&#8217;s fairly easy to start using Python to draw stuff up on the screen. \u00a0One of the first few lessons we typically teach is all about drawing squares and polygons using Python. \u00a0As things progress and the Python programming gets more complex, you&#8217;ll want to move off Trinket to a pure Python coding environment, as Trinket has its limitations once things get a little dicey in complexity. \u00a0That said, you can still get craaaazy complex with Trinket in terms of logic &#8211; check out the <a href=\"https:\/\/trinket.io\/library\/trinkets\/8c9fb646b0\" target=\"_blank\" rel=\"noopener\">Gravity Crush<\/a> created by one of our student that uses real Physics gravitational formulas to play &#8220;billiards&#8221;! \u00a0To REALLY get a sense of the awesomeness of this kids, check out lines 233 and 234 from the code, excerpt below. \u00a0Newtonian gravity and vector scaling by an 11 year old?!? \u00a0What the WHAT?!<\/p>\n<p><strong>\u00a0# newtonian gravity. Product of masses is set to 100<br \/>\ncollider.vel.shift(distVector.scaled((100)\/((distSquared))).scaled(width*height\/560000))<\/strong><\/p>\n<h2><a href=\"http:\/\/codepen.io\" target=\"_blank\" rel=\"noopener\">Codepen<\/a> (Javascript)<\/h2>\n<p>While Python is one of the hottest languages today, Javascript&#8217;s one of the most popular. \u00a0What&#8217;s the difference? \u00a0Well&#8230; that answer might take a book or two! \u00a0High level, Python is a general-purpose language that can do lots of cool stuff, including scripts and data stuff or making games. \u00a0Javascript can do a lot of things too &#8211; but the biggest advantage is that it&#8217;s the language that runs on all web browsers. \u00a0So that means anytime a website actually &#8220;does&#8221; something with logic (like check if a field is blank), it&#8217;s pretty much running Javascript. \u00a0Websites, as many of you know, run on a set of languages called HTML and CSS, which provide a lot of the graphical and color elements on webpages you see today. \u00a0Because Javascript forms the core of all logic in the web, it connects really well to HTML and CSS, and so presto &#8211; it&#8217;s automatically already a pretty &#8220;graphical language&#8221;! Phew, and I still haven&#8217;t even talked about <a href=\"http:\/\/codepen.io\" target=\"_blank\" rel=\"noopener\">CodePen<\/a> yet! \u00a0CodePen is a great online tool that allows kids to learn Javascript &#8220;in real time&#8221;. \u00a0That means with a split screen, kids are able to see their code run right away. \u00a0Pop quiz &#8211; where does Javascript run? \u00a0That&#8217;s right, in a browser! \u00a0Our students who work on CodePen are typically combining the logic and coding language of Javascript with HTML (and maybe CSS), and seeing their output right there. \u00a0Sometimes we&#8217;ll use CodePen to teach our kids HTML and CSS too &#8211; both fairly straightforward languages, though neither can run logic.<\/p>\n<p>CodePen isn&#8217;t exactly made for kids (professionals often use it), so that&#8217;s a possible disadvantage (or advantage!). \u00a0There are a number of projects you can reuse and discover &#8211; but they do tend to be a little higher in difficulty. \u00a0But for starting from scratch to learn HTML, CSS, or Javascript, CodePen is a great choice.<\/p>\n<h2>Pixelpad.io (Python)<\/h2>\n<p><a href=\"http:\/\/pixelpad.io\" target=\"_blank\" rel=\"noopener\">PixelPad<\/a> is another great Python option, a lot like Trinket. \u00a0Seems like the rage these days is to end your domain in &#8220;.io&#8221;, doesn&#8217;t it? \u00a0Anyway, PixelPad comes from our friends up north, and was built by Jamie Chang over at <a href=\"http:\/\/www.underthegui.com\" target=\"_blank\" rel=\"noopener\">UndertheGUI<\/a>, a coding school in Canada. \u00a0Like Trinket, kids can create a login and save your Python code up in the cloud, all the Python runs in your browser, and you can share your games and creations easily. \u00a0PixelPad&#8217;s a little more game oriented,\u00a0with the main differentiator being their step-by-step curriculums. \u00a0Some are free, and some aren&#8217;t, but PixelPad gives a great option for kids to jump on and follow a curriculum faaaaaairly independently. \u00a0At one point, they even let kids create their own version of Plants vs Zombies in Python! \u00a0PixelPad is a pretty new platform, so you can expect lots of great content to come! \u00a0Our Code Coaches typically bounce between PixelPad or Trinket as similar options.<\/p>\n<h2>Coding Bat<\/h2>\n<p>The last platform here&#8217;s a little different, not really game oriented or graphical. \u00a0Rather, <a href=\"http:\/\/codingbat.com\" target=\"_blank\" rel=\"noopener\">Coding Bat<\/a> is challenge and logic oriented, so it&#8217;s not for every student. \u00a0You can see by the screenshot it&#8217;s pretty basic looking, but for the puzzle lover students and kids, especially combined with a mentor or coach, it&#8217;s pretty awesome. \u00a0Coding Bat runs both Python and Java languages, and presents kids with logical problems to solve using code. \u00a0Kids can program it in Java or Python and submit it, and the site will check the answer for them.\u00a0\u00a0For example, here&#8217;s a simple logic problem kids might start with when first learning coding basics, using if-then conditions:<\/p>\n<p><em>The parameter weekday is True if it is a weekday, and the parameter vacation is True if we are on vacation. We sleep in if it is not a weekday or we&#8217;re on vacation. Return True if we sleep in. Create a function sleep_in(weekday,vacation).<\/em><\/p>\n<p>We use Coding Bat to test kid&#8217;s logic and programming, see how much they picked up from other platforms they&#8217;ve used. \u00a0Because the site is fairly basic, kids typically need to already have a somewhat decent knowledge of Python or Java first. \u00a0But what a great way to get the logic down (and fun for some of us puzzle-loving adults too)! \u00a0Coding Bat is a great tool for kids who eventually want to hit a Computing Olympiad (<a href=\"http:\/\/www.usaco.org\/\" target=\"_blank\" rel=\"noopener\">USACO<\/a>) competition.<\/p>\n<h2>Conclusion<\/h2>\n<p>Is that it? No way! \u00a0There&#8217;s tons more platforms out there for middle schoolers, many\/most are free, just get out there and hit Google!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Check out our list of free platforms for middle schoolers learning to code.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[60],"class_list":["post-172","post","type-post","status-publish","format-standard","hentry","category-coder-blog","tag-coding-platforms","entry"],"_links":{"self":[{"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/posts\/172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/comments?post=172"}],"version-history":[{"count":4,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/posts\/172\/revisions"}],"predecessor-version":[{"id":12219,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/posts\/172\/revisions\/12219"}],"wp:attachment":[{"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/media?parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/categories?post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/tags?post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}