<?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 cs2220: Engineering Software</title>
	<atom:link href="http://www.cs.virginia.edu/cs2220/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://www.cs.virginia.edu/cs2220</link>
	<description></description>
	<lastBuildDate>Thu, 04 Nov 2010 18:05:57 +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 Scheduling Design Meetings by David Evans</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=389&#038;cpage=1#comment-18</link>
		<dc:creator>David Evans</dc:creator>
		<pubDate>Thu, 04 Nov 2010 18:05:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=389#comment-18</guid>
		<description>Note the times are scheduled for 20 minutes each, but if you think your team would benefit from a longer meeting, feel free to sign up for two contiguous slots.</description>
		<content:encoded><![CDATA[<p>Note the times are scheduled for 20 minutes each, but if you think your team would benefit from a longer meeting, feel free to sign up for two contiguous slots.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Exam 1 by David Evans</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=308&#038;cpage=1#comment-16</link>
		<dc:creator>David Evans</dc:creator>
		<pubDate>Mon, 27 Sep 2010 20:56:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=308#comment-16</guid>
		<description>Several people have asked questions about the abstraction function for HashMap:
&lt;blockquote&gt;
private HashMap&lt;Integer,Integer&gt; map;
   // Abstraction function:
   // AF(c) = { x_1, …, x_n } where
   // forall key: rep.map()
   //    the value of key appears in x map.get(key) number of times.
&lt;/blockquote&gt;
This is a bit confusingly worded since I didn&#039;t define what &quot;x&quot; is here.  By x, I mean the set { x_1, ... , x_n} that is the abstract representation of the multiset.  So, if say, map.get(3) = 7 then the value 3 (key) appears in this set (x) 7 times.</description>
		<content:encoded><![CDATA[<p>Several people have asked questions about the abstraction function for HashMap:</p>
<blockquote><p>
private HashMap<integer ,Integer> map;<br />
   // Abstraction function:<br />
   // AF(c) = { x_1, …, x_n } where<br />
   // forall key: rep.map()<br />
   //    the value of key appears in x map.get(key) number of times.<br />
</integer></p></blockquote>
<p>This is a bit confusingly worded since I didn&#8217;t define what &#8220;x&#8221; is here.  By x, I mean the set { x_1, &#8230; , x_n} that is the abstract representation of the multiset.  So, if say, map.get(3) = 7 then the value 3 (key) appears in this set (x) 7 times.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Exam 1 by David Evans</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=308&#038;cpage=1#comment-15</link>
		<dc:creator>David Evans</dc:creator>
		<pubDate>Fri, 24 Sep 2010 21:18:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=308#comment-15</guid>
		<description>Yes, that is a mistake.  It collection is unordered.  The multiset is an unordered bag of elements, where the same value can appear more than once.</description>
		<content:encoded><![CDATA[<p>Yes, that is a mistake.  It collection is unordered.  The multiset is an unordered bag of elements, where the same value can appear more than once.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Exam 1 by mkd5m</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=308&#038;cpage=1#comment-14</link>
		<dc:creator>mkd5m</dc:creator>
		<pubDate>Fri, 24 Sep 2010 16:47:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=308#comment-14</guid>
		<description>For #4, in the overview of the MultiSet type, it states &quot;where the set braces mean the collection is ordered.&quot; Should this say unordered?</description>
		<content:encoded><![CDATA[<p>For #4, in the overview of the MultiSet type, it states &#8220;where the set braces mean the collection is ordered.&#8221; Should this say unordered?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Problem Set 3: Implementing Abstract Datatypes by David Evans</title>
		<link>http://www.cs.virginia.edu/cs2220/?page_id=255&#038;cpage=1#comment-13</link>
		<dc:creator>David Evans</dc:creator>
		<pubDate>Mon, 20 Sep 2010 23:54:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?page_id=255#comment-13</guid>
		<description>The specification is less clear than it should be on this, since the prose is ambiguous, but the formal notation is more clear (but not consistent with the notation used elsewhere!):
&lt;blockquote&gt;
     EFFECTS: If s is not a node in this, throws NoNodeException.
        Otherwise, returns a set containing the nodes adjacent to s

        That is, returns the set of nodes
            { e &#124; &lt;s, e&gt; is in E }
&lt;/blockquote&gt;
This suggests that it should only include nodes that can be reached following an edge from s to e.  The inconsistency is the abstract notation uses (s, e) to denote edges, but the spec here incorrectly uses &lt;s, e&gt;.

A better specification would make this more clear:
&lt;blockquote&gt;
     EFFECTS: If s is not a node in this, throws NoNodeException.
        Otherwise, returns a set containing the nodes that can be reached following an edge from s

        That is, returns the set of nodes { e &#124; (s, e) is in E }
&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<p>The specification is less clear than it should be on this, since the prose is ambiguous, but the formal notation is more clear (but not consistent with the notation used elsewhere!):</p>
<blockquote><p>
     EFFECTS: If s is not a node in this, throws NoNodeException.<br />
        Otherwise, returns a set containing the nodes adjacent to s</p>
<p>        That is, returns the set of nodes<br />
            { e | &lt;s, e&gt; is in E }
</p></blockquote>
<p>This suggests that it should only include nodes that can be reached following an edge from s to e.  The inconsistency is the abstract notation uses (s, e) to denote edges, but the spec here incorrectly uses &lt;s, e&gt;.</p>
<p>A better specification would make this more clear:</p>
<blockquote><p>
     EFFECTS: If s is not a node in this, throws NoNodeException.<br />
        Otherwise, returns a set containing the nodes that can be reached following an edge from s</p>
<p>        That is, returns the set of nodes { e | (s, e) is in E }
</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Problem Set 3: Implementing Abstract Datatypes by blantonj</title>
		<link>http://www.cs.virginia.edu/cs2220/?page_id=255&#038;cpage=1#comment-12</link>
		<dc:creator>blantonj</dc:creator>
		<pubDate>Mon, 20 Sep 2010 22:59:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?page_id=255#comment-12</guid>
		<description>The specification for StringGraph says that it is a directed graph, which means that each connection goes one way.  For getAdjacent, then, should it include all nodes in any way connected to the input or just ones that start at the input?</description>
		<content:encoded><![CDATA[<p>The specification for StringGraph says that it is a directed graph, which means that each connection goes one way.  For getAdjacent, then, should it include all nodes in any way connected to the input or just ones that start at the input?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Problem Set 3: Implementing Abstract Datatypes by David Evans</title>
		<link>http://www.cs.virginia.edu/cs2220/?page_id=255&#038;cpage=1#comment-11</link>
		<dc:creator>David Evans</dc:creator>
		<pubDate>Mon, 20 Sep 2010 17:24:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?page_id=255#comment-11</guid>
		<description>I&#039;ve fixed a couple typesetting problems with the StringGraph specification.  The overview specification should list the edges as ordered pairs, instead of sets.  It now reads,
&lt;blockquote&gt;
A typical StringGraph is
       &lt; {v1, v2, ..., vn} , { (v_a1, v_b1), (v_a2, v_b2), ... } &gt;
    where each ai and bi is in [1, n].
&lt;/blockquote&gt;
Note that the abstract representation of the edges is a set of pairs of Strings, where each string is the name of a node in the node set.

Also, I fixed the specification of &lt;tt&gt;addEdge&lt;/tt&gt;.  There was a problem with the html, it should read
&lt;blockquote&gt;
G&lt;sub&gt;post&lt;/sub&gt; = &lt; V&lt;sub&gt;pre&lt;/sub&gt;, E&lt;sub&gt;pre&lt;/sub&gt; U { (&lt;em&gt;s&lt;/em&gt;, &lt;em&gt;t&lt;/em&gt;) } &gt;
&lt;/blockquote&gt;
to show the new edge is added to the set of edges.

Sorry for the confusion!</description>
		<content:encoded><![CDATA[<p>I&#8217;ve fixed a couple typesetting problems with the StringGraph specification.  The overview specification should list the edges as ordered pairs, instead of sets.  It now reads,</p>
<blockquote><p>
A typical StringGraph is<br />
       < {v1, v2, ..., vn} , { (v_a1, v_b1), (v_a2, v_b2), ... } ><br />
    where each ai and bi is in [1, n].
</p></blockquote>
<p>Note that the abstract representation of the edges is a set of pairs of Strings, where each string is the name of a node in the node set.</p>
<p>Also, I fixed the specification of <tt>addEdge</tt>.  There was a problem with the html, it should read</p>
<blockquote><p>
G<sub>post</sub> = &lt; V<sub>pre</sub>, E<sub>pre</sub> U { (<em>s</em>, <em>t</em>) } &gt;
</p></blockquote>
<p>to show the new edge is added to the set of edges.</p>
<p>Sorry for the confusion!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Problem Set 3: Implementing Abstract Datatypes by David Evans</title>
		<link>http://www.cs.virginia.edu/cs2220/?page_id=255&#038;cpage=1#comment-10</link>
		<dc:creator>David Evans</dc:creator>
		<pubDate>Sun, 19 Sep 2010 03:18:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?page_id=255#comment-10</guid>
		<description>Sorry, its an html bug.  It should just be a &gt;.  Its fixed now, thanks for reporting the problem!</description>
		<content:encoded><![CDATA[<p>Sorry, its an html bug.  It should just be a &gt;.  Its fixed now, thanks for reporting the problem!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Problem Set 3: Implementing Abstract Datatypes by bkn3yh</title>
		<link>http://www.cs.virginia.edu/cs2220/?page_id=255&#038;cpage=1#comment-9</link>
		<dc:creator>bkn3yh</dc:creator>
		<pubDate>Sun, 19 Sep 2010 01:52:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?page_id=255#comment-9</guid>
		<description>In public class Poly {
	// Rep:
	private ArrayList&lt;TermRecord&amp;gt terms;

what does &amp;gt mean?</description>
		<content:encoded><![CDATA[<p>In public class Poly {<br />
	// Rep:<br />
	private ArrayList&lt;TermRecord&amp;gt terms;</p>
<p>what does &amp;gt mean?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Problem Set 2: Using Abstract Datatypes by David Evans</title>
		<link>http://www.cs.virginia.edu/cs2220/?page_id=163&#038;cpage=1#comment-8</link>
		<dc:creator>David Evans</dc:creator>
		<pubDate>Wed, 08 Sep 2010 13:31:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?page_id=163#comment-8</guid>
		<description>A student asks,
&lt;blockquote&gt;
Once we downloaded ps2.jar and installed it via the &quot;add external JARs&quot; method we used for PS1, how do we import all the classes?  
&lt;/blockquote&gt;
To use the provided classes, you need to import them into your program by adding the line,
&lt;pre&gt;
import ps2.*;
&lt;/pre&gt;
to the beginning of your file.

If you use the API types, you will need imports for those also:
&lt;pre&gt;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Set;
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>A student asks,</p>
<blockquote><p>
Once we downloaded ps2.jar and installed it via the &#8220;add external JARs&#8221; method we used for PS1, how do we import all the classes?
</p></blockquote>
<p>To use the provided classes, you need to import them into your program by adding the line,</p>
<pre>
import ps2.*;
</pre>
<p>to the beginning of your file.</p>
<p>If you use the API types, you will need imports for those also:</p>
<pre>
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Set;
</pre>
]]></content:encoded>
	</item>
</channel>
</rss>