<?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>Steven Hansen WebLog &#187; School Work</title>
	<atom:link href="http://stevenhansen.info/weblog/category/school-work/feed" rel="self" type="application/rss+xml" />
	<link>http://stevenhansen.info/weblog</link>
	<description>Where I save my random findings</description>
	<lastBuildDate>Mon, 23 Jan 2012 07:49:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Protected: Problem Assignment for Lesson 4</title>
		<link>http://stevenhansen.info/weblog/school-work/byu-physics-123/problem-assignment-for-lesson-4</link>
		<comments>http://stevenhansen.info/weblog/school-work/byu-physics-123/problem-assignment-for-lesson-4#comments</comments>
		<pubDate>Sun, 18 Jul 2010 21:58:11 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[BYU Physics 123]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/?p=358</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://stevenhansen.info/weblog/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-358">Password:<br />
<input name="post_password" id="pwbox-358" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/school-work/byu-physics-123/problem-assignment-for-lesson-4/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Protected: Problems for Assignment 3</title>
		<link>http://stevenhansen.info/weblog/school-work/byu-physics-123/problems-for-assignment-3</link>
		<comments>http://stevenhansen.info/weblog/school-work/byu-physics-123/problems-for-assignment-3#comments</comments>
		<pubDate>Mon, 31 May 2010 05:18:35 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[BYU Physics 123]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/?p=347</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://stevenhansen.info/weblog/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-347">Password:<br />
<input name="post_password" id="pwbox-347" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/school-work/byu-physics-123/problems-for-assignment-3/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Protected: Problem Assignment for Lesson 2</title>
		<link>http://stevenhansen.info/weblog/school-work/byu-physics-123/problem-assignment-for-lesson-2</link>
		<comments>http://stevenhansen.info/weblog/school-work/byu-physics-123/problem-assignment-for-lesson-2#comments</comments>
		<pubDate>Mon, 17 May 2010 03:03:56 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[BYU Physics 123]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/?p=341</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://stevenhansen.info/weblog/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-341">Password:<br />
<input name="post_password" id="pwbox-341" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/school-work/byu-physics-123/problem-assignment-for-lesson-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected: Problem Assignment for Lesson 1</title>
		<link>http://stevenhansen.info/weblog/school-work/byu-physics-123/problem-assignment-for-lesson-1</link>
		<comments>http://stevenhansen.info/weblog/school-work/byu-physics-123/problem-assignment-for-lesson-1#comments</comments>
		<pubDate>Mon, 29 Mar 2010 07:07:10 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[BYU Physics 123]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/?p=307</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://stevenhansen.info/weblog/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-307">Password:<br />
