Answers.Body: <p>Thank you for taking the initiative to help educate young students who have an interest in programming. Without people to encourage them, many teens who have real potential in the field simply fall through the cracks and end up working in other industries that they aren't so well-suited to.</p>
  
  <p>Don't underestimate yourself or your impact on these kids. Even though it may seem like Khan is doing everything, just having the security net of a professional is <em>hugely</em> relieving when you start out. And even though the course is rather self-paced, a lot of teens lack the self-discipline to actually proceed and progress in something abstract like coding and just by being there you motivate these students to put in the effort.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-24T19:47:40.557Z
Answers.Text: This fits more as a comment than an answer. Please edit and add this is a comment above (it's too long for a standard comment otherwise a mod would handle it).
Answers.UserDisplayName: Peter
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-29T01:47:15.057Z
Answers.LastActivityDate: 2017-06-29T01:47:15.057Z
Answers.UserDisplayName: cMcNerlin
Answers.Body: <p>I think you might be underselling your sessions a bit -- understanding how to effectively independently learn is a non-trivial skill that not everybody has mastered, and just being available to facilitate things and answer questions can be very valuable to your students. Having regular sessions that impose some structure and providing a small community of peers who share similar interests can also be helpful.</p>
  
  <p>In any case, one idea is that you could perhaps try and help guide your students towards working on their own, independent projects. I've found that students (especially ones who are self-teaching) often have difficulty applying what they've learned to build programs on their own -- it seems making the jump from working on guided exercises to fully independent projects is non-trivial for many people.</p>
  
  <p>What you could do is try and make sure your students all make it over that "jump" in some fashion. One idea for doing this might be to slowly start weening students off Khan Academy and have them work on a mini-project.</p>
  
  <p>In particular, here are some of the things I've found seem to make that "jump" hard for beginners (and so are things you can help with):</p>
  
  <ul>
  <li><p><strong>Idea formation:</strong> beginners often find it difficult to imagine what's even possible with code (if statements and loops feel very far removed from websites, mobile apps, games, etc to a novice), and to understand how to connect their existing interests to code. (If a student is interested in games, sure, that's an obvious connection, but seeing how to write code to do things related to music, English, politics, knitting, sports, etc can be non-obvious.)</p>
  
  <p>What you can do here is provide example project ideas, help students brainstorm, and perhaps do some preliminary research yourself so you can point students in interesting directions.</p></li>
  <li><p><strong>Project planning and problem decomposition:</strong> your students will likely need help scoping out a project and creating a realistic timeline appropriate to their level of progress and the amount of time they have. You can help them identify how to break up their idea into smaller, more manageable sub-goals, suggest some initial tasks, help them outline their overall program structure, etc...</p></li>
  <li><p><strong>Setup:</strong> most projects will need students to install libraries and setup their dev environment in more sophisticated ways then most tutorials cover. They will definitely need your help here -- setup can be incredibly frustrating, even for experienced devs!</p></li>
  <li><p><strong>Independent learning:</strong> Learning how to work through tutorials, read documentation, and compose effective google queries are all skills that more or less need to be trained. This usually happens implicitly through experience, but just being available to answer questions, give impromptu mini-lectures on related topics, etc can make things go much more smoothly for the students. </p></li>
  <li><p><strong>Debugging:</strong> Same sort of thing; debugging is hard, you can teach them strategies, help prevent them from being frustrated...</p></li>
  </ul>
  
  <p>That said, you'll have to plan this carefully to avoid overloading your students. It's very likely that many of them practice coding only during your sessions and weren't planning on coding in their spare time (since it's the summer, after all!). Ideally, you should try and motivate them to work outside your sessions, but you should prepare contingency plans if that doesn't end up happening. Trying to complete even a small project in only 4 to 5 sessions will likely be a bit of a stretch, depending on how long your sessions are. </p>
  
  <p>You can perhaps partially solve this by talking to your current students about these concerns to try and get buy-in if you're planning on having your next sessions be a continuation, or to directly state your expectations when advertising your sessions or something.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-28T18:42:46.483Z
