<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	
	>
<channel>
	<title>
	Comments on: How to Write Simple Code to Accomplish Complex Tasks	</title>
	<atom:link href="https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/</link>
	<description>Jonathan Boccara&#039;s blog</description>
	<lastBuildDate>Mon, 08 Oct 2018 22:41:00 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.3</generator>
	<item>
		<title>
		By: Antonio Ruby Barreto		</title>
		<link>https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/#comment-1381</link>

		<dc:creator><![CDATA[Antonio Ruby Barreto]]></dc:creator>
		<pubDate>Mon, 08 Oct 2018 22:41:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=4240#comment-1381</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/#comment-1288&quot;&gt;jft&lt;/a&gt;.

Nice experience you had. I think the post focused exactly on the group experience, in writing code collaboratively and developing the sense of good and clear code by sharing the creation of it. This stepwise refinement seems a useful technique, but maybe vulnerable to siloing students. A balance of both could lead great results!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/#comment-1288">jft</a>.</p>
<p>Nice experience you had. I think the post focused exactly on the group experience, in writing code collaboratively and developing the sense of good and clear code by sharing the creation of it. This stepwise refinement seems a useful technique, but maybe vulnerable to siloing students. A balance of both could lead great results!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Dirk Reum		</title>
		<link>https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/#comment-1378</link>

		<dc:creator><![CDATA[Dirk Reum]]></dc:creator>
		<pubDate>Sun, 07 Oct 2018 19:23:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=4240#comment-1378</guid>

					<description><![CDATA[This sounds very much like discovery testing. A concept I heard about from Justin Searls. People should check out his overview: https://github.com/testdouble/contributing-tests/wiki/Discovery-Testing

The short explanation is that you slowly develop your code top-down by creating the abstractions you need and mocking them in your tests suites. Implementation for each abstraction is then done later (i.e. by your future self).]]></description>
			<content:encoded><![CDATA[<p>This sounds very much like discovery testing. A concept I heard about from Justin Searls. People should check out his overview: <a href="https://github.com/testdouble/contributing-tests/wiki/Discovery-Testing" rel="nofollow ugc">https://github.com/testdouble/contributing-tests/wiki/Discovery-Testing</a></p>
<p>The short explanation is that you slowly develop your code top-down by creating the abstractions you need and mocking them in your tests suites. Implementation for each abstraction is then done later (i.e. by your future self).</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Miguel Raggi		</title>
		<link>https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/#comment-1313</link>

		<dc:creator><![CDATA[Miguel Raggi]]></dc:creator>
		<pubDate>Thu, 20 Sep 2018 13:23:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=4240#comment-1313</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/#comment-1306&quot;&gt;maxim1000&lt;/a&gt;.

Nice! Thanks for sharing. I might try yours too. I think yours would be a good follow up to mine, like an &quot;advanced version&quot; :)]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/#comment-1306">maxim1000</a>.</p>
<p>Nice! Thanks for sharing. I might try yours too. I think yours would be a good follow up to mine, like an &#8220;advanced version&#8221; 🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: maxim1000		</title>
		<link>https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/#comment-1306</link>

		<dc:creator><![CDATA[maxim1000]]></dc:creator>
		<pubDate>Mon, 17 Sep 2018 07:17:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=4240#comment-1306</guid>

					<description><![CDATA[Interesting practice. Thanks for sharing it. I may try with students in future.

Reminds me of another exercise which I do with students &quot;communication through code&quot;, basically the first step of the described one but with a different communication.


I give a task and a time limit and ask to write the code. It&#039;s clearly not enough time to implement the algorithm completely (let&#039;s say &quot;find distance between triangles in 3D&quot; in 15 minutes). But they should put enough information to understand how it will work. It&#039;s OK to declare something and not implement. I ask to strive for compilable (but obviously not linkable) code.



Then every student gives his/her version to the next one. And that next student has to explain how the algorithm works and which corner cases are not covered.


And of course comments in code and verbal communication are not allowed. Only names of things in C++ (functions, types, variables).


After that we reflect on the experience of reading someone else code.]]></description>
			<content:encoded><![CDATA[<p>Interesting practice. Thanks for sharing it. I may try with students in future.</p>
<p>Reminds me of another exercise which I do with students &#8220;communication through code&#8221;, basically the first step of the described one but with a different communication.</p>
<p>I give a task and a time limit and ask to write the code. It&#8217;s clearly not enough time to implement the algorithm completely (let&#8217;s say &#8220;find distance between triangles in 3D&#8221; in 15 minutes). But they should put enough information to understand how it will work. It&#8217;s OK to declare something and not implement. I ask to strive for compilable (but obviously not linkable) code.</p>
<p>Then every student gives his/her version to the next one. And that next student has to explain how the algorithm works and which corner cases are not covered.</p>
<p>And of course comments in code and verbal communication are not allowed. Only names of things in C++ (functions, types, variables).</p>
<p>After that we reflect on the experience of reading someone else code.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: jft		</title>
		<link>https://www.fluentcpp.com/2018/09/11/how-to-write-simple-code-to-accomplish-complex-tasks/#comment-1288</link>

		<dc:creator><![CDATA[jft]]></dc:creator>
		<pubDate>Tue, 11 Sep 2018 09:23:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=4240#comment-1288</guid>

					<description><![CDATA[Interesting - but isn&#039;t this a group variation of that old program design technique - step wise refinement as first proposed by Niklaus Wirth ( Program Development by Stepwise Refinement 1971 see http://sunnyday.mit.edu/16.355/wirth-refinement.html.) ? This is how we had to design our pascal programs when I was at University back in the late 1970&#039;s - especially for our algorithms/data structures courses. We even had to hand in our program design documentation (which had to include all the step-wise design iterations) for marking before we coded the design in pascal! We got one mark (out of 10) for the design and one mark (again out of 10) for the program. If our design was bad (marked at &#060; 5) the lab demonstrators would give us the &#039;good&#039; design from which to implement the program - but we could then only get a max of 8 for the code - so a maximum mark of 12 out of 20 for a bad design even if the final program worked as expected.]]></description>
			<content:encoded><![CDATA[<p>Interesting &#8211; but isn&#8217;t this a group variation of that old program design technique &#8211; step wise refinement as first proposed by Niklaus Wirth ( Program Development by Stepwise Refinement 1971 see <a href="http://sunnyday.mit.edu/16.355/wirth-refinement.html" rel="nofollow ugc">http://sunnyday.mit.edu/16.355/wirth-refinement.html</a>.) ? This is how we had to design our pascal programs when I was at University back in the late 1970&#8217;s &#8211; especially for our algorithms/data structures courses. We even had to hand in our program design documentation (which had to include all the step-wise design iterations) for marking before we coded the design in pascal! We got one mark (out of 10) for the design and one mark (again out of 10) for the program. If our design was bad (marked at &lt; 5) the lab demonstrators would give us the &#039;good&#039; design from which to implement the program &#8211; but we could then only get a max of 8 for the code &#8211; so a maximum mark of 12 out of 20 for a bad design even if the final program worked as expected.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