<input name="post_password" id="pwbox-307" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/school-work/byu-physics-123/problem-assignment-for-lesson-1/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MWC, added to the BCS conferences with automatic BCS bowl berths</title>
		<link>http://stevenhansen.info/weblog/school-work/mwc-added-to-the-bcs-conferences-with-automatic-bcs-bowl-berths</link>
		<comments>http://stevenhansen.info/weblog/school-work/mwc-added-to-the-bcs-conferences-with-automatic-bcs-bowl-berths#comments</comments>
		<pubDate>Sat, 17 Oct 2009 17:55:30 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[School Work]]></category>
		<category><![CDATA[BYU]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/?p=254</guid>
		<description><![CDATA[If the MWC can keep 3 teams in the top 25 through the end of the season, the BCS should seriously consider improving its recognition of this conference]]></description>
			<content:encoded><![CDATA[<p>If the MWC can keep 3 teams in the top 25 through the end of the season, the BCS should seriously consider improving its recognition of this conference</p>
<p><!-- Start StatSheet.com Chartlet code --></p>
<div style="margin:0px auto;text-align:center">
<p><a href="http://statsheet.com/" target="_blank"  title="Home of College Basketball fanatics..." style="text-decoration:none;color:#666;font-family:sans-serif;font-size:11px" rel="nofollow"></a></p>
<p></p>
<p><script language="JavaScript1.2" type="text/javascript" 
  src="http://statsheet.com/charts/rankings/bcs/2008-12-07/conf-top-25.js">
</script></p>
</div>
<p><!-- End StatSheet.com Chartlet code --> </p>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/school-work/mwc-added-to-the-bcs-conferences-with-automatic-bcs-bowl-berths/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Invaluable time saver at the beginning of the semester at BYU</title>
		<link>http://stevenhansen.info/weblog/school-work/invaluable-time-saver-at-the-beginning-of-the-semester-at-byu</link>
		<comments>http://stevenhansen.info/weblog/school-work/invaluable-time-saver-at-the-beginning-of-the-semester-at-byu#comments</comments>
		<pubDate>Tue, 01 Sep 2009 21:52:47 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[School Work]]></category>
		<category><![CDATA[BYU]]></category>
		<category><![CDATA[floor plans]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/school-work/invaluable-time-saver-at-the-beginning-of-the-semester-at-byu</guid>
		<description><![CDATA[Here is a link to the floor plans of all buildings on BYU campus. I guess U am just lazy for finding my classroom before I go to class. But it could keep you from walking miles of of un-needed hallways. byu floor plan link]]></description>
			<content:encoded><![CDATA[<p>Here is a link to the floor plans of all buildings on BYU campus. I guess U am just lazy for finding my classroom before I go to class. But it could keep you from walking miles of of un-needed hallways. <a href="http://plantwo.byu.edu/plans/fpindex.htm">byu floor plan link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/school-work/invaluable-time-saver-at-the-beginning-of-the-semester-at-byu/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>cs240 Chess Project BYU</title>
		<link>http://stevenhansen.info/weblog/programming-hints/cs240-chess-project-byu</link>
		<comments>http://stevenhansen.info/weblog/programming-hints/cs240-chess-project-byu#comments</comments>
		<pubDate>Tue, 14 Apr 2009 20:48:46 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Programming Hints]]></category>
		<category><![CDATA[School Work]]></category>
		<category><![CDATA[BYU]]></category>
		<category><![CDATA[chess]]></category>
		<category><![CDATA[cs240]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/?p=138</guid>
		<description><![CDATA[So today I passed off my chess project in my Computer Science CS 240 class.  I think I finished in a fairly good amount of time.  Only stayed up late one night working on it.  My code isn&#8217;t super effective in all aspects, although I did manage to do a few things that helped me [...]]]></description>
			<content:encoded><![CDATA[<p>So today I passed off my chess project in my Computer Science <strong>CS 240</strong> class.  I think I finished in a fairly good amount of time.  Only stayed up late one night working on it.  My <a href="https://spatical.box.net/shared/static/9v9tk35li2.tgz">code</a> isn&#8217;t super effective in all aspects, although I did manage to do a few things that helped me simplify things.</p>
<ul>
<li>I used an external XML parser called <a href="http://www.firstobject.com/dn_markup.htm">CMarkup</a>, it is free for non-commercial use and it handles all of the silly cases the TA&#8217;s give us just fine (just remember to xml.ResetMainPos(); after parsing the board so it can still parse the history even if it came before the board in the xml file.</li>
<li>I only wrote two GetCandidateMoves functions.  One for my Piece class and one for the Pawn class.  I just defined directions for each piece, and the main piece move method just got squares in each direction until piece was found or it went off the board.  The pawn class was special just because it had special cases for the first move and capturing moves</li>
<li>I wrote a couple of methods in my main Game class that checked for Check and Checkmate (which also shared some child methods).  Stalemate was simply when it is Checkmate but not Check (with the way I wrote those methods).</li>
<li>I had memory issues until I took all pointers out of the MoveHistory.  I ended up just saving the piece type and color in the move history instead of a pointer to the piece.  I had issues leaking memory since sometimes I was putting pointers from the pieces saved in the Board class in the MoveHistory then other times I was putting pointers from the Board class in the MoveHistory.  So, so pointers in the move history.  And I made the board basically be the holder for all of the active piece pointers.  When a piece was captured or created, that is when I called delete or new. ( And the board destructor would clean-up any pieces left on the board when exiting or deleting the board before loading a new file).</li>
</ul>
<p>Another project done for Steven Hansen, and now I am done with a CS minor and a EE major.</p>
<ul></ul>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/programming-hints/cs240-chess-project-byu/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Some more school work by Steven Hansen</title>
		<link>http://stevenhansen.info/weblog/school-work/some-more-school-work-by-steven-hansen</link>
		<comments>http://stevenhansen.info/weblog/school-work/some-more-school-work-by-steven-hansen#comments</comments>
		<pubDate>Wed, 08 Apr 2009 06:09:55 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[School Work]]></category>
		<category><![CDATA[cs240]]></category>
		<category><![CDATA[steven hansen]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/?p=126</guid>
		<description><![CDATA[We are doing a chess program so I had to make another super long design document. Chess Design Document And here is an html link to one small part of our EcEN 490 senior project final report. All pretty boring documents that I posted here just to save them online somewhere.]]></description>
			<content:encoded><![CDATA[<p>We are doing a chess program so I had to make another super long design document. <a href="/cs240/Chess-Design.htm">Chess Design Document</a>  And here is an html <a href="/cs240/Chronological-Review.htm">link</a> to one small part of our EcEN 490 senior project final report. All pretty boring documents that I posted here just to save them online somewhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/school-work/some-more-school-work-by-steven-hansen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Control design for our robot racer (my part)</title>
		<link>http://stevenhansen.info/weblog/school-work/control-design-for-our-robot-racer-my-part</link>
		<comments>http://stevenhansen.info/weblog/school-work/control-design-for-our-robot-racer-my-part#comments</comments>
		<pubDate>Wed, 08 Apr 2009 06:00:49 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[School Work]]></category>
		<category><![CDATA[BYU]]></category>
		<category><![CDATA[Electrical Engineering]]></category>
		<category><![CDATA[steven hansen]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/?p=122</guid>
		<description><![CDATA[Written by Steven Hansen about our ECEN 490 Senior Project BYU Robot Racer 2009 A fundamental piece of the project was actually controlling the steering angle and driving speed of the robot in order to successfully navigate the complicated pylon courses. After deciding early in the semester that we would drive directly towards the pylon [...]]]></description>
			<content:encoded><![CDATA[<p>Written by <strong>Steven Hansen</strong> about our ECEN 490 Senior Project BYU Robot Racer 2009</p>
<p>A fundamental piece of the project was actually controlling the steering angle and driving speed of the robot in order to successfully navigate the complicated pylon courses.  After deciding early in the semester that we would drive directly towards the pylon we simply had to build an algorithm that could use the vision data to perform that principle action.  First we created a few principle parameters that would be used throughout the control code.  This including the parameters for driving straight speed, turning speed, number of encoder ticks to count per radian, and the distance before pylon to start turning. We were able to first successfully run the control code through the given simulator.  Which allowed us to do some initial adjustments to our design and test our idea of driving directly towards the pylon.</p>
<p>We implemented this design with a simple state machine. During iterations through the main loop it would call the control state machine after analyzing a new frame of data from the camera.  The state machine consisted of 6-7 states that the truck could be in at any given moment.  The states included:<br />
1.	Pylon searching. During this state it was assumed that the pylon was in the given view.  However it would only move out of this state when the vision software successfully recognized a pylon.  If no pylon was currently recognized our final design simply had the truck continue straight at a slower speed while giving the vision algorithm more passes to analyze the data.<br />
2.	Pylon following. During this state the truck would make simple steering adjustments in order to maintain the pylon x-coordinate plus the width of a pylon in the center of the truck.  Bigger distances from the center of the screen would mean larger adjustments of the steering angle during this state.  The truck would continue in this state until the distance from the pylon was calculated to be less the threshold set in the global parameters as the distance before the pylon to turn.<br />
3.	Setting up the turn.  There were two hard coded states that depended only on the parameters set for the truck.  These two steps including turning slightly away from the pylon in the opposite direction then needed to be turned around the pylon and then driving straight a set distance in order to line up with the pylon nearly perpendicular from the line at which it was driving towards the pylon.  If the vision consistently gave accurate values for the distance of the pylon these state worked perfectly every time.  We assumed during this state that we would lose site of the pylon and we therefore did not use any of the vision calculations while in these states.<br />
4.	Dead-Reckoning turn around the pylon. Upon entering this state we simply saved the current Encoder value plus the number of ticks we needed to travel to complete the turn.  This extra number of ticks was calculated by the angle given in the course description.  When we approached a pylon of the same color as the previous pylon we added an extra 10 degrees to every turn due to the manner that we were entering the turns from an angle slightly less the perpendicular to the line straight from the previous pylon. When the truck approached a pylon of a different color then the previous pylon we added an extra 45 degrees to the turn in order to compensate for the fact that in this case the truck was crossing over the straight line between the two pylons and actually entered the turn much further back in the turn.  The number of ticks per radian was set by a global parameter that we also could change through our gui.  This variable of the ticks per radian needed to be adjusted when we tested new faster speeds navigating the course.  When the calculated number of ticks had been completed the truck then moved back into the pylon searching state.</p>
<p><a href="https://spatical.box.net/shared/rj97mz0te5">Full Chronological Review and other files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/school-work/control-design-for-our-robot-racer-my-part/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CS240 webcrawler project</title>
		<link>http://stevenhansen.info/weblog/programming-hints/cs240-webcrawler-project</link>
		<comments>http://stevenhansen.info/weblog/programming-hints/cs240-webcrawler-project#comments</comments>
		<pubDate>Wed, 18 Mar 2009 00:46:15 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Programming Hints]]></category>
		<category><![CDATA[School Work]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[cs240]]></category>
		<category><![CDATA[webcrawler]]></category>

		<guid isPermaLink="false">http://stevenhansen.info/weblog/?p=102</guid>
		<description><![CDATA[For a large project in my Computer Science class at BYU (cs240), I needed to implement a simple webcrawler, that would create a database of words, each page that contains each word, and a database of all of the pages that were crawled (whether they had parsed words on them or not). It was a [...]]]></description>
			<content:encoded><![CDATA[<p>For a large project in my Computer Science class at <strong>BYU</strong> (cs240), I needed to implement a simple <a href="https://spatical.box.net/shared/static/2vbfjvkmmo.tar">webcrawler</a>, that would create a database of words, each page that contains each word, and a database of all of the pages that were crawled (whether they had parsed words on them or not).  It was a pretty large project, with the added complexity that many of the standard library tools like <vector> or other c++ standard library datatypes where not allowed.  We had to implement our own BST and linkedlist.  Any way it is now done.  And you can get a <a href="https://spatical.box.net/shared/static/n24n77ky34.xml">full .xml document</a> that it includes an index of all of the words on my blog (before this post).  Ok, the xml document isn&#8217;t really that interesting.  It&#8217;s just the only output to show for my hours of work for this school project.</p>
]]></content:encoded>
			<wfw:commentRss>http://stevenhansen.info/weblog/programming-hints/cs240-webcrawler-project/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

