<?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/"
		>
<channel>
	<title>Comments for William E. J. Doane PhD</title>
	<atom:link href="http://DrDoane.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://DrDoane.com</link>
	<description>What will you create today?</description>
	<lastBuildDate>Tue, 06 Jul 2010 14:22:42 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Comment on Thinking Through A Basic Pong Game in Processing by William Doane</title>
		<link>http://DrDoane.com/2010/07/computing-education/thinking-through-a-basic-pong-game-in-processing/comment-page-1/#comment-29</link>
		<dc:creator>William Doane</dc:creator>
		<pubDate>Tue, 06 Jul 2010 14:22:42 +0000</pubDate>
		<guid isPermaLink="false">http://DrDoane.com/?p=127#comment-29</guid>
		<description>Adding the ability to reset is also pretty straight forward, although more lines of code are involved. Simply move all of the variable initializations into a reset method, which can be called when needed... notice that I&#039;ve updated the setup method to make use of my new reset method:

&lt;pre&gt;float ballX;
float ballY;
float ballR;
float dX;
float dY;
float paddleX;
float paddleY;
float paddleW;
float paddleH;

void reset() {
  ballX = 20;
  ballY = 20;
  ballR = 10;
  dX = random(1, 2);
  dY = random(1, 2);
  paddleX = width - 15;
  paddleY = 10;
  paddleW = 10;
  paddleH = 30;
}
 
void setup() {
  size(400, 400);
  reset();
}&lt;/pre&gt;