Answers.LastActivityDate: 2017-06-28T21:49:46.070Z
Answers.LastEditDate: 2017-06-28T21:49:46.070Z
Answers.UserDisplayName: Michael0x2a
Answers.Body: <p>First of all, kudos to you for being willing to support learning in your community! This is awesome work, and I'm always glad to hear someone is pitching in to help kids learn.</p>
  
  <p>I wouldn't be so sure that you're not adding value. There is a principle of teaching that you can use to guide a lot of your action in the classroom: we learn by doing. <em>If the student does, then the student learns. If the teacher does, then the teacher learns.</em></p>
  
  <p>What you've created is a structure where the students are doing basically 100% of the learning. You are there to check in, make sure they are safe, give guidance and support if they get stuck,  help keep the kids focused, and provide additional food for thought to kids who get really into it.  </p>
  
  <p>This isn't a bad thing, this is a nearly ideal learning situation. Celebrate your success, and always keep an eye out for ways you can continue to help the kids develop and grow.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-28T19:26:09.293Z
Answers.LastActivityDate: 2017-06-28T19:26:09.293Z
Answers.UserDisplayName: Ben I.
Body: <p>First: I'm a coder, not a teacher.</p>
  
  <p>That said, I led a 4-session "Coding for Teens" class at a local library this month using Khan Academy (KA). I'm contemplating scheduling another series maybe in August but I'm struggling with why they would actually need me for this.</p>
  
  <p>The KA curriculum is pretty complete and self-contained. I was able to add value by filling in some facts about how variables work that KA didn't get into. But beyond that I'm wondering why I'm even there.</p>
  
  <p>I would try doing some class-participation exercises at the board but KA is self-paced &amp; the students are at very different places.</p>
  
  <p>At the end of the 4th session I had them do a class evaluation &amp; they all (full-disclosure: only 3 of my 6 showed up to the final session) gave the class high marks in general and expressed interest in another series, but if I do this I'd like to feel like I add more value than a mannequin would. </p>
  
  <p>In case it helps, my "teens" are a mixed group of girls and boys from middle-school to dual high school/college enrollment. And I have one "teen" whom I suspect no longer actually qualifies, but it seems rude to ask &amp; I don't really care.</p>
  
  <p>Note, IMO this question is distinct from <a href="https://cseducators.stackexchange.com/questions/330/supplementing-curriculum-with-online-resources">that one</a> because that question is about supplementing a curriculum with KA (or others) whereas I'm asking how to supplement KA. </p>
  
