<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>3081 Blogging Assignments</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/zinsm001/3081/" />
    <link rel="self" type="application/atom+xml" href="http://blog.lib.umn.edu/zinsm001/3081/atom.xml" />
    <id>tag:blog.lib.umn.edu,2011-09-27:/zinsm001/3081//14559</id>
    <updated>2011-11-08T08:21:36Z</updated>
    <subtitle>A collection of my required blogging assignments for Computer Science 3081W - Program Design and Development.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Enterprise 4.31-en</generator>

<entry>
    <title>Testing</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/zinsm001/3081/2011/11/blog-4.html" />
    <id>tag:blog.lib.umn.edu,2011:/zinsm001/3081//14559.321012</id>

    <published>2011-11-08T05:54:05Z</published>
    <updated>2011-11-08T08:21:36Z</updated>

    <summary> Normal 0 false false false EN-US X-NONE X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:&quot;Table Normal&quot;; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:&quot;&quot;; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:&quot;Times New Roman&quot;;...</summary>
    <author>
        <name>Zach Zinsmaster</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/zinsm001/3081/">
        <![CDATA[<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:AllowPNG/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-US</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:EnableOpenTypeKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="&#45;-"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267">
  <w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/>
  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
  <w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
  <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
 </w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin-top:0in;
	mso-para-margin-right:0in;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->

<p class="MsoNormal" style="line-height:200%"><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Testing
is a very important and necessary part of software development. Even though
many people consider it to be an essential part of the process of development,
testing is often overlooked. This is mainly due to the fact that testing is
generally considered boring and tedious. However, there are many tools to help
reduce the pain that is normally included with testing. Some tools help test
individual units (or parts) of a project, cxxTest is one such tool. There are
also debuggers, such as gdb that may aid in the process of fixing the errors
found while testing.</p>

<p class="MsoNormal" style="line-height:200%"><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Unit
testing, as it is called, is one popular way to test software. Unit testing infers
that each "unit" or part of the source code is tested individually. Normally,
unit testing is an easy form of testing when the object oriented programing
discipline is in use. When many "objects" exist, it is easy to test these parts
individually. Another form of testing (referred to as regression testing),
tests older parts of a program after a new part has been introduced. When new
features of a program are introduced, they sometimes conflict with previous
functions. Regression testing tests to ensure new parts of a program comply
with the other, older parts of a program.</p>

<p class="MsoNormal" style="line-height:200%"><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>CxxTest
is a unit testing framework that attempts to reduce the amount of tedious work
needed to properly test a program. It does this through the use of automation.
CxxTest uses an automation script to generate an intricate set of tests from
the simple header file written by the tester. The automation script makes the
time required to write tests much smaller, this is due to the fact that the
automation script deals with the complex requirements to write an effective
test. The user is able to write the tests in a rather simple format. </p>

<p class="MsoNormal" style="line-height:200%"><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>There
is a slight learning curve for the proper use of cxxTest. However, once you are
able to utilize it properly, the time required for testing will be greatly
decreased. One thing that I would have liked to know, is the fact that cxxTest
doesn't rely upon shared libraries.<span style="mso-spacerun:yes">&nbsp; </span>This
means the files required for testing are highly portable, and can be moved
around from directory to directory with no problems. One just has to make sure
the file path of the automation script in the makefile is correct.</p>

<p class="MsoNormal" style="line-height:200%"><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Testing,
an often overlooked part of the development process, is a very important
process. Many people delay testing their project until they can no longer avoid
it; by this time, it is often too late to easily fix an error. Testing should
be involved at every step of the development processes, enough to the point
that it becomes second nature. </p>

]]>
        <![CDATA[<br />]]>
    </content>
</entry>

