Answers.Body: <p>If you are merely looking for feedback on this, let me point out, first, that according to Piaget's work, your students seem a bit young for this. They have only just entered the third stage of <a href="https://www.verywellmind.com/piagets-stages-of-cognitive-development-2795457" rel="nofollow noreferrer">Piaget's Model</a>. Moreover, since not all people advance in sync, some may still be in the second stage. In particular they are still very concrete thinkers. Anything that depends on abstract thinking won't be very comprehensible to them for a few more years. </p>
  
  <p>For a small exercise, however, the above might not matter too much as you aren't expecting them to do much but think "WOW". </p>
  
  <p>But there has actually been a lot of thought given to "computational thinking", through <a href="https://en.wikipedia.org/wiki/Computational_thinking" rel="nofollow noreferrer">Jeannette Wing's work</a>. This has mostly been directed at slightly older students, however, say secondary school. </p>
  
  <p>There is a well developed effort to bring computational thinking down to this age level. <a href="https://csunplugged.org/en/" rel="nofollow noreferrer">CS Unplugged</a>, provides a fairly comprehensive set of <a href="https://csunplugged.org/en/topics/" rel="nofollow noreferrer">activities</a> that are targeted at 5-10 year olds. </p>
  
  <p>While there are a lot of things you can do, don't expect the kids to retain a lot of it, and certainly don't expect that they can then (or soon) abstract from it to actual computing. I find that Spiral education, in which ideas are introduced in a simple way early and then returned to (often), works well. So, for a first cycle, you give them a hint of things that might be and later reinforce that more formally. </p>
  
  <p>I find that something as simple as the song <a href="https://en.wikipedia.org/wiki/There_Was_an_Old_Lady_Who_Swallowed_a_Fly" rel="nofollow noreferrer"><em>There was an old lady that swallowed a fly</em></a> is interesting and fun. It is also an introduction to recursion, but at that age, don't talk about base cases, etc. </p>
  
  <hr>
  
  <p>A few more words about logo. While it is a fine language, you need to use it carefully for youngsters, so that what you do matches their cognitive level. Since they can't do much abstraction yet, there are a couple of possibilities. Since it is visual it matches their "concrete view" of the world, of course. One is to use only the language primitives. But another is to build a virtual world in logo with a set of its own "primitives" that they just use instead. These can be of a higher level than the built in commands, but are opaque to the students. Karel J Robot is like that actually. Robots obey five simple commands (move, turnLeft, etc) and students begin with only those. The robot language hides the underlying Java primitives completely. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-08-30T12:12:21.300Z
Answers.Text: Can you expand on Pieget and Wing (the OP in not a teacher). I don't think you need much (for Pieget, what are the stages? What is the implication of this?).
Answers.UserDisplayName: ctrl-alt-delor
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-08-30T12:27:23.643Z
Answers.Text: @ctrl-alt-delor. The links are there. Not enough?
Answers.UserDisplayName: Buffy
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-08-30T11:52:05.007Z
Answers.LastActivityDate: 2018-08-30T16:36:51.780Z
Answers.LastEditDate: 2018-08-30T16:36:51.780Z
Answers.UserDisplayName: Buffy
Answers.Body: <p>My five year old had really fun with </p>
  
  <p><a href="https://www.google.com/doodles/celebrating-50-years-of-kids-coding" rel="nofollow noreferrer">https://www.google.com/doodles/celebrating-50-years-of-kids-coding</a></p>
  
  <p>and even scratch was fun to her, even though she was not able to read at that point in time. </p>
  
  <p>Rot13 might be nice as well (secret languages are great to kids), and if you are having more time, you could try to play <a href="https://en.wikipedia.org/wiki/RoboRally" rel="nofollow noreferrer" title="Robo Rally">https://en.wikipedia.org/wiki/RoboRally</a>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-10-29T15:27:22.223Z