and add a new conditional in the keyPressed method to check whether the reset key (I&#039;ve chosen the R key here) has been pressed:

&lt;pre&gt;// based on code from http://processing.org/reference/keyCode.html
void keyPressed() {
  if (key == &#039;r&#039; &#124;&#124; key == &#039;R&#039;) {
    reset();
  }
  if (key == CODED) {
    if (keyCode == UP) {
      paddleY = paddleY - paddleH;
    } 
    else if (keyCode == DOWN) {
      paddleY = paddleY + paddleH;
    } 
  } 
}&lt;/pre&gt;

 
</description>
		<content:encoded><![CDATA[<p>Adding the ability to reset is also pretty straight forward, although more lines of code are involved. Simply move all of the variable initializations into a reset method, which can be called when needed&#8230; notice that I&#8217;ve updated the setup method to make use of my new reset method:</p>
<pre>float ballX;
float ballY;
float ballR;
float dX;
float dY;
float paddleX;
float paddleY;
float paddleW;
float paddleH;

void reset() {
  ballX = 20;
  ballY = 20;
  ballR = 10;
  dX = random(1, 2);
  dY = random(1, 2);
  paddleX = width - 15;
  paddleY = 10;
  paddleW = 10;
  paddleH = 30;
}

void setup() {
  size(400, 400);
  reset();
}</pre>
<p>and add a new conditional in the keyPressed method to check whether the reset key (I&#8217;ve chosen the R key here) has been pressed:</p>
<pre>// based on code from <a href="http://processing.org/reference/keyCode.html" rel="nofollow">http://processing.org/reference/keyCode.html</a>
void keyPressed() {
  if (key == 'r' || key == 'R') {
    reset();
  }
  if (key == CODED) {
    if (keyCode == UP) {
      paddleY = paddleY - paddleH;
    }
    else if (keyCode == DOWN) {
      paddleY = paddleY + paddleH;
    }
  }
}</pre>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Thinking Through A Basic Pong Game in Processing by William Doane</title>
		<link>http://DrDoane.com/2010/07/computing-education/thinking-through-a-basic-pong-game-in-processing/comment-page-1/#comment-28</link>
		<dc:creator>William Doane</dc:creator>
		<pubDate>Tue, 06 Jul 2010 02:22:37 +0000</pubDate>
		<guid isPermaLink="false">http://DrDoane.com/?p=127#comment-28</guid>
		<description>Changing the program to allow for mouse input is pretty straight forward. Just add a new method after the keyPressed method that reads:

&lt;pre lang=&quot;java&quot;&gt;void mouseMoved() {
  paddleY = mouseY;
}
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Changing the program to allow for mouse input is pretty straight forward. Just add a new method after the keyPressed method that reads:</p>
<pre lang="java">void mouseMoved() {
  paddleY = mouseY;
}
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Co-work and Coffee Shops by William Doane</title>
		<link>http://DrDoane.com/2010/06/reflections/co-work-and-coffee-shops/comment-page-1/#comment-26</link>
		<dc:creator>William Doane</dc:creator>
		<pubDate>Thu, 24 Jun 2010 21:46:59 +0000</pubDate>
		<guid isPermaLink="false">http://DrDoane.com/?p=124#comment-26</guid>
		<description>I need better connections!</description>
		<content:encoded><![CDATA[<p>I need better connections!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Co-work and Coffee Shops by Alfred Thompson</title>
		<link>http://DrDoane.com/2010/06/reflections/co-work-and-coffee-shops/comment-page-1/#comment-25</link>
		<dc:creator>Alfred Thompson</dc:creator>
		<pubDate>Thu, 24 Jun 2010 20:36:16 +0000</pubDate>
		<guid isPermaLink="false">http://DrDoane.com/?p=124#comment-25</guid>
		<description>Microsoft has guest offices in many of its field locations. Sort of like co-work spaces I guess except just for employees who normally work other places - like from home. They tell me the coffee is good but I don&#039;t drink it. I do drink the free soda and hot chocolate though. :-)</description>
		<content:encoded><![CDATA[<p>Microsoft has guest offices in many of its field locations. Sort of like co-work spaces I guess except just for employees who normally work other places &#8211; like from home. They tell me the coffee is good but I don&#8217;t drink it. I do drink the free soda and hot chocolate though. <img src='http://DrDoane.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on IST301x: The Information Environment by Zaccharia Ndiaye</title>
		<link>http://DrDoane.com/2010/01/courses/ist301x/comment-page-1/#comment-20</link>
		<dc:creator>Zaccharia Ndiaye</dc:creator>
		<pubDate>Wed, 26 May 2010 13:31:11 +0000</pubDate>
		<guid isPermaLink="false">http://drdoane.com/?p=23#comment-20</guid>
		<description>I took ist301 in Spring 2010 . This class is so important, in my view, and it helped me to pursue my degree in Information Science.The teacher is great; comprehensible and not that hard with his students. Even after class hours, he took time to speak with and help the students as needed. Indeed, he&#039;s the best teacher that I had at SUNY ALBANY. This class was the second class that I took with him (so far) and I am looking forward to taking others with him, too. I recommend that you take ist301 with Dr. Doane; you will not regret it. Thanks Dr. Doane for your help through the semester. Just follow correctly what he asks you to do and you will be fine.</description>
		<content:encoded><![CDATA[<p>I took ist301 in Spring 2010 . This class is so important, in my view, and it helped me to pursue my degree in Information Science.The teacher is great; comprehensible and not that hard with his students. Even after class hours, he took time to speak with and help the students as needed. Indeed, he&#8217;s the best teacher that I had at SUNY ALBANY. This class was the second class that I took with him (so far) and I am looking forward to taking others with him, too. I recommend that you take ist301 with Dr. Doane; you will not regret it. Thanks Dr. Doane for your help through the semester. Just follow correctly what he asks you to do and you will be fine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Learning to Write in English like Learning to Program by William Doane</title>
		<link>http://DrDoane.com/2010/03/computing-education/learning-to-write-in-english-like-learning-to-program/comment-page-1/#comment-11</link>
		<dc:creator>William Doane</dc:creator>
		<pubDate>Thu, 08 Apr 2010 21:46:44 +0000</pubDate>
		<guid isPermaLink="false">http://DrDoane.com/?p=100#comment-11</guid>
		<description>Thanks for asking, Christian. I believe there are several things that can be done to make initial CS education more engaging.

1. Begin by learning to read and explain code. Children don&#039;t learn their native language by beginning with writing short stories; they learn to hear it, speak it, read it, and only then to write it themselves. Programmers, on the other hand, are handed syntactic formalisms of the language of interest and expected to work from that point.

2. Focus on the meaning of code, rather than the syntax, initially. Too often, when novices are asked to explain what code does, they respond in a purely functional way (&quot;well, we assign 2 to x, then...&quot;), rather than looking at the big picture, i.e., what is the intention that the code represents?

3. Work with code that can be refactored transparently. (See my post &lt;a href=&quot;/2010/03/goodbye-hello-world/&quot; rel=&quot;nofollow&quot;&gt;Goodbye, Hello World?&lt;/a&gt; as an example.) One needs to see the same problem context repeatedly, improved and expanded at each step, so that one can appreciate how the changes being made reflect improvements in this particular solution to the problem. Students need to see more than just single snapshots of code; they need to see code evolve as ones understanding of the problem changes.

4. Work on problems that Matter (in the societal sense), or at least problems that matter (to the individual). The popular &lt;a href=&quot;http://coweb.cc.gatech.edu/mediaComp-plan/1&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;media computation curriculum&lt;/a&gt; from &lt;a href=&quot;http://computinged.wordpress.com/about/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Mark Guzdial&lt;/a&gt; and &lt;a href=&quot;http://www.cc.gatech.edu/people/barbara-ericson&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Barbara Ericson&lt;/a&gt; attempts to address this by working with digital media files (images, sounds, video). &lt;a her=&quot;http://www.cse.buffalo.edu/~mikeb/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Mike Buckley&lt;/a&gt; at University Buffalo engages his students with the needs of real people via a &quot;&lt;a href=&quot;http://src.cse.buffalo.edu/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Socially Relevant Computing&lt;/a&gt;&quot; curriculum. I think there&#039;s room to blend the two.

5. Remember that we can&#039;t solve problems that students haven&#039;t yet experienced and learned to value. I can teach the mechanics of matrix algebra to a 4th grade student, but it&#039;s a solution to problems that the 4th grader doesn&#039;t yet have. Because of this (and possibly other issues regarding the developmental appropriateness of the topic), the learning won&#039;t be &quot;sticky&quot;. In other words, we need to begin with questions, so that the answers are meaningful.</description>
		<content:encoded><![CDATA[<p>Thanks for asking, Christian. I believe there are several things that can be done to make initial CS education more engaging.</p>
<p>1. Begin by learning to read and explain code. Children don&#8217;t learn their native language by beginning with writing short stories; they learn to hear it, speak it, read it, and only then to write it themselves. Programmers, on the other hand, are handed syntactic formalisms of the language of interest and expected to work from that point.</p>
<p>2. Focus on the meaning of code, rather than the syntax, initially. Too often, when novices are asked to explain what code does, they respond in a purely functional way (&#8220;well, we assign 2 to x, then&#8230;&#8221;), rather than looking at the big picture, i.e., what is the intention that the code represents?</p>
<p>3. Work with code that can be refactored transparently. (See my post <a href="/2010/03/goodbye-hello-world/" rel="nofollow">Goodbye, Hello World?</a> as an example.) One needs to see the same problem context repeatedly, improved and expanded at each step, so that one can appreciate how the changes being made reflect improvements in this particular solution to the problem. Students need to see more than just single snapshots of code; they need to see code evolve as ones understanding of the problem changes.</p>
<p>4. Work on problems that Matter (in the societal sense), or at least problems that matter (to the individual). The popular <a href="http://coweb.cc.gatech.edu/mediaComp-plan/1" target="_blank" rel="nofollow">media computation curriculum</a> from <a href="http://computinged.wordpress.com/about/" target="_blank" rel="nofollow">Mark Guzdial</a> and <a href="http://www.cc.gatech.edu/people/barbara-ericson" target="_blank" rel="nofollow">Barbara Ericson</a> attempts to address this by working with digital media files (images, sounds, video). <a her="http://www.cse.buffalo.edu/~mikeb/" target="_blank" rel="nofollow">Mike Buckley</a> at University Buffalo engages his students with the needs of real people via a &#8220;<a href="http://src.cse.buffalo.edu/" target="_blank" rel="nofollow">Socially Relevant Computing</a>&#8221; curriculum. I think there&#8217;s room to blend the two.</p>
<p>5. Remember that we can&#8217;t solve problems that students haven&#8217;t yet experienced and learned to value. I can teach the mechanics of matrix algebra to a 4th grade student, but it&#8217;s a solution to problems that the 4th grader doesn&#8217;t yet have. Because of this (and possibly other issues regarding the developmental appropriateness of the topic), the learning won&#8217;t be &#8220;sticky&#8221;. In other words, we need to begin with questions, so that the answers are meaningful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Learning to Write in English like Learning to Program by Christian Hanson</title>
		<link>http://DrDoane.com/2010/03/computing-education/learning-to-write-in-english-like-learning-to-program/comment-page-1/#comment-9</link>
		<dc:creator>Christian Hanson</dc:creator>
		<pubDate>Wed, 07 Apr 2010 19:24:14 +0000</pubDate>
		<guid isPermaLink="false">http://DrDoane.com/?p=100#comment-9</guid>
		<description>This is a very accurate representation of the problems of learning to program and the difficulties I had here as a former CS student. I still like programming and your point here is a valid one. It feels like we are asked to play a game before we know the rules, and we ONLY learn the rules by breaking them, and being informed of them in a strange format quite foreign to us at the time. I have never had you for a C.S. class in the past but what ways would you  teach programming more effectively and efficiently?</description>
		<content:encoded><![CDATA[<p>This is a very accurate representation of the problems of learning to program and the difficulties I had here as a former CS student. I still like programming and your point here is a valid one. It feels like we are asked to play a game before we know the rules, and we ONLY learn the rules by breaking them, and being informed of them in a strange format quite foreign to us at the time. I have never had you for a C.S. class in the past but what ways would you  teach programming more effectively and efficiently?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Making Values and Culture Manifest and Manifold by paul zachos</title>
		<link>http://DrDoane.com/2010/03/instructional-planning/making-values-and-culture-manifest-and-manifold/comment-page-1/#comment-8</link>
		<dc:creator>paul zachos</dc:creator>
		<pubDate>Wed, 07 Apr 2010 01:09:41 +0000</pubDate>
		<guid isPermaLink="false">http://DrDoane.com/?p=109#comment-8</guid>
		<description>Yes,
Value-neutral curriculum or instruction are virtually unimaginable. Without values there would be no force to drive an educational endeavor.

The best we can do, as you say, is to make our values explicit. This would foster both fairness and efficiency, cutting out unnecessary mysteries about what one is in for in an educational program.

The relationship of explicitness to forewarning about cognitive overload is something that I had never thought of. Excellent idea!</description>
		<content:encoded><![CDATA[<p>Yes,<br />
Value-neutral curriculum or instruction are virtually unimaginable. Without values there would be no force to drive an educational endeavor.</p>
<p>The best we can do, as you say, is to make our values explicit. This would foster both fairness and efficiency, cutting out unnecessary mysteries about what one is in for in an educational program.</p>
<p>The relationship of explicitness to forewarning about cognitive overload is something that I had never thought of. Excellent idea!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on IST424: Hardware &amp; Operating Systems by Zaccharia Ndiaye</title>
		<link>http://DrDoane.com/2009/09/courses/ist424/comment-page-1/#comment-4</link>
		<dc:creator>Zaccharia Ndiaye</dc:creator>
		<pubDate>Tue, 23 Mar 2010 00:53:58 +0000</pubDate>
		<guid isPermaLink="false">http://DrDoane.com/?p=42#comment-4</guid>
		<description>I took this class in spring 2009. The class was so interesting because I learned a lot of things that I did not know about Hardware and Operating Systems. Also, the professor kept it simple and he made the class enjoyable to everyone. He is one of the best professors that I ever had, but you have to do what he asks you to do. I suggest taking this class with Dr. Doane.</description>
		<content:encoded><![CDATA[<p>I took this class in spring 2009. The class was so interesting because I learned a lot of things that I did not know about Hardware and Operating Systems. Also, the professor kept it simple and he made the class enjoyable to everyone. He is one of the best professors that I ever had, but you have to do what he asks you to do. I suggest taking this class with Dr. Doane.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