<entry>
    <title>Subversion and Source Control</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/zinsm001/3081/2011/11/subversion-and-source-control.html" />
    <id>tag:blog.lib.umn.edu,2011:/zinsm001/3081//14559.318838</id>

    <published>2011-11-01T17:00:00Z</published>
    <updated>2011-11-01T07:46:16Z</updated>

    <summary><![CDATA[What is Subversion and Source Control? &nbsp; &nbsp; Source control refers to the management of the changes made to program files and other aspects of software development. Source control also allows a team of people to develop software more efficiently....]]></summary>
    <author>
        <name>Zach Zinsmaster</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/zinsm001/3081/">
        <![CDATA[<p><u><strong><big>What is Subversion and Source Control?</big></strong></u></p>

<p>&nbsp; &nbsp; Source control refers to the management of the changes made to program files and other aspects of software development. Source control also allows a team of people to develop software more efficiently. It allows the team members to work on different aspects of a project at the same time with minimal interference. Source control also normally includes references to revisions of the source code, keeping track of the differences between the versions. It also deals with source tags (normally, tags refer to major milestones in the project), and branches (different versions) of the source code. <br />
	Subversion, abbreviated SVN, is a source control program that automates the process of controlling revisions of source code and other such documents. Subversion is freely available from the developing company, Apache. Subversion stores projects in a password-protected repository on-line, allowing access from multiple computers. The repository used for this class is stored on the University's servers; however, some companies (ex. Google) host servers available to the public. </p>

<p><u><strong><big>Why Source Control?</big></strong></u></p>

<p>&nbsp; &nbsp; Source control allows the development of large scale projects to proceed in a much more efficient manner. Multiple people can be working on a project simultaneously with little or no interference from fellow team members. It also allows for a project-wide undo button. One can revert back to an earlier version if needed. As mentioned before, tags and branches of source code can be made as well. Branches can be useful for different builds of the same program (ex. 32 and 64 bit versions). Tags are equally useful when it comes to keeping track of major milestones of a project (ex. V1.0 or v1.1). </p>

<p><u><strong><big>Tips Regarding Source Control and Subversion:</big></strong></u></p>

<p>&nbsp; &nbsp; Since the beginning of the semester, the learning curve I've been following is somewhat slow. One of the most major things I wish I didn't learn the hard way pertains to the copying and moving of file directories. Subversion creates a hidden ".svn/" folder in every directory that is in the repository. So, simply copying and pasting folders from place to place can cause some serious pain down the road. The major problem I experienced occurred when I attempted to revert back to our first iteration. I naively deleted the source directory and replaced it with the first iteration. When it came time to commit the changes for the next lab, I committed the changes and they appeared in our tag directory (instead of the original source directory). <br />&nbsp; &nbsp; Before I realized copying folders was a bad idea, I ran across the problem stating that the folder I was trying to commit changes to wasn't in source control yet (even though it appeared in the repository). I found that the most fool-proof way around this was to checkout a new copy of the project, and submitting the changes from that copy. I believe the problem referred to the fact that the repository had a folder named the same as mine but Subversion didn't recognize it as the same folder. So, replacing the files one-by-one in a freshly checked out copy seems to work the best. I'm sure there is a better way to fix that problem, I would love to know how to since I've run into the problem a few times now. However, I only seem to run into the problem when I'm running close to a deadline, so I haven't had time to figure it out by myself. </p>

<p></p>

<p><br /></p><p>&nbsp; &nbsp; My overall experiences with source control and Subversion have been somewhat successful. It was a slow learning curve at first, and it lead to a few hiccups here and there. But, once I was able to get the knack of things, I became rather efficient with Subversion. It's now hard to imagine making a project like this without source control. I have a feeling source control will be a tool I utilize through the rest of my career. </p>]]>
        
    </content>
</entry>

<entry>
    <title>Challenges and Benifits of Working in Groups</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/zinsm001/3081/2011/10/blog-2.html" />
    <id>tag:blog.lib.umn.edu,2011:/zinsm001/3081//14559.315074</id>

    <published>2011-10-14T01:11:35Z</published>
    <updated>2011-10-14T04:03:26Z</updated>

    <summary><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Working in a group has worked very well for me this year. Being able to split up some of the work has made my life much easier. I have had a few problems as well, figuring out the logistics...]]></summary>
    <author>
        <name>Zach Zinsmaster</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/zinsm001/3081/">
        <![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     Working in a group has worked very well for me this year. Being able to split up some of the work has made my life much easier. I have had a few problems as well, figuring out the logistics of actually working on the project has been somewhat complicated. Even though we have the ability to work separately (using subversion), we have found ourselves working together on a single computer (which is rather inefficient). So, as I have learned, working in groups has both its upsides and downsides. </p>

<p><u><strong> Benefits: </strong></u><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     Being able to split up some of the work in the development process has made life much easier. As with most projects, there's at least some amount of tedious work. In the case of Iteration 1 for our project, formatting all the regular expressions was slow but mostly easy work. Being able to evenly split that work up made the development process go by much faster. </p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     As for dealing with the complex parts of the development, being able to brainstorm with my project partner is nearly invaluable. My partner thinks somewhat differently than I do, so being able to bombard each other with ideas normally leads to some good results. In the case of Iteration 1, we had a hard time making a regular expression to recognize line comments. Being able to bounce different ideas off of each other, made the trial and error process go much faster. </p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     Having a group of people also allows for a wider range of resources. My partner has taken different Computer Science courses than I have, so he was able to reference different past projects than mine to find ideas for our current project. We were also able to network with more people, to discuss and ask general questions about the project with a wider range of people. </p>

<p><u><strong>Challenges: </strong></u><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      Along with all the benefits, there is also the inevitability of encountering challenges. I haven't had many problems this semester with group work. Other semesters, I haven't been quite as lucky. In the first Computer Science course I took, my lab partner wasn't much help. He would tell me every time I asked him to do something that he couldn't figure it out. Turns out, he wasn't even trying. He didn't even know how to run the programs we were writing. I ended up doing most, if not all, the work. However, since we were working as a group, he ended up getting the same grade as I did. So, accountability in a group isn't the easiest to ensure.  </p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     Also, in some cases, a group partner of mine would get most (if not all) of a project done before I had the time to look at it. Since I wasn't able to help in the development process, I didn't understand the program as much as I had hoped. This would then feel as if I didn't know enough to continue on to the next project. </p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    So, to compensate for the challenges, I normally try to make sure my partner(s) are holding up their end. Using Subversion has helped me with that a lot. Checking the log and being able to see the differences between the versions makes it very easy to account for the work being done. I also try to be all around more proactive on the projects, so I don't get left behind. </p>

<p><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     In most cases, I enjoy working in groups. Being able to work in groups is a requirement for many computer science related careers.  Knowing that I'll be able to enjoy working it in a career as much as I do here makes me very sure I chose the right career path for me.  </p>]]>
        
    </content>
</entry>

<entry>
    <title>Blog Assignment 1 - What I know, and I what don&apos;t. </title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/zinsm001/3081/2011/09/blog1.html" />
    <id>tag:blog.lib.umn.edu,2011:/zinsm001/3081//14559.310333</id>

    <published>2011-09-27T04:27:31Z</published>
    <updated>2011-10-01T21:41:27Z</updated>

    <summary> This class has been quite interesting to me so far. I feel that, by the time this class has ended, I will be much more proficient in software design. Reading through the expected course outcomes, I find a lot...</summary>
    <author>
        <name>Zach Zinsmaster</name>
        
    </author>
    
        <category term="Blog Assignments " scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="3081" label="3081" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="3081w" label="3081W" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="computerscience" label="computer science" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="csci" label="csci" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/zinsm001/3081/">
        <![CDATA[<p>     This class has been quite interesting to me so far. I feel that, by the time this class has ended, I will be much more proficient in software design. Reading through the expected course outcomes, I find a lot of topics that I don't know the first thing about. There are also a few topics I feel I grasp quite well.</p>

<p>     The few things I do grasp quite well include "writing loops, and code in general, that are easy to understand". I learned to write clear and precise code the hard way a few times in CSci 1901. I wrote some really ugly looking stuff in that class. Looking back on some of the different assignments now, I can't even tell what I was trying to do. My grade suffered a few times due to that. So, for the most part, I am now very careful to write code that is readable and easy to understand. </p>

<p>     Hand in hand with writing clear code, I think "writing effective comments" is an essential part of making readable code. Sometimes, no matter how well you design, things just get hard to understand when working with complex data structures or really in-depth algorithms. That's when effective commenting can come into play. I used to have a problem with over-commenting my code. I specifically remember typing "Increment 'i' by one" in one of my 1901 assignments. I don't think my grade ever suffered from that; but, I now understand that the target audience of my comments should know what i++ means.</p>

<p>     While reading through the expected course outcomes list, I realized that there is a lot I have to learn. One of the topics I'm most excited to learn about is "integrated development environments". I have messed around with a few different IDE's, but have never really used one for actual work. I started off this semester thinking I could teach myself how to use "Eclipse" to write the C/C++ for this course (and others). I have since come under the impression that Eclipse is more for Java development than C/C++. If anyone decides to comment on this blog (and knows a thing or two about IDE's), I would greatly appreciate a push in the right direction. </p>

<p>     I am also excited to learn about "designing a useful class hierarchy" and "modular software design". I feel that the other computer science classes I have taken have touched on this topic slightly, but never covered it with great depth. Its obvious that most programs aren't designed in one big file. So, it would be useful to know how and why real-world applications get the structure they have. </p>

<p>     Other things in the list of topics, such as UML and context free grammars, I don't know the first thing about. I hadn't even heard of UML or context free grammar before attending this class. I am somewhat excited to learn about these topics, I'm also a bit worried. Having the book "UML Distilled" leads me to expect we'll cover the topic thoroughly, and I don't know the first thing about it. </p>

<p>     All in all, I'm very excited to work my way through this class. Learning about all these topics in one semester won't be an easy ordeal. By the time this class is done, I expect that my opinions and skills pertaining to program design and development will be greatly changed. I believe that having the core skills taught in this class will be an invaluable tool for my future classes and careers. </p>]]>
        <![CDATA[<p><br />
</p>]]>
    </content>
</entry>

</feed>