Answers.LastActivityDate: 2018-10-29T15:27:22.223Z
Answers.UserDisplayName: OBu
Answers.Body: <p>See this resource from computer-science unplugged <a href="https://csunplugged.org/en/" rel="nofollow noreferrer">https://csunplugged.org/en/</a> (see also <a href="https://www.youtube.com/watch?v=VpDDPWVn5-Q" rel="nofollow noreferrer">https://www.youtube.com/watch?v=VpDDPWVn5-Q</a>) it is aimed at teaching this age group, and has some similarities to some of your ideas. The people that made it are very good teachers, so you will get an idea of how to teach this age group.</p>
  <h1>Substitution</h1>
  <p>There is a substitution code exercise (cesar cypher).</p>
  <h1>Logo</h1>
  <p>For the Logo, do it in the playground unplugged, I don't remember this in the un-plugged website. But if you look at the other ideas, then you should have an idea of how to do it (in small groups, one pupil takes on the role of the turtle, another takes on role of director, another takes on role of scribe (writes down program, when it is working). They can the use this program to blindly instruct a turtle(pupil), and see how it goes.</p>
  <h2>Another idea is teacher robot</h2>
  <p>Pupils instruct teacher (you), to draw an image of a house on the white board. They can only give simple instructions (draw: line, vertical, horizontal, circle, square, etc. No house related words like door, or window). They won't get it first time. Just respond in robot voice ”I don't know the word …”, “I only know lines and shapes”, “I know square, circle, rectangle, line”. Follow there instructions literally. If there is two interpretations of what they say, then choose the wrong one. Pretend to be stupid (you are a robot). Real robots are stupid. Tell them this at the beginning, then reinforce it as you draw, then discuss at end, or as an interlude in the middle. You can also have a volunteer be the robot after you.</p>
  <p>There is also “robot teacher jam sandwich”. It is like the above, but you will need an apron, some bread, some jam, a spreading knife, etc. see video <a href="https://www.youtube.com/watch?v=leBEFaVHllE" rel="nofollow noreferrer">https://www.youtube.com/watch?v=leBEFaVHllE</a>.</p>
  <h1>Unscramble</h1>
  <p>For word unscrambling I was thinking of having to many words, some short and some long. One point per word. You can then discuss strategy. Some pupils will choose short words (Why? optimum strategy for points). Some will do them in order (Why? unthinking). Some will do the longer words (Why? Optimum strategy for learning/fun. See <a href="https://www.ted.com/talks/carol_dweck_the_power_of_believing_that_you_can_improve" rel="nofollow noreferrer">https://www.ted.com/talks/carol_dweck_the_power_of_believing_that_you_can_improve</a> ). You can discuss these strategies (That is, ask the kids).</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-08-30T12:43:23.657Z
Answers.LastActivityDate: 2018-10-07T17:13:42.543Z
Answers.LastEditDate: 2020-06-18T08:36:57.023Z
Answers.UserDisplayName: ctrl-alt-delor
Body: <p>I have an opportunity to run four classes of about half an hour, with 7 to 8 year olds (my sons age).  This is part of a program called STEM professionals in schools. All I am there to do really is help kids see themselves as potential scientists or mathematicians, and to see the subject as fun and interesting (with kids this young, just being a visitor in the classroom is already fun and interesting). I bring along a set of little cards I made up of my (very diverse in background) colleagues and talk about them in an introduction lesson.</p>
  
  <p>These are my Computer Science lesson ideas:</p>
  
  <ol>
  <li><p>Word unscrambling. This is already a familiar exercise from homework. Each child gets a worksheet with a words 3-12 characters long to quickly unscramble.  We talk about why it was easy to unscramble 3-letter words and hard to unscramble 12-letter words. Then get ideas from the kids about instructions to solve the problem without knowing what the word is.  [Algorithms, algorithmic complexity, optimisation tricks that work for computers and people alike (common letter sequences like '-ion').]  This one is pretty well worked out, but happy to hear of anything I can do to make it cooler.</p></li>
  <li><p>Substitution coding. Starts out as how to pass a secret message like a spy. My aim is to end up with something like a compiler or maybe zipf encoding - substitution rules that make the encoded message denser than the final form. Here, I'm a bit stuck for a solid example. Maybe a cipher system with a limited vocab?  The principal concept is [substitution / naming / functions].</p></li>
  <li><p>Logo.  Basically a demo lesson using function definition in Logo to draw something recognizable (Captain America's shield, say), comparing how easy it is if I create my own substitution rules (functions).  Also demo recursion, substitution inside the substitution rule with the Koch snowflake, maybe some other fractals. This is a demo of Logo, concept is mainly [functions].</p></li>
  <li><p>Handwriting recognition deep learning.  Set up a recognizer (this is easy enough, right?) and give the kids a chance to test their own handwriting (this will be hardest on my son, I reckon).  Discuss how it works as lots of layers of functions which had to learn to work together. [machine learning]</p></li>
  </ol>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-08-30T04:39:08.937Z
Comments.Text: Welcome to [cseducators.se]! I'm going to put in a real answer tomorrow, but my instinct is that you're currently aimed at material that is far too dense for your time-frame, target age, and stated goals. I have some Finite State Machine games I can point you to when I do a more complete write-up.
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-08-30T10:23:20.473Z
Comments.Text: Is there a question here? I can't find one.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-08-30T15:38:54.697Z
Comments.Text: I think that your second sentence is the focus for the Question ("*... see the subject as fun and interesting*") so if you edit to make this Question very clear, it will bring Answers geared toward exposure, rather than teaching. It sounds like you have some good ideas, so good luck on making them snap, crackle and pop!
Comments.UserDisplayName: Scott Rowe
Tags: <lesson-ideas><computational-thinking>
Title: Short foundational lessons for 7-8 year olds
ThreadText: # Short foundational lessons for 7-8 year olds
  
  (Asked by: username_0 on 2018-08-29)
  
  I have an opportunity to run four classes of about half an hour, with 7 to 8 year olds (my sons age). This is part of a program called STEM professionals in schools. All I am there to do really is help kids see themselves as potential scientists or mathematicians, and to see the subject as fun and interesting (with kids this young, just being a visitor in the classroom is already fun and interesting). I bring along a set of little cards I made up of my (very diverse in background) colleagues and talk about them in an introduction lesson.
  
  These are my Computer Science lesson ideas:
  
  1. Word unscrambling. This is already a familiar exercise from homework. Each child gets a worksheet with a words 3-12 characters long to quickly unscramble. We talk about why it was easy to unscramble 3-letter words and hard to unscramble 12-letter words. Then get ideas from the kids about instructions to solve the problem without knowing what the word is. [Algorithms, algorithmic complexity, optimisation tricks that work for computers and people alike (common letter sequences like '-ion').] This one is pretty well worked out, but happy to hear of anything I can do to make it cooler.
  2. Substitution coding. Starts out as how to pass a secret message like a spy. My aim is to end up with something like a compiler or maybe zipf encoding - substitution rules that make the encoded message denser than the final form. Here, I'm a bit stuck for a solid example. Maybe a cipher system with a limited vocab? The principal concept is [substitution / naming / functions].
  3. Logo. Basically a demo lesson using function definition in Logo to draw something recognizable (Captain America's shield, say), comparing how easy it is if I create my own substitution rules (functions). Also demo recursion, substitution inside the substitution rule with the Koch snowflake, maybe some other fractals. This is a demo of Logo, concept is mainly [functions].
  4. Handwriting recognition deep learning. Set up a recognizer (this is easy enough, right?) and give the kids a chance to test their own handwriting (this will be hardest on my son, I reckon). Discuss how it works as lots of layers of functions which had to learn to work together. [machine learning]
  
  **Tags:** lesson-ideas, computational-thinking
  
  > **Comments:**
  > **username_1**: Welcome to [cseducators.se]! I'm going to put in a real answer tomorrow, but my instinct is that you're currently aimed at material that is far too dense for your time-frame, target age, and stated goals. I have some Finite State Machine games I can point you to when I do a more complete write-up.  
  > **username_2**: Is there a question here? I can't find one.  
  > **username_3**: I think that your second sentence is the focus for the Question ("*... see the subject as fun and interesting*") so if you edit to make this Question very clear, it will bring Answers geared toward exposure, rather than teaching. It sounds like you have some good ideas, so good luck on making them snap, crackle and pop!  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_2 on 2018-08-30. Score: 4 | Accepted answer
  
  If you are merely looking for feedback on this, let me point out, first, that according to Piaget's work, your students seem a bit young for this. They have only just entered the third stage of [Piaget's Model](https://www.verywellmind.com/piagets-stages-of-cognitive-development-2795457). Moreover, since not all people advance in sync, some may still be in the second stage. In particular they are still very concrete thinkers. Anything that depends on abstract thinking won't be very comprehensible to them for a few more years.
  
  For a small exercise, however, the above might not matter too much as you aren't expecting them to do much but think "WOW".
  
  But there has actually been a lot of thought given to "computational thinking", through [Jeannette Wing's work](https://en.wikipedia.org/wiki/Computational_thinking). This has mostly been directed at slightly older students, however, say secondary school.
  
  There is a well developed effort to bring computational thinking down to this age level. [CS Unplugged](https://csunplugged.org/en/), provides a fairly comprehensive set of [activities](https://csunplugged.org/en/topics/) that are targeted at 5-10 year olds.
  
  While there are a lot of things you can do, don't expect the kids to retain a lot of it, and certainly don't expect that they can then (or soon) abstract from it to actual computing. I find that Spiral education, in which ideas are introduced in a simple way early and then returned to (often), works well. So, for a first cycle, you give them a hint of things that might be and later reinforce that more formally.
  
  I find that something as simple as the song [*There was an old lady that swallowed a fly*](https://en.wikipedia.org/wiki/There_Was_an_Old_Lady_Who_Swallowed_a_Fly) is interesting and fun. It is also an introduction to recursion, but at that age, don't talk about base cases, etc.
  
  ---
  
  A few more words about logo. While it is a fine language, you need to use it carefully for youngsters, so that what you do matches their cognitive level. Since they can't do much abstraction yet, there are a couple of possibilities. Since it is visual it matches their "concrete view" of the world, of course. One is to use only the language primitives. But another is to build a virtual world in logo with a set of its own "primitives" that they just use instead. These can be of a higher level than the built in commands, but are opaque to the students. Karel J Robot is like that actually. Robots obey five simple commands (move, turnLeft, etc) and students begin with only those. The robot language hides the underlying Java primitives completely.
  
  > **Comments:**
  > **username_4**: Can you expand on Pieget and Wing (the OP in not a teacher). I don't think you need much (for Pieget, what are the stages? What is the implication of this?).  
  > **username_2**: @username_4. The links are there. Not enough?  
  
  ---
  
  ### Answer by username_5 on 2018-10-29. Score: 2
  
  My five year old had really fun with
  
  <https://www.google.com/doodles/celebrating-50-years-of-kids-coding>
  
  and even scratch was fun to her, even though she was not able to read at that point in time.
  
  Rot13 might be nice as well (secret languages are great to kids), and if you are having more time, you could try to play [https://en.wikipedia.org/wiki/RoboRally](https://en.wikipedia.org/wiki/RoboRally "Robo Rally").
  
  
  ---
  
  ### Answer by username_4 on 2018-08-30. Score: 2
  
  See this resource from computer-science unplugged <https://csunplugged.org/en/> (see also <https://www.youtube.com/watch?v=VpDDPWVn5-Q>) it is aimed at teaching this age group, and has some similarities to some of your ideas. The people that made it are very good teachers, so you will get an idea of how to teach this age group.
  
  # Substitution
  
  There is a substitution code exercise (cesar cypher).
  
  # Logo
  
  For the Logo, do it in the playground unplugged, I don't remember this in the un-plugged website. But if you look at the other ideas, then you should have an idea of how to do it (in small groups, one pupil takes on the role of the turtle, another takes on role of director, another takes on role of scribe (writes down program, when it is working). They can the use this program to blindly instruct a turtle(pupil), and see how it goes.
  
  ## Another idea is teacher robot
  
  Pupils instruct teacher (you), to draw an image of a house on the white board. They can only give simple instructions (draw: line, vertical, horizontal, circle, square, etc. No house related words like door, or window). They won't get it first time. Just respond in robot voice ”I don't know the word …”, “I only know lines and shapes”, “I know square, circle, rectangle, line”. Follow there instructions literally. If there is two interpretations of what they say, then choose the wrong one. Pretend to be stupid (you are a robot). Real robots are stupid. Tell them this at the beginning, then reinforce it as you draw, then discuss at end, or as an interlude in the middle. You can also have a volunteer be the robot after you.
  
  There is also “robot teacher jam sandwich”. It is like the above, but you will need an apron, some bread, some jam, a spreading knife, etc. see video <https://www.youtube.com/watch?v=leBEFaVHllE>.
  
  # Unscramble
  
  For word unscrambling I was thinking of having to many words, some short and some long. One point per word. You can then discuss strategy. Some pupils will choose short words (Why? optimum strategy for points). Some will do them in order (Why? unthinking). Some will do the longer words (Why? Optimum strategy for learning/fun. See <https://www.ted.com/talks/carol_dweck_the_power_of_believing_that_you_can_improve> ). You can discuss these strategies (That is, ask the kids).
  
  
  ---
  
  