<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cs2220: Engineering Software &#187; Classes</title>
	<atom:link href="http://www.cs.virginia.edu/cs2220/?feed=rss2&#038;cat=5" rel="self" type="application/rss+xml" />
	<link>http://www.cs.virginia.edu/cs2220</link>
	<description></description>
	<lastBuildDate>Fri, 15 Jul 2011 21:27:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Classes 27 and 28</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=422</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=422#comments</comments>
		<pubDate>Fri, 03 Dec 2010 21:21:24 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Classes]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=422</guid>
		<description><![CDATA[Here are the slides from this week: Class 27: Exam 2 [PPTX] [PDF] Class 28: Course Summary [PPTX] [PDF] (including information on project presentations and reports)]]></description>
			<content:encoded><![CDATA[<p>Here are the slides from this week:</p>
<ul>
<li> Class 27: Exam 2 [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class27.pptx">PPTX</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class27.pdf">PDF</a>]
<li> Class 28: Course Summary [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class28.pptx">PPTX</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class28.pdf">PDF</a>] (including information on project presentations and reports)
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=422</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Class 26: Interview Questions</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=417</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=417#comments</comments>
		<pubDate>Tue, 30 Nov 2010 15:11:06 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Classes]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=417</guid>
		<description><![CDATA[There are no slides for this class, but here are some links to resources about software engineering and programming interviews: Microsoft Interview Questions Google Interview Stories Algorithms for Interviews (book by Adnan Aziz and Amit Prakash)]]></description>
			<content:encoded><![CDATA[<p>There are no slides for this class, but here are some links to resources about software engineering and programming interviews:</p>
<ul>
<li> <a href="http://www.glassdoor.com/Interview/Microsoft-Interview-Questions-E1651_P4.htm">Microsoft Interview Questions</a>
<li> <a href="http://google-interview.com/">Google Interview Stories</a>
<li> <a href="http://www.algorithmsforinterviews.com/">Algorithms for Interviews</a> (book by Adnan Aziz and Amit Prakash)
<li> <a href="http://www.mytechinterviews.com/10-google-interview-questions"</a>Google Interview Puzzles</a>
<li> <a href="http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html">Joel on Software&#8217;s <em>Guerrilla Guide to Interviewing</em></a>
<ul>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=417</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classes 24 and 25, Exam 2</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=415</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=415#comments</comments>
		<pubDate>Tue, 30 Nov 2010 15:04:03 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Classes]]></category>
		<category><![CDATA[Exams]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=415</guid>
		<description><![CDATA[Here are the slides from Classes 24 and 25: Class 24: Garbage Collection [PPTX] [PDF] Class 25: Software Disasters! [PPTX] [PDF] The Exam 2 template is here: exam2.docx.]]></description>
			<content:encoded><![CDATA[<p>Here are the slides from Classes 24 and 25:</p>
<ul>
<li> Class 24: Garbage Collection [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class24.pptx">PPTX</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class24.pdf">PDF</a>]
<li> Class 25: Software Disasters! [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class25.pptx">PPTX</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class25.pdf">PDF</a>]
</ul>
<p>The Exam 2 template is here: <a href="http://www.cs.virginia.edu/evans/cs2220-f10/exams/exam2/exam2.docx">exam2.docx</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=415</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classes 22 and 23</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=399</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=399#comments</comments>
		<pubDate>Fri, 12 Nov 2010 00:07:56 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Classes]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=399</guid>
		<description><![CDATA[Here are the slides from this week: Class 22: Graphical User Interfaces [PPTX] [PDF] Class 23: Network Programming [PPTX] [PDF]]]></description>
			<content:encoded><![CDATA[<p>Here are the slides from this week:</p>
<ul>
<li> Class 22: Graphical User Interfaces [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class22.pptx">PPTX</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class22.pdf">PDF</a>]
<li> Class 23: Network Programming [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class23.pptx">PPTX</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class23.pdf">PDF</a>]
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=399</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classes 20 and 21: Java Security</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=391</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=391#comments</comments>
		<pubDate>Thu, 04 Nov 2010 21:31:41 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Classes]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=391</guid>
		<description><![CDATA[Here are the slides from this week: Class 20: Verifying Bytecodes [PPTX] [PDF] Class 21: Hair-Dryer Attacks [PPTX] [PDF] This is the paper I talked about in class today: Sudhakar Govindavajhala and Andrew W. Appel, Using Memory Errors to Attack &#8230; <a href="http://www.cs.virginia.edu/cs2220/?p=391">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here are the slides from this week:</p>
<ul>
<li> Class 20: Verifying Bytecodes [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class20.pptx">PPTX</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class20.pdf">PDF</a>]
<li> Class 21: Hair-Dryer Attacks [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class21.pptx">PPTX</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class21.pdf">PDF</a>]
</ul>
<p>This is the paper I talked about in class today:</p>
<blockquote><p>
Sudhakar Govindavajhala and Andrew W. Appel, <a href="http://www.cs.princeton.edu/~sudhakar/papers/memerr.pdf"><em>Using Memory Errors to Attack a Virtual Machine</em></a>, IEEE Symposium on Security and Privacy (Oakland), 2003. [<a href="href="http://www.cs.princeton.edu/~sudhakar/papers/memerr.pdf">PDF</a>"]
</p></blockquote>
<p>I think you should be able to understand almost everything in the paper from what we have done in class.  Sudhakar also has some discussion about questions about the paper on his website: <a href="http://www.cs.princeton.edu/~sudhakar/papers/memerr-slashdot-commentary.html"><em>http://www.cs.princeton.edu/~sudhakar/papers/memerr-slashdot-commentary.html</em></a>.  It has better answers to some of the physics questions than I was able to give in class.</p>
<p>
If you&#8217;re curious how much you should be worried about memory bit errors normally, you may be interested in this paper which analyzes the bit errors on Google&#8217;s servers over a 2.5 year period: <a href="http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf"><em>DRAM Errors in the Wild: A Large-Scale Field Study</em></a> by Bianca Schroeder, Eduardo Pinheiro, and Wolf-Dietrich Weber, SIGMETRICS 2009.  (Short answer: if you don&#8217;t have as many machines as Google, you shouldn&#8217;t lose too much sleep over this.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=391</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classes 18 and 19</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=379</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=379#comments</comments>
		<pubDate>Thu, 28 Oct 2010 20:59:11 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Classes]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=379</guid>
		<description><![CDATA[Here are the slides for classes 18 and 19: Class 18: Concurrency (wait and notify, Priority, Mars) [PDF] [PPTX] Class 19: Java Security (safe programming languages, Java byte codes, verification) [PDF] [PPTX]]]></description>
			<content:encoded><![CDATA[<p>Here are the slides for classes 18 and 19:</p>
<ul>
<li> Class 18: Concurrency (wait and notify, Priority, Mars) [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class18.pdf">PDF</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class18.pptx">PPTX</a>]
<li> Class 19: Java Security (safe programming languages, Java byte codes, verification) [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class19.pdf">PDF</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class19.pptx">PPTX</a>]
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=379</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classes 16 and 17</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=365</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=365#comments</comments>
		<pubDate>Fri, 22 Oct 2010 15:26:09 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Classes]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=365</guid>
		<description><![CDATA[Here are the slides for classes 16 (problem set 4 discussion) and 17 (concurrency and object-oriented programming): Class 16: [PDF] [PPTX] Class 17: [PDF] [PPTX] Since I didn&#8217;t have time to discussion slide 29 from Class 17 (&#8220;Problems in Simula &#8230; <a href="http://www.cs.virginia.edu/cs2220/?p=365">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here are the slides for classes 16 (problem set 4 discussion) and 17 (concurrency and object-oriented programming): </p>
<ul>
<li> Class 16: [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class16.pdf">PDF</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class16.pptx">PPTX</a>]
<li> Class 17: [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class17.pdf">PDF</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class17.pptx">PPTX</a>]
</ul>
<p>Since I didn&#8217;t have time to discussion slide 29 from Class 17 (&#8220;Problems in Simula that motivated CLU&#8221;) in class, you should expect to have a question on Exam 2 that is based on this slide.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=365</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Class 15: Threads and Concurrency</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=358</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=358#comments</comments>
		<pubDate>Fri, 15 Oct 2010 20:41:17 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Classes]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=358</guid>
		<description><![CDATA[Here are Robbie&#8217;s slides from Class 15: [PDF] [PPTX]; Counter code example: [PDF]]]></description>
			<content:encoded><![CDATA[<p>Here are Robbie&#8217;s slides from Class 15: [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class15.pdf">PDF</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class15.pptx">PPTX</a>]; Counter code example: [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/counter.pdf">PDF</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=358</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Class 14: Array Subtyping</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=331</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=331#comments</comments>
		<pubDate>Thu, 07 Oct 2010 21:20:36 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Classes]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=331</guid>
		<description><![CDATA[Class 14 slides: [PDF] [PPTX] Substitution principle example: [PDF]]]></description>
			<content:encoded><![CDATA[<p>Class 14 slides: [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class14.pdf">PDF</a>] [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/class14.pptx">PPTX</a>]</p>
<p>
Substitution principle example: [<a href="http://www.cs.virginia.edu/evans/cs2220-f10/classes/substitution-principle.pdf">PDF</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=331</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Class 13: Behavioral Subtyping</title>
		<link>http://www.cs.virginia.edu/cs2220/?p=328</link>
		<comments>http://www.cs.virginia.edu/cs2220/?p=328#comments</comments>
		<pubDate>Tue, 05 Oct 2010 23:17:46 +0000</pubDate>
		<dc:creator>David Evans</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Classes]]></category>

		<guid isPermaLink="false">http://www.cs.virginia.edu/cs2220/?p=328</guid>
		<description><![CDATA[Here are the slides from class 13: [PDF] [PPTX] I will also clarify the &#8220;Social Network&#8221; movie challenge question I mentioned at the beginning of class today. There are at least three scenes in the movie that have some technical &#8230; <a href="http://www.cs.virginia.edu/cs2220/?p=328">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here are the slides from class 13: [<a href="http://www.cs.virginia.edu/cs2220/classes/class13.pdf">PDF</a>] [<a href="http://www.cs.virginia.edu/cs2220/classes/class13.pptx">PPTX</a>]
</p>
<p>
I will also clarify the &#8220;Social Network&#8221; movie challenge question I mentioned at the beginning of class today.  There are at least three scenes in the movie that have some technical computing content:</p>
<ul>
<li> The scene where Mark describes the algorithms used to acquire the pictures for &#8220;Facemash&#8221; and the ELO-based ranking algorithm they use.
<li> The scene where Mark walks out of Matt Welsh&#8217;s Operating Systems course, answering a question on the way out.
<li> The scene where Mark &#8220;interviews&#8221; candidates for internships.
</ul>
<p>The second one of these suggests the most obvious challenge question: explain the question and answer Mark gives, and what assumptions not visible in the scene are necessary for Mark&#8217;s answer to be correct.  This definitely involves topics not covered in cs2220, so would require some outside learning about operating systems.  (For Matt Welsh&#8217;s take of Mark Zuckerberg&#8217;s performance in his course, see <a href="http://matt-welsh.blogspot.com/2009/02/how-i-almost-killed-facebook.html"><em>How I almost killed Facebook</em></a> from his blog.)</p>
<p>
The other two suggest less obvious challenge questions (especially the third one, and I don&#8217;t want to encourage <a href="http://www.zazzle.com/dont_drink_and_code_tshirt-235209139321577499">any programming under the influence!</a>), and Aaron Sorkin&#8217;s dialogue in the movie moves really quickly, so for these you would have to both define and answer your own interesting challenge question.
</p>
<p>
There are a lot of inaccuracies and distortions in the movie, but its also a lot of fun and very well done.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cs.virginia.edu/cs2220/?feed=rss2&amp;p=328</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>