Answers.Body: <p><strong>tl;dr:</strong> Simplify the process, then simplify (or eliminate) the instructions.</p>
  <blockquote>
  <p>When teaching I often have pupils struggle in the first few minutes. When they are setting the computer up, ready to start work. They often have to follow lengthy instructions, that I print on paper, often one or two sides, of mostly screen snips (So this also takes a long time to prepare).</p>
  <p>What can I do to make this easier for pupils?</p>
  </blockquote>
  <p>Why do they need to follow these lengthy instructions? Why haven't you chosen tools that have a simplified setup process? Why isn't that setup step <strong>already done</strong>?</p>
  <blockquote>
  <p>For example, I have had a lesson where I have had detailed instructions on setting up Python/Idle: Starting the editor, finding starter code, they contain many screen shots. This took me a long time to prepare, and is not easy for the pupils. They are not productive at the start of the lesson, and get demotivated.</p>
  <p>The computers are the schools desktop computers. Unfortunately they are running MS-Windows.</p>
  </blockquote>
  <p>If these are school computers, why isn't Python already set up? Why isn't there just a shortcut on the desktop to the editor? Why isn't the starter code organized in an easy-to-find location? (As in, so easy that it doesn't require an explanation. Like a folder called <code>Examples</code> on the desktop.)</p>
  <p>Hopefully these rhetorical questions demonstrate my point: if I were you, I would purposely choose tools that make it easy to get started, and I would try to eliminate as many setup steps as possible.</p>
  <p>This is one of the reasons I love <a href="http://processing.org/" rel="nofollow noreferrer">Processing</a>, or if you're tied to Python, then <a href="http://py.processing.org/" rel="nofollow noreferrer">Processing.py</a>. You get a simplified, easy-to-launch editor that includes everything you need to write and run code, and it comes with a bunch of examples that you can get to by just clicking one button.</p>
  <p>See also:</p>
  <ul>
  <li><a href="https://cseducators.stackexchange.com/questions/2793/order-to-teach-topics-in-an-intro-programming-class/2798#2798">Order to Teach Topics in an Intro Programming Class</a></li>
  <li><a href="https://cseducators.stackexchange.com/questions/19/using-processing-as-an-entry-point-in-an-introductory-course/2920#2920">Using Processing as an entry point in an Introductory Course</a></li>
  <li><a href="https://cseducators.stackexchange.com/questions/161/programming-languages-specifically-designed-for-beginners/173#173">Programming languages specifically designed for beginners</a></li>
  </ul>
  <p>But even if you don't want to switch to Processing or Processing.py, my suggestion is the same: your goal should be to get students writing (fun and engaging) code as soon as possible, which means you should be eliminating as much of the boring setup as possible. The less setup you have, the simpler your instructions can be.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-01T17:59:00.593Z
Answers.LastActivityDate: 2017-11-01T17:59:00.593Z
Answers.LastEditDate: 2020-06-18T08:36:57.023Z
Answers.UserDisplayName: Kevin Workman
Answers.Body: <h1>Don't start on the computers.</h1>
  <p>I have just been reading “Hacking the curriculum, creative computing and the power of play” — Ian Livingstone &amp; Shahneila saeed. It had a suggestion that would help with this problem.</p>
  <p>Pupils struggle to learn two things at once: learning a new language, and designing an algorithm.</p>
  <p>Therefore:</p>
  <p>Separate these two activities, by having the pupils design the algorithm first, off of the computer.</p>
  <h2>How this strategy will help with this problem</h2>
  <p>Pupils will finish the first task at different times. Therefore, when there are problems, you don't have to help everyone at the same time.</p>
  <p>In addition the first wave of pupils become the experts, they can help others.</p>
  <p>This is not ideal, so should be combined with other solutions. However until the pupils have internalised the language, you should be doing this strategy anyway.</p>
  <h1>Semi-automation</h1>
  <p>Always put resources in the same place. I have created a laminated sheet that I have put above my white board. It says:</p>
  <p>Student share → Year … → Mr Ctrl-alt-delor → … → lesson …</p>
  <p>I then fill in the year, subject, and lesson number with a card and sticky tack.
  The pupils soon get this, they soon get the the point where they just ask what is the lesson number? Of course I encourage them to read the board, or help each other.</p>
  <p>The department has just taken on this idea. Minus the teacher name, so that there is one unified place to find resources.</p>
  <h1>Automation: Use the command line</h1>
  <p>If you are lucky enough to be using Gnu/Linux (or another Unix), then there is a technical solution. Hopefully other will post solutions for Microsoft's Windows, or more general pedagogical solutions.</p>
  <p>Instead of creating a long set of instructions for the pupils to follow. Create a script for the computer to follow. Or have the pupils type in a command. You can use wmctrl/xdotool/devilspie to move and resize windows.</p>
  <p>As <a href="https://askubuntu.com/a/106207/10473">this</a> answer says, the command line allows you to do things with less typing (button presses), and in the same way that it makes answers on stackexchange easier, it also makes instructions to pupils easier.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-01T08:26:18.487Z
