Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reading, Writing, Arithmetic,...JavaScript?

Reading, Writing, Arithmetic,...JavaScript?

A talk presented at FluentConf 2014. Can grade schoolers learn JS? At what age? What would they do with that knowledge?

Pamela Fox

March 12, 2014
Tweet

More Decks by Pamela Fox

Other Decks in Technology

Transcript

  1. 8IBU*EP Variables Strings Functions Logic Looping Arrays Objects khanacademy.org/cs/programming Wednesday,

    March 12, 14 I’m Pamela, and I work for Khan Academy. Khan Academy is a non-profit that creates free educational content for students around the world. My job is to create the programming curriculum, and engineer the platform that delivers it. On Khan, we give students an environment to use JavaScript with ProcessingJS, a library that uses the canvas tag for drawing and animation. We teach them concepts in coding talk-throughs, and then have them try out the concepts in step-by-step coding challenges - like this one, where you color an ice cream cup with your favorite colors. We also have awesome mascots, like our beaver Hopper, who’s named after General Grace Hopper.
  2. 8IBU*EPPO)BMMPXFFO Wednesday, March 12, 14 Another of our mascots is

    Winston - four ellipses, but a WHOLE LOT of personality. I attempted to dress up like him for halloween, but mostly I just creeped everybody out at work and on the caltrain...
  3. 8IBUXPVMEUIF XPSMECFMJLF JGTUVEFOUTMFBSOFE +BWB4DSJQUJO HSBEFTDIPPM Wednesday, March 12, 14 Today,

    I want to discuss a hypothetical world with all of you - a world where all students learn JS in grade school.
  4. 5IF7JTJPO ???? grade - JavaScript 101 College Career High school

    Wednesday, March 12, 14 In this world, we have to figure out: what age would the students learn JS at?
  5. 8IBUJTUIFFBSMJFTU BHFUIBUZPVDBO MFBSO+BWB4DSJQU Wednesday, March 12, 14 Let’s start with

    what age all of you started learning JS. Ask them: when did you learn JS? Under 10? Under 13? Under 16? Under 21? Under 25? Who thinks you could learn it at age 13? Okay now let’s be more scientific.
  6. -&5`4#&.03&41&$*'*$ Wednesday, March 12, 14 If we can make this

    question more specific, we can answer it with some statistics from Khan Academy, since we have hundreds of thousands of students learning JS on our platform.
  7. 'PSPVSpSTUDPEJOHDIBMMFOHF Concepts covered: statements, calling functions Wednesday, March 12, 14

    Let’s look at stats for our first coding challenge, where students have to write three commands to draw three rectangles to form an H, and they need to figure out the right syntax (no copy/paste) and appropriate numbers.
  8. 'PSPVSpSTUDPEJOHDIBMMFOHF Note: Females and males have same completion rate! 327,879

    students “started” the challenge 51,431 of those students give their age Wednesday, March 12, 14
  9. 3FBTPOTGPSEJGGFSFODFT The concept of issuing a command is inherently too

    difficult for younger children OR 1) Programming requires patience 2) JS programming requires typing skills 3) ProcessingJS requires spatial reasoning Wednesday, March 12, 14
  10. 45*-- For the 13-year-olds that viewed the first coding challenge,

     completed that challenge. The highest completion rate for any age is . Wednesday, March 12, 14
  11. 8IBUBCPVUNPSF EJGpDVMUDPODFQUT Wednesday, March 12, 14 Okay, that first challenge

    didn’t involve very complex programming concepts. What if we introduce iteration and conditionals and all of that? What will happen to our completion rates?
  12. 'PSPVSpSTUMPHJDDIBMMFOHF Concepts covered: if, comparators, control flow Wednesday, March 12,

    14 We can look at our first logic challenge, which is a ways down in the curriculum, and gets them to figure out how to get a ball to bounce off the bottom of the screen by comparing its y value.
  13. 'PSPVSpSTUMPHJDDIBMMFOHF 18,786 students “started” the challenge 5,331 of those students

    give their age Wednesday, March 12, 14 We have a lot more stats for our first challenge, because many students did Hour of Code, which included that first challenge, but this logic challenge is outside of that.
  14. 5IFDPODFQUTHPUIBSEFS Wednesday, March 12, 14 We see a much bigger

    disparity across ages for this challenge than the first ! We also have much less data, so we should take this with a grain of salt, but still.
  15. 3FBTPOTGPSEJGGFSFODFTGSPNpSTU The concepts of conditionals and comparators are too difficult

    for younger children OR 1) Programming requires patience 2) JS programming requires typing skills 3) ProcessingJS requires spatial reasoning and temporal-spatial reasoning Wednesday, March 12, 14 There are only a few reasons now why we might see greater disparity across the ages - it may be too conceptually difficult. It could also be the particular way that WE are using conditionals, in ProcessingJS, is too difficult. We’d have to have a non-ProcessingJS curriculum to compare to, to know that for sure.
  16. 45*-- For the 13-year-olds that viewed the logic coding challenge,

     completed that challenge. Wednesday, March 12, 14 But we still have pretty good numbers, even so.
  17. 5IF7JTJPO 7th grade 9th grade College - JavaScript 101 -

    Practice with personal projects - Feel comfortable with programming - Use JavaScript to explore other areas 8th grade Career Wednesday, March 12, 14 Now we can flesh out a bit of this world. Let’s say we can teach most students JavaScript in 7th grade. They can keep practicing it, and feel comfortable by 9th grade, the start of high school. Now, it gets interesting, because we could see how JS overlaps with the rest of high school.
  18. Literature History Physics Art Politics Calculus Chemistry Biology Probability Foreign

    Language 3FBEJOH 8SJUJOH "SJUINFUJD Wednesday, March 12, 14
  19. 3FBEJOH 8SJUJOH "SJUINFUJD Literature History Physics Art Politics Calculus Chemistry

    Biology Probability Foreign Language +BWB4DSJQU Wednesday, March 12, 14
  20. )PXDPVMEUFBDIFST JODPSQPSBUF+BWB4DSJQU JOUPUIFJSDVSSJDVMVN - Extra credit - Project options -

    Optional course 03 - Required JS 101 course - Teach other topics assuming JS as a skill Wednesday, March 12, 14
  21. 5IF7JTJPO 7th grade 9th grade College - JavaScript 101 -

    Practice with personal projects - Feel comfortable with programming - Use JavaScript to explore other topics Major in CS Use CS skills/theory with other major Go off into world, understand it better 8th grade Wednesday, March 12, 14 Now we have more of the vision. They learn JS in 7th grade, they use throughout high school to complement the rest of their subjects. After high school, they could go a few different ways. They might decide that they REALLY like programming, and major in CS in college. Or they could do another major, like biology, and use programming along with that major. Or they’d just go into the world, with programming as a skill that they could use in every day life- like to program a spreadsheet for their household budget. Either way, they’re empowered with an incredibly valuable skill.
  22. 5IBU`TBCJUOBSSPX Wednesday, March 12, 14 That particular vision is a

    bit narrow though. It’s ALL ABOUT JAVASCRIPT. Well, that’s because this is a JavaScript conference, and I’m a suck up. Also, because that’s what I happen to be teaching right now, and what happens to be the most popular language around. However, I’m not an absolutist, so let’s make this vision more general.
  23. T+BWB4DSJQUQSPHSBNNJOH 7th grade 9th grade College - Programming 101 -

    Practice with personal projects - Feel comfortable with programming - Use Programming to explore other topics Major in CS Use CS skills/theory with other major Go off into world, understand it better 8th grade Wednesday, March 12, 14 We could teach any sort of syntactic programming language. Maybe it’ll be Python or Go or a new language that’s invented tomorrow. Or maybe Quorum, a language that’s specifically been designed for teaching, based on usability studies. As long as it’s a language that empowers the students to create new things and solve problems, it fits the bill.
  24. %JGGFSFOUUZQFTPGQSPHSBNNJOHBU EJGGFSFOUBHFT 7th grade 9th grade College - Syntactic Programming

    101 - Practice with personal projects - Feel comfortable with programming - Use Programming to explore other topics Major in CS Use CS skills/theory with other major Go off into world, understand it better 8th grade 3rd grade - Block-based programming - HTML (Markup) programming 5th grade 1st grade - “Unplugged” programming Wednesday, March 12, 14 Okay, but that’s not the only sort of “programming” we could teach. We could teach programming that doesn’t involve any computers-- just ordering each other around like robots with commands. We could teach block-based programming, where they don’t need typing skills but still learn the concepts. We could teach HTML, where there are less concepts to grasp. We could teach different types of languages at different ages, and maybe we could see less age disparity for different types of programming.
  25. 1SPHSBNNJOHJTO`UUIFPOMZUIJOHXFEP XJUIDPNQVUFST Wednesday, March 12, 14 Okay, now, we should

    probably be teaching MORE than just programming. There’s so much we do with computers- security, algorithms, privacy, encryption. But that’s a whole other talk.
  26. 3FBEJOH 8SJUJOH  "SJUINFUJD BOE+BWB4DSJQU @pamelafox, Fluent 2014 Wednesday, March

    12, 14 For today, as you go through the talks: just think about what it would be like if every student learnt JavaScript in grade school: How much could they learn? How much should they learn? How could we make it easier for them to learn? What could they use that knowledge to do? How could we make them feel incredibly powerful with that knowledge? I have some ideas, but I’m here to find out what ideas you have. Thank you!