Answers.Body: <p>I have thought it strange that we teach students to write programs before we teach them to read them. </p>
  
  <p>A short time ago I read about some research about this. It stated that the problem is finding good programming works that is of a standard similar to the standard of great literary works. They may exist, but no one has compiled a collection.</p>
  
  <p>They would have to be at least:</p>
  
  <ul>
  <li>Free Software / Open Source.</li>
  <li>Well written.</li>
  <li>“Reading age” appropriate. (That is programming reading age)</li>
  </ul>
  
  <hr>
  
  <p>I will try to remember where I read it, and report back.</p>
  
  <p>Could be one of these:
   - Mind-storms — Seymour Papert (page &lt; 116 (I am up to page 116) )
   - Hacking The Curriculum — Ian Living Stone &amp; Shahneila Saeed (page &lt;= 72)
   - <a href="https://helloworld.raspberrypi.org/issues/3" rel="noreferrer">Hello Word magazine issue 3</a>
   - Somewhere else.</p>
  
  <p>Sorry I can't find it. It is most likely in the 1st, then the 2nd etc. If I find it then I will update. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-30T16:49:18.933Z
Answers.LastActivityDate: 2017-11-30T17:01:57.317Z
Answers.LastEditDate: 2017-11-30T17:01:57.317Z
Answers.UserDisplayName: ctrl-alt-delor
Answers.Body: <p>There is quite a lot of research on retrieval-based learning and its efficacy.  For a very powerful illustration in a single study, there is a beautiful blog post <a href="http://www.apa.org/science/about/psa/2016/06/learning-memory.aspx" rel="noreferrer">by Jeffrey Karpicke</a>, which has two groups of students studying a text, one by creating concept maps, and the other by reading and then attempting to re-write from memory.  </p>
  
  <p>When tested a week later, students were given two types of questions: simple recall and questions that required creating new connections between the ideas presented and outside ideas.  In both cases, the retrieval-based group of students far outperformed the concept-map group.</p>
  
  <p><a href="https://i.sstatic.net/1KMCX.jpg" rel="noreferrer"><img src="https://i.sstatic.net/1KMCX.jpg" alt="Results of Karpicke &amp; Blunt 2011"></a></p>
  
  <p>Karpike also pulled together a document <a href="http://learninglab.psych.purdue.edu/downloads/inpress_Karpicke_Retrieval_Based_Learning_Review.pdf" rel="noreferrer">summarizing research</a> about retrieval-based learning across the field.  On page 2 of the document, he gives a graph of the number of studies about retrieval learning over time.  </p>
  
  <p><a href="https://i.sstatic.net/5uBmN.gif" rel="noreferrer"><img src="https://i.sstatic.net/5uBmN.gif" alt="enter image description here"></a></p>
  
  <p>What is important about this graph for our purposes is that it shows that this is a relatively new area of study.  <strong>As far as I can tell, there are not yet, as of this time, studies about retrieval learning specifically within the realm of CS.</strong>  However, there are few reasons to doubt that the strong results found in other fields would ultimately apply here as well, as the kind of mental modelling needed to attempt this sort of retrieval combines both big-picture and detailed understandings.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-11T19:01:54.223Z
Answers.LastActivityDate: 2017-12-11T20:10:12.177Z
Answers.LastEditDate: 2017-12-11T20:10:12.177Z
Answers.UserDisplayName: Ben I.
Body: <p>I was reading Ben Franklin's biography(the one by Walter Issacson), and it describes his method for learning to write: he would take excellent essays, jot down the basic ideas, then try to reconstruct them some time later and compare his version to the actual essay. It occurred to me that this could fairly easily be applied to programming. Has this kind of technique ever been studied? </p>
  
  <p>(Side question: does anyone know of a library of excellent programs to learn from?)</p>
  
Tags: <self-learning>
Title: "Franklin" Method for learning good programming?
ThreadText: # "Franklin" Method for learning good programming?
  
  (Asked by: username_0 on 2017-11-29)
  
  I was reading Ben Franklin's biography(the one by Walter Issacson), and it describes his method for learning to write: he would take excellent essays, jot down the basic ideas, then try to reconstruct them some time later and compare his version to the actual essay. It occurred to me that this could fairly easily be applied to programming. Has this kind of technique ever been studied?
  
  (Side question: does anyone know of a library of excellent programs to learn from?)
  
  **Tags:** self-learning
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2017-11-30. Score: 10 | Accepted answer
  
  I have thought it strange that we teach students to write programs before we teach them to read them.
  
  A short time ago I read about some research about this. It stated that the problem is finding good programming works that is of a standard similar to the standard of great literary works. They may exist, but no one has compiled a collection.
  
  They would have to be at least:
  
  * Free Software / Open Source.
  * Well written.
  * “Reading age” appropriate. (That is programming reading age)
  
  ---
  
  I will try to remember where I read it, and report back.
  
  Could be one of these:
  - Mind-storms — Seymour Papert (page < 116 (I am up to page 116) )
  - Hacking The Curriculum — Ian Living Stone & Shahneila Saeed (page <= 72)
  - [Hello Word magazine issue 3](https://helloworld.raspberrypi.org/issues/3)
  - Somewhere else.
  
  Sorry I can't find it. It is most likely in the 1st, then the 2nd etc. If I find it then I will update.
  
  
  ---
  
  ### Answer by username_2 on 2017-12-11. Score: 7
  
  There is quite a lot of research on retrieval-based learning and its efficacy. For a very powerful illustration in a single study, there is a beautiful blog post [by Jeffrey Karpicke](http://www.apa.org/science/about/psa/2016/06/learning-memory.aspx), which has two groups of students studying a text, one by creating concept maps, and the other by reading and then attempting to re-write from memory.
  
  When tested a week later, students were given two types of questions: simple recall and questions that required creating new connections between the ideas presented and outside ideas. In both cases, the retrieval-based group of students far outperformed the concept-map group.
  
  [![Results of Karpicke & Blunt 2011](https://i.sstatic.net/1KMCX.jpg)](https://i.sstatic.net/1KMCX.jpg)
  
  Karpike also pulled together a document [summarizing research](http://learninglab.psych.purdue.edu/downloads/inpress_Karpicke_Retrieval_Based_Learning_Review.pdf) about retrieval-based learning across the field. On page 2 of the document, he gives a graph of the number of studies about retrieval learning over time.
  
  [![enter image description here](https://i.sstatic.net/5uBmN.gif)](https://i.sstatic.net/5uBmN.gif)
  
  What is important about this graph for our purposes is that it shows that this is a relatively new area of study. **As far as I can tell, there are not yet, as of this time, studies about retrieval learning specifically within the realm of CS.** However, there are few reasons to doubt that the strong results found in other fields would ultimately apply here as well, as the kind of mental modelling needed to attempt this sort of retrieval combines both big-picture and detailed understandings.
  
  
  ---
  
  