Answers.Text: Feedback please: would the down-vote and run, please help with feedback. Sumative feedback is not affective.
Answers.UserDisplayName: ctrl-alt-delor
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-10-31T21:48:47.810Z
Answers.LastActivityDate: 2017-11-02T09:23:49.097Z
Answers.LastEditDate: 2020-06-18T08:36:57.023Z
Answers.UserDisplayName: ctrl-alt-delor
Answers.Body: <p>This question seems like a minefield. The obvious answer is "Don't Do That." No group of people, students or professionals, is going to interpret two pages of instructions in exactly the way the writer intends. It isn't going to happen. They will misinterpret individual steps, skip steps trying to optimize, crash the machine when they don't have a conceptual idea of the goal, etc. </p>
  
  <p>In the first place, your instructions may be clear to you, but until you vet them with others they won't be clear to most other people. This is why textbooks have editors and why authors re-write continuously. </p>
  
  <p>There are, however, a few things you can do. </p>
  
  <ol>
  <li><p>You give one answer yourself here - Automate It. In fact you can improve the automation if you distribute the code yourself and execute it yourself from a central server. Automation isn't foolproof, however, as some of the machines in the lab will, perhaps, have different initialization parameters baked in that defeat your script. </p></li>
  <li><p>Another possible solution is to decide on a standard startup process and configuration that you always use. The students can learn this and only struggle with it for a day (or week, ...). </p></li>
  <li><p>Make the startup description shorter. As short as possible. Then a bit shorter. Vet it with someone else who is skeptical about it. Re-write it using their feedback. </p></li>
  </ol>
  
  <p>But even then, you will fail. Different students will interpret your writing differently. That is pretty much guaranteed. Your writing won't be <em>perfect</em>. Neither will their reading (and understanding) be <em>perfect</em>. If you need different instructions each day and they can't be vetted, I wish you the luck you aren't likely to have. </p>
  
  <p>You can do more, perhaps. </p>
  
  <ol>
  <li><p>If you can live with students always working in pairs at the machines, then you have cut the interpretation problem roughly in half, maybe more. Only half as many machines need to be set up and there are two minds working on each machine. (Of course they could disagree making the problem harder, but usually this helps.)</p></li>
  <li><p>If you can manage to have an assistant wander around the room helping the students with the most trouble it can help, though pairing is better. (Paired programming has been shown to be more efficient and require less intervention by the teacher, but that is not quite the same problem you pose here. Students working alone get stuck and wait unproductively for assistance. Pairs work it out.)</p></li>
  </ol>
  
  <p>There is one special difficulty that you need to address. Minutely detailed and extremely precise descriptions are often especially hard to follow if the person trying to carry them out has no overall context or goal that they understand. The reader likely has no way to check that each step was faithfully executed in the correct order. Any glitch will cause a serious problem for that person. With a group of individuals, there will be many independent problems simultaneously. Whack A Mole. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-01T00:35:58.887Z
