&gt; <i>Doing programming challenges is good mental practice, but they do little to help someone learn how to create a new program.</i><p>What does that have to do with the topic of <i>knowing how</i> to program, but not having a <i>what</i>? That is shifing the topic to &quot;I don&#x27;t know how to program very well; how can I get more practice&quot;.<p>How about developing an expert assistant program which helps writers stay focused on a topic?<p>People who actually know how to develop can have this problem.