Tags: <curriculum-design><extracurricular-club>
Title: How to supplement Khan Academy
ThreadText: # How to supplement Khan Academy
  
  (Asked by: username_0 on 2017-06-28)
  
  First: I'm a coder, not a teacher.
  
  That said, I led a 4-session "Coding for Teens" class at a local library this month using Khan Academy (KA). I'm contemplating scheduling another series maybe in August but I'm struggling with why they would actually need me for this.
  
  The KA curriculum is pretty complete and self-contained. I was able to add value by filling in some facts about how variables work that KA didn't get into. But beyond that I'm wondering why I'm even there.
  
  I would try doing some class-participation exercises at the board but KA is self-paced & the students are at very different places.
  
  At the end of the 4th session I had them do a class evaluation & they all (full-disclosure: only 3 of my 6 showed up to the final session) gave the class high marks in general and expressed interest in another series, but if I do this I'd like to feel like I add more value than a mannequin would.
  
  In case it helps, my "teens" are a mixed group of girls and boys from middle-school to dual high school/college enrollment. And I have one "teen" whom I suspect no longer actually qualifies, but it seems rude to ask & I don't really care.
  
  Note, IMO this question is distinct from [that one](https://cseducators.stackexchange.com/questions/330/supplementing-curriculum-with-online-resources) because that question is about supplementing a curriculum with KA (or others) whereas I'm asking how to supplement KA.
  
  **Tags:** curriculum-design, extracurricular-club
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_3 on 2017-06-28. Score: 11 | Accepted answer
  
  I think you might be underselling your sessions a bit -- understanding how to effectively independently learn is a non-trivial skill that not everybody has mastered, and just being available to facilitate things and answer questions can be very valuable to your students. Having regular sessions that impose some structure and providing a small community of peers who share similar interests can also be helpful.
  
  In any case, one idea is that you could perhaps try and help guide your students towards working on their own, independent projects. I've found that students (especially ones who are self-teaching) often have difficulty applying what they've learned to build programs on their own -- it seems making the jump from working on guided exercises to fully independent projects is non-trivial for many people.
  
  What you could do is try and make sure your students all make it over that "jump" in some fashion. One idea for doing this might be to slowly start weening students off Khan Academy and have them work on a mini-project.
  
  In particular, here are some of the things I've found seem to make that "jump" hard for beginners (and so are things you can help with):
  
  * **Idea formation:** beginners often find it difficult to imagine what's even possible with code (if statements and loops feel very far removed from websites, mobile apps, games, etc to a novice), and to understand how to connect their existing interests to code. (If a student is interested in games, sure, that's an obvious connection, but seeing how to write code to do things related to music, English, politics, knitting, sports, etc can be non-obvious.)
  
    What you can do here is provide example project ideas, help students brainstorm, and perhaps do some preliminary research yourself so you can point students in interesting directions.
  * **Project planning and problem decomposition:** your students will likely need help scoping out a project and creating a realistic timeline appropriate to their level of progress and the amount of time they have. You can help them identify how to break up their idea into smaller, more manageable sub-goals, suggest some initial tasks, help them outline their overall program structure, etc...
  * **Setup:** most projects will need students to install libraries and setup their dev environment in more sophisticated ways then most tutorials cover. They will definitely need your help here -- setup can be incredibly frustrating, even for experienced devs!
  * **Independent learning:** Learning how to work through tutorials, read documentation, and compose effective google queries are all skills that more or less need to be trained. This usually happens implicitly through experience, but just being available to answer questions, give impromptu mini-lectures on related topics, etc can make things go much more smoothly for the students.
  * **Debugging:** Same sort of thing; debugging is hard, you can teach them strategies, help prevent them from being frustrated...
  
  That said, you'll have to plan this carefully to avoid overloading your students. It's very likely that many of them practice coding only during your sessions and weren't planning on coding in their spare time (since it's the summer, after all!). Ideally, you should try and motivate them to work outside your sessions, but you should prepare contingency plans if that doesn't end up happening. Trying to complete even a small project in only 4 to 5 sessions will likely be a bit of a stretch, depending on how long your sessions are.
  
  You can perhaps partially solve this by talking to your current students about these concerns to try and get buy-in if you're planning on having your next sessions be a continuation, or to directly state your expectations when advertising your sessions or something.
  
  
  ---
  
  ### Answer by username_4 on 2017-06-28. Score: 4
  
  First of all, kudos to you for being willing to support learning in your community! This is awesome work, and I'm always glad to hear someone is pitching in to help kids learn.
  
  I wouldn't be so sure that you're not adding value. There is a principle of teaching that you can use to guide a lot of your action in the classroom: we learn by doing. *If the student does, then the student learns. If the teacher does, then the teacher learns.*
  
  What you've created is a structure where the students are doing basically 100% of the learning. You are there to check in, make sure they are safe, give guidance and support if they get stuck, help keep the kids focused, and provide additional food for thought to kids who get really into it.
  
  This isn't a bad thing, this is a nearly ideal learning situation. Celebrate your success, and always keep an eye out for ways you can continue to help the kids develop and grow.
  
  
  ---
  
  ### Answer by username_1 on 2017-06-29. Score: 1
  
  Thank you for taking the initiative to help educate young students who have an interest in programming. Without people to encourage them, many teens who have real potential in the field simply fall through the cracks and end up working in other industries that they aren't so well-suited to.
  
  Don't underestimate yourself or your impact on these kids. Even though it may seem like Khan is doing everything, just having the security net of a professional is *hugely* relieving when you start out. And even though the course is rather self-paced, a lot of teens lack the self-discipline to actually proceed and progress in something abstract like coding and just by being there you motivate these students to put in the effort.
  
  > **Comments:**
  > **username_2**: This fits more as a comment than an answer. Please edit and add this is a comment above (it's too long for a standard comment otherwise a mod would handle it).  
  
  ---
  
  