Answers.LastActivityDate: 2017-11-01T00:35:58.887Z
Answers.UserDisplayName: Buffy
Body: <p>When teaching I often have pupils struggle in the first few minutes. When they are setting the computer up, ready to start work. They often have to follow lengthy instructions, that I print on paper, of mostly screen snips (So this also takes a long time to prepare).</p>
  <p>What can I do to make this easier for pupils?</p>
  <h2>For example</h2>
  <p>I have had a lesson where I have had detailed instructions on setting up Python/Idle: Starting the editor, finding starter code, they contain many screen shots. This took me a long time to prepare, and is not easy for the pupils. They are not productive at the start of the lesson, and get demotivated.</p>
  <p>They need to get to:</p>
  <ul>
  <li>starter code copied to there personal folder.</li>
  <li>idle started and on one side of the screen.</li>
  <li>code loaded into idle.</li>
  <li>code run.</li>
  <li>output window on other side of screen.</li>
  </ul>
  <p>Common errors:</p>
  <ul>
  <li>running code without idle (so they can not edit it).</li>
  <li>running my copy of the code (so they can not edit it).</li>
  <li>overlapping windows (so they are frustrated that they can not see, and spend a lot of time moving windows). (This one can be solved with better digital literacy, at the start, or a bit at the start of each lesson.)</li>
  </ul>
  <p>I have had the same problems when teaching spreadsheets, and am anticipating it with web design. I was hoping to use the brackets editor. The start state would be.</p>
  <ul>
  <li>starter code copied to there personal folder.</li>
  <li>brackets started and on one side of the screen.</li>
  <li>root folder loaded into brackets.</li>
  <li>live preview started.</li>
  <li>browser (output) window on other side of screen.</li>
  </ul>
  <hr />
  <p>The computers are the schools desktop computers. Unfortunately they are running MS-Windows.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-31T18:49:05.467Z
Comments.Text: Their own computer or computers in the lab? The obvious answer is to make simpler instructions. Also, I note that people don't always interpret instructions in the same way.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-11-01T14:24:26.520Z
Comments.Text: You have a more serious problem if your students need instructions on how to start Idle for every lesson. That's like starting every math lesson with a review of the base-10 number system, or every reading assignment with a review of the alphabet.
Comments.UserDisplayName: chepner
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-11-01T15:05:49.143Z
Comments.Text: @chepner It is not every lesson, it is mostly at the start of something new.
Comments.UserDisplayName: ctrl-alt-delor
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-11-01T15:10:36.400Z
Comments.Text: "How do I start Idle" isn't something you should *ever* need to repeat. That *is* Lesson 1, upon successful completion of which no instruction more complicated than "Start Idle" should be necessary. Otherwise, they haven't actually learned anything, except perhaps how to follow your precise step-by-step instructions.
Comments.UserDisplayName: chepner
Tags: <lesson-ideas>
Title: Make it easier, and quicker to get to the start
ThreadText: # Make it easier, and quicker to get to the start
  
  (Asked by: username_0 on 2017-10-31)
  
  When teaching I often have pupils struggle in the first few minutes. When they are setting the computer up, ready to start work. They often have to follow lengthy instructions, that I print on paper, of mostly screen snips (So this also takes a long time to prepare).
  
  What can I do to make this easier for pupils?
  
  ## For example
  
  I have had a lesson where I have had detailed instructions on setting up Python/Idle: Starting the editor, finding starter code, they contain many screen shots. This took me a long time to prepare, and is not easy for the pupils. They are not productive at the start of the lesson, and get demotivated.
  
  They need to get to:
  
  * starter code copied to there personal folder.
  * idle started and on one side of the screen.
  * code loaded into idle.
  * code run.
  * output window on other side of screen.
  
  Common errors:
  
  * running code without idle (so they can not edit it).
  * running my copy of the code (so they can not edit it).
  * overlapping windows (so they are frustrated that they can not see, and spend a lot of time moving windows). (This one can be solved with better digital literacy, at the start, or a bit at the start of each lesson.)
  
  I have had the same problems when teaching spreadsheets, and am anticipating it with web design. I was hoping to use the brackets editor. The start state would be.
  
  * starter code copied to there personal folder.
  * brackets started and on one side of the screen.
  * root folder loaded into brackets.
  * live preview started.
  * browser (output) window on other side of screen.
  
  ---
  
  The computers are the schools desktop computers. Unfortunately they are running MS-Windows.
  
  **Tags:** lesson-ideas
  
  > **Comments:**
  > **username_1**: Their own computer or computers in the lab? The obvious answer is to make simpler instructions. Also, I note that people don't always interpret instructions in the same way.  
  > **username_2**: You have a more serious problem if your students need instructions on how to start Idle for every lesson. That's like starting every math lesson with a review of the base-10 number system, or every reading assignment with a review of the alphabet.  
  > **username_0**: @username_2 It is not every lesson, it is mostly at the start of something new.  
  > **username_2**: "How do I start Idle" isn't something you should *ever* need to repeat. That *is* Lesson 1, upon successful completion of which no instruction more complicated than "Start Idle" should be necessary. Otherwise, they haven't actually learned anything, except perhaps how to follow your precise step-by-step instructions.  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2017-11-01. Score: 2 | Accepted answer
  
  This question seems like a minefield. The obvious answer is "Don't Do That." No group of people, students or professionals, is going to interpret two pages of instructions in exactly the way the writer intends. It isn't going to happen. They will misinterpret individual steps, skip steps trying to optimize, crash the machine when they don't have a conceptual idea of the goal, etc.
  
  In the first place, your instructions may be clear to you, but until you vet them with others they won't be clear to most other people. This is why textbooks have editors and why authors re-write continuously.
  
  There are, however, a few things you can do.
  
  1. You give one answer yourself here - Automate It. In fact you can improve the automation if you distribute the code yourself and execute it yourself from a central server. Automation isn't foolproof, however, as some of the machines in the lab will, perhaps, have different initialization parameters baked in that defeat your script.
  2. Another possible solution is to decide on a standard startup process and configuration that you always use. The students can learn this and only struggle with it for a day (or week, ...).
  3. Make the startup description shorter. As short as possible. Then a bit shorter. Vet it with someone else who is skeptical about it. Re-write it using their feedback.
  
  But even then, you will fail. Different students will interpret your writing differently. That is pretty much guaranteed. Your writing won't be *perfect*. Neither will their reading (and understanding) be *perfect*. If you need different instructions each day and they can't be vetted, I wish you the luck you aren't likely to have.
  
  You can do more, perhaps.
  
  1. If you can live with students always working in pairs at the machines, then you have cut the interpretation problem roughly in half, maybe more. Only half as many machines need to be set up and there are two minds working on each machine. (Of course they could disagree making the problem harder, but usually this helps.)
  2. If you can manage to have an assistant wander around the room helping the students with the most trouble it can help, though pairing is better. (Paired programming has been shown to be more efficient and require less intervention by the teacher, but that is not quite the same problem you pose here. Students working alone get stuck and wait unproductively for assistance. Pairs work it out.)
  
  There is one special difficulty that you need to address. Minutely detailed and extremely precise descriptions are often especially hard to follow if the person trying to carry them out has no overall context or goal that they understand. The reader likely has no way to check that each step was faithfully executed in the correct order. Any glitch will cause a serious problem for that person. With a group of individuals, there will be many independent problems simultaneously. Whack A Mole.
  
  
  ---
  
  ### Answer by username_3 on 2017-11-01. Score: 0
  
  **tl;dr:** Simplify the process, then simplify (or eliminate) the instructions.
  
  > When teaching I often have pupils struggle in the first few minutes. When they are setting the computer up, ready to start work. They often have to follow lengthy instructions, that I print on paper, often one or two sides, of mostly screen snips (So this also takes a long time to prepare).
  >
  > What can I do to make this easier for pupils?
  
  Why do they need to follow these lengthy instructions? Why haven't you chosen tools that have a simplified setup process? Why isn't that setup step **already done**?
  
  > For example, I have had a lesson where I have had detailed instructions on setting up Python/Idle: Starting the editor, finding starter code, they contain many screen shots. This took me a long time to prepare, and is not easy for the pupils. They are not productive at the start of the lesson, and get demotivated.
  >
  > The computers are the schools desktop computers. Unfortunately they are running MS-Windows.
  
  If these are school computers, why isn't Python already set up? Why isn't there just a shortcut on the desktop to the editor? Why isn't the starter code organized in an easy-to-find location? (As in, so easy that it doesn't require an explanation. Like a folder called `Examples` on the desktop.)
  
  Hopefully these rhetorical questions demonstrate my point: if I were you, I would purposely choose tools that make it easy to get started, and I would try to eliminate as many setup steps as possible.
  
  This is one of the reasons I love [Processing](http://processing.org/), or if you're tied to Python, then [Processing.py](http://py.processing.org/). You get a simplified, easy-to-launch editor that includes everything you need to write and run code, and it comes with a bunch of examples that you can get to by just clicking one button.
  
  See also:
  
  * [Order to Teach Topics in an Intro Programming Class](https://cseducators.stackexchange.com/questions/2793/order-to-teach-topics-in-an-intro-programming-class/2798#2798)
  * [Using Processing as an entry point in an Introductory Course](https://cseducators.stackexchange.com/questions/19/using-processing-as-an-entry-point-in-an-introductory-course/2920#2920)
  * [Programming languages specifically designed for beginners](https://cseducators.stackexchange.com/questions/161/programming-languages-specifically-designed-for-beginners/173#173)
  
  But even if you don't want to switch to Processing or Processing.py, my suggestion is the same: your goal should be to get students writing (fun and engaging) code as soon as possible, which means you should be eliminating as much of the boring setup as possible. The less setup you have, the simpler your instructions can be.
  
  
  ---
  
  ### Answer by username_0 on 2017-10-31. Score: 0
  
  # Don't start on the computers.
  
  I have just been reading “Hacking the curriculum, creative computing and the power of play” — Ian Livingstone & Shahneila saeed. It had a suggestion that would help with this problem.
  
  Pupils struggle to learn two things at once: learning a new language, and designing an algorithm.
  
  Therefore:
  
  Separate these two activities, by having the pupils design the algorithm first, off of the computer.
  
  ## How this strategy will help with this problem
  
  Pupils will finish the first task at different times. Therefore, when there are problems, you don't have to help everyone at the same time.
  
  In addition the first wave of pupils become the experts, they can help others.
  
  This is not ideal, so should be combined with other solutions. However until the pupils have internalised the language, you should be doing this strategy anyway.
  
  # Semi-automation
  
  Always put resources in the same place. I have created a laminated sheet that I have put above my white board. It says:
  
  Student share → Year … → Mr Ctrl-alt-delor → … → lesson …
  
  I then fill in the year, subject, and lesson number with a card and sticky tack.
  The pupils soon get this, they soon get the the point where they just ask what is the lesson number? Of course I encourage them to read the board, or help each other.
  
  The department has just taken on this idea. Minus the teacher name, so that there is one unified place to find resources.
  
  # Automation: Use the command line
  
  If you are lucky enough to be using Gnu/Linux (or another Unix), then there is a technical solution. Hopefully other will post solutions for Microsoft's Windows, or more general pedagogical solutions.
  
  Instead of creating a long set of instructions for the pupils to follow. Create a script for the computer to follow. Or have the pupils type in a command. You can use wmctrl/xdotool/devilspie to move and resize windows.
  
  As [this](https://askubuntu.com/a/106207/10473) answer says, the command line allows you to do things with less typing (button presses), and in the same way that it makes answers on stackexchange easier, it also makes instructions to pupils easier.
  
  > **Comments:**
  > **username_0**: Feedback please: would the down-vote and run, please help with feedback. Sumative feedback is not affective.  
  
  ---
  
  