<?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>refract.me &#187; Class</title>
	<atom:link href="http://refract.me/category/csu/class/feed/" rel="self" type="application/rss+xml" />
	<link>http://refract.me</link>
	<description>reimagining computing and society</description>
	<lastBuildDate>Fri, 25 Jun 2010 05:27:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>JUnit</title>
		<link>http://refract.me/2010/02/03/junit/</link>
		<comments>http://refract.me/2010/02/03/junit/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 04:13:47 +0000</pubDate>
		<dc:creator>Alison</dc:creator>
				<category><![CDATA[CS]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[JUnit]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://refract.me/?p=365</guid>
		<description><![CDATA[JUnit is a unit testing framework developed for Java programs. It&#8217;s not my favorite thing in the world. For starters, it only tests public methods. Which is a bit of a problem if from a development standpoint; many internal &#8220;heavy lifting&#8221; methods are not needed by outside classes and should be private. In addition, I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.junit.org/">JUnit</a> is a unit testing framework developed for Java programs. It&#8217;s not my favorite thing in the world. For starters, it only tests public methods. Which is a bit of a problem if from a development standpoint; many internal &#8220;heavy lifting&#8221; methods are not needed by outside classes and should be private. In addition, I cannot use <a href="http://eclipse.org/">Eclipse</a>, my <acronym title="integrated development environment">IDE</acronym>, to debug as I do with other code.</p>
<p>For my software engineering course, I am creating a very simple Roman to Arabic numeral converter. (If anyone knows what the unicode character for Roman numeral 5000, a V with a line over it, I would appreciate it for accuracy.) It isn&#8217;t the converter program that is important. The purpose is to demonstrate <a href="http://en.wikipedia.org/wiki/Black_box_testing">black box</a> testing methodologies: testing without knowledge of the internals of a program.</p>
<p>I developed a test plan and wrote the test cases in JUnit, as instructed, before proceeding on to writing the actual converter. I then ran my tests. A couple failed and a hand full had an error. I rewrote the code; the class is small enough to justify it, rather than worry about where my sometimes failing  bug was.</p>
<p>Yet, I still had the same problems. So, I copied the short bits of code into a main() function to use the debugger. The debugger revealed no faults: my system produced the correct output. JUnit had produced a false negative. I didn&#8217;t know it could even do that. It did not occur across similar tests with identical assert statements, so I&#8217;m not sure what it could be.</p>
]]></content:encoded>
			<wfw:commentRss>http://refract.me/2010/02/03/junit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring Work</title>
		<link>http://refract.me/2010/01/26/spring-work/</link>
		<comments>http://refract.me/2010/01/26/spring-work/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 20:13:19 +0000</pubDate>
		<dc:creator>Alison</dc:creator>
				<category><![CDATA[Class]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[Research]]></category>

		<guid isPermaLink="false">http://refract.me/?p=331</guid>
		<description><![CDATA[So, this semester I&#8217;m going to have quite a workload. All my courses have a high reading amount. Two require homework and/or a programming assignment each week. In addition, I will be grading the first programming course, tutoring a foreign visually impaired student, and doing side research for the Director of Mentoring &#38; Retention. I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>So, this semester I&#8217;m going to have quite a workload. All my <a href="http://refract.me/2010/01/21/compilers-networks-and-software-engineering/">courses</a> have a high reading amount. Two require homework and/or a programming assignment each week.</p>
<p>In addition, I will be grading the first programming course, tutoring a foreign visually impaired student, and doing side research for the Director of Mentoring &amp; Retention. I&#8217;m not even sure my workstudy is for this semester, but I&#8217;m guessing the Director wants to spend every dime (thereby making sure I get the full employment pay).</p>
<p>In most semesters, I have done side projects which dabble into my interest. Yet, I&#8217;m not sure I will have the time this time. So, I have decided that I will continue watching how this semester goes and then decide whether I have the time.</p>
<p>If it does work out, I think I would like to do some cell phone programming (probably <a href="http://www.android.com/">Android</a>, but maybe the <a href="http://developer.apple.com/iphone/">iPhone</a>&#8216;s Objective C). I don&#8217;t know what I would want to program though. I would like to involve hardware, like the <acronym title="global positioning satellite">GPS</acronym> or accelerometer. I think the best tools are tangible or ubiquitous.</p>
]]></content:encoded>
			<wfw:commentRss>http://refract.me/2010/01/26/spring-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compilers, Networks, and Software Engineering</title>
		<link>http://refract.me/2010/01/21/compilers-networks-and-software-engineering/</link>
		<comments>http://refract.me/2010/01/21/compilers-networks-and-software-engineering/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 17:25:13 +0000</pubDate>
		<dc:creator>Alison</dc:creator>
				<category><![CDATA[Class]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">http://refract.me/?p=322</guid>
		<description><![CDATA[I have taken two embedded systems courses, and am now in compilers and networking. Despite having my passion in human-computer interactions (HCI), I have taken predominately systems courses for my capstone work (the exception being A.I.). I suppose that&#8217;s because I also like ubiquitous computing, the movement towards embedding technology into the world until it becomes invisible. Compilers [...]]]></description>
			<content:encoded><![CDATA[<p>I have taken two embedded systems courses, and am now in compilers and networking. Despite having my passion in human-computer interactions (HCI), I have taken predominately systems courses for my capstone work (the exception being <acronym title="artificial intelligence">A.I.</acronym>). I suppose that&#8217;s because I also like ubiquitous computing, the movement towards embedding technology into the world until it becomes invisible.</p>
<p>Compilers seems useful, but we&#8217;re still reviewing <a href="http://en.wikipedia.org/wiki/Context_free_grammar">context-free grammars</a>, <a href="http://en.wikipedia.org/wiki/Concrete_syntax_tree">parse trees</a>, etc. from the computing basics. We will be making a compiler for <a href="http://www.cambridge.org/us/features/052182060X/">MiniJava</a>. This basically takes a subset of the Java language and produces <a href="http://en.wikipedia.org/wiki/MIPS_architecture">MIPS</a>, an <a href="http://en.wikipedia.org/wiki/Assembly_language">assembly language</a>.</p>
<p>Compilers are very involved productions. One needs to know what kind of hardware it is compiled on, what the specification is for the language, etc. I&#8217;m not taking it to spit out compilers (there&#8217;s compiler compilers for that). It&#8217;s better for enforcing appropriate testing and debugging. (I admit to doing a ludicrous all/several test cases after writing my programs. The appropriate method is to do unit/module testing throughout creation.)</p>
<p>Networking focuses on how the Internet works: how data gets from one machine to another and protocols for different types of data. I&#8217;m taking it more for interest in mobile devices. I don&#8217;t know if I&#8217;ll get a full answer to these, but it is best to know why I&#8217;m doing something:</p>
<ul>
<li>How do cellphones, laptops, etc. protect data when it is on a wireless network? (Someone else can grab the bits I send from out of the air.)</li>
<li>What types of machines make up the Internet? What is the ratio between embedded systems and standard computers?</li>
<li>With the imminent death of the Internet, what comes next? (We&#8217;re running out of <a href="http://en.wikipedia.org/wiki/Ipv4">IPv4</a> addresses, and <a href="http://en.wikipedia.org/wiki/IPv6">IPv6</a> adoption has been quite unsuccessful. The only viable solution if this trend continues is the creation of &#8220;<a title="Wikipedia page on net neutrality" href="http://en.wikipedia.org/wiki/Net_neutrality">gated communities</a>.&#8221;)</li>
</ul>
<p>And then there is software engineering. Many students, including myself, put off this course until their last semester. This is because of reports of how not useful the course is and that it is taught backwards from the actual process (testing is done first, while design and specification is taught last).</p>
<p>My first assignment is read either a 30 or 50 page paper on software disasters  and report on it in 2-3 single spaced paper. More distressing is that the course is packed with students; this is not helping my anxiety.</p>
<p>All three courses involve group work. So, that&#8217;s a definite shift from my previous coursework and I don&#8217;t know what to expect.</p>
<p>… As an aside, for anyone that does a Powerpoint presentation, please don&#8217;t use a white background. It visibly color shifts and flashes on a projector. (It&#8217;s bad enough for my migraines to be around florescent lights; I don&#8217;t need the screen I&#8217;m reading to blink, too.)</p>
]]></content:encoded>
			<wfw:commentRss>http://refract.me/2010/01/21/compilers-networks-and-software-engineering/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Presentation</title>
		<link>http://refract.me/2009/12/03/presentation/</link>
		<comments>http://refract.me/2009/12/03/presentation/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 18:38:14 +0000</pubDate>
		<dc:creator>Alison</dc:creator>
				<category><![CDATA[Class]]></category>
		<category><![CDATA[anxiety]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[pissed]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://refract.me/?p=298</guid>
		<description><![CDATA[Today, I&#8217;m to present my embedded system project. Because of energy drain on the battery, I was unable to integrate a camera into it for gesture detection. (This also means I have until Tuesday to do an entire A.I. project from scratch and write another presentation. I don&#8217;t do well with presentations. And for those [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I&#8217;m to present my embedded system project. Because of energy drain on the battery, I was unable to integrate a camera into it for gesture detection. (This also means I have until Tuesday to do an entire <acronym title="artificial intelligence">A.I.</acronym> project from scratch and write another presentation.</p>
<p>I don&#8217;t do well with presentations. And for those that are curious, I have never been allowed an alternative means of earning my grade.</p>
<blockquote><p>&#8220;Tough it out.&#8221;</p>
<p>&#8220;You&#8217;ll get better with practice.&#8221;</p>
<p>&#8220;It&#8217;s only [N] minutes! It&#8217;ll be over fast.&#8221;</p>
<p>&#8220;You&#8217;re smart. Why can&#8217;t you do this?&#8221;</p></blockquote>
<p>I spend the time before presentations thinking about all the things that I could do wrong. I will sometimes get sentences backwards: &#8220;The ball threw the boy&#8221; and the like.</p>
<p>Being the center of attention feels like being  on trial to me. It doesn&#8217;t matter all the correct, informative, and useful things I may say. One error proves that I&#8217;m not as good as I had seem. That I&#8217;m <em>faking</em> my knowledge. I&#8217;m more judge-mental of myself than others. I know this, but I don&#8217;t feel that it&#8217;s really true.</p>
<p>… I don&#8217;t like powerpoint slides. Yet, it&#8217;s expected that I use them anymore. I&#8217;m calmer and speak more clearly when ad-libbing. The absence of slides has become indicative of being unprepared to many people, so I&#8217;m forced to use them.</p>
<p>The more I think about presenting, the more anxious I&#8217;m getting. And the anxiety will make me screw up. It&#8217;s a vicious cycle.</p>
<p>On more than one occasion, I have been in tears when presenting. These result in a lower grade for me, independent of doing more research than my peers. Being able to explain to others orally has become more important than the quality of the work. I must not know what I&#8217;m talking about if I have difficulty explaining it in a neurotypical fashion.</p>
<p>I associate textures, animals, and a few adjectives rather than pictures to most of the things I think about. If I&#8217;m asked to describe what a person looks like, I&#8217;m more likely to refer to an animal than recall what color their hair is.</p>
<p>If I don&#8217;t think the same, I fail to see why I am forced to explain in their terms rather than my own.</p>
<p>I&#8217;m getting angry on purpose again. It&#8217;s very easy to dismiss anxious feelings when one gets angry. Becoming angry is easy when one realizes one&#8217;s suffering isn&#8217;t fair or acknowledged.</p>
]]></content:encoded>
			<wfw:commentRss>http://refract.me/2009/12/03/presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Bars</title>
		<link>http://refract.me/2009/11/03/setting-bars/</link>
		<comments>http://refract.me/2009/11/03/setting-bars/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 03:00:34 +0000</pubDate>
		<dc:creator>Alison</dc:creator>
				<category><![CDATA[Class]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Teaching assistant]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[prof]]></category>
		<category><![CDATA[students]]></category>
		<category><![CDATA[teaching styles]]></category>

		<guid isPermaLink="false">http://refract.me/?p=245</guid>
		<description><![CDATA[[What follows is pretty free form, so sorry if it's hard to follow.] Yesterday, I went to a talk on science education in the twenty-first century. The main points from the talk were: Traditional lecture-style teaching results in 10-20% retention of knowledge. Working memory can last for at most 7 distinct topics. Examples, analogies, and [...]]]></description>
			<content:encoded><![CDATA[<p>[What follows is pretty free form, so sorry if it's hard to follow.]</p>
<p>Yesterday, I went to a talk on science education in the twenty-first century. The main points from the talk were:</p>
<ul>
<li>Traditional lecture-style teaching results in 10-20% retention of knowledge.</li>
<li>Working memory can last for at most 7 distinct topics.</li>
<li>Examples, analogies, and images decrease the working memory load.</li>
<li>Explain things as cohesive units rather than as disjoint parts.</li>
<li>Even if the choice is insignificant, the ability to have a choice increases motivation.</li>
<li>Most students leave classrooms with less &#8220;expert-like&#8221; thinking than when they entered.</li>
</ul>
<p>… So, if it isn&#8217;t really clear, I research a lot on education in <acronym title="Science, Technology, Engineering, and Mathematics">STEM</acronym> areas. And, the longer I am in college, the more I am convinced that many professors have no idea where the bar should be set on how students should preform. A particular favorite is a professor who explained his curving scheme thusly:</p>
<blockquote><p>Of course there will be a curve! I list everyone by their uncurved score and then [moving his hands in a window/gap creating fashion up and down] go &#8216;hmm there.&#8217; And divide the grades that way [with partitions].</p></blockquote>
<p>In all honesty, this seems to be the primary methodology for curving computer science courses, including ones where exams are already curved. And it seems detrimental to students learning. This arbitrary curving indicates that one did better than some percent of students, while giving no evidence of what material was actually learned.</p>
<p>I am currently grading the second programming course in the curriculum. And I feel like banging my head against a wall while doing so. Students make mistakes on material covered in the prerequisite course. Repeatedly. After I dock points and write a comment on what error occurred.</p>
<p>The professor for this course disproves of  me grading students harshly. This includes docking points for having unnecessary looping and requiring that all of their variables be more meaningful than &#8216;x.&#8217;</p>
<p>The professor I am working under is also the professor for one of my courses. My project is notably more difficult than others (many have settled on game A.I. while I&#8217;m doing computer vision and machine learning). On more than one occasion, he has indicated that he feels it is too complex for me. I&#8217;m not sure if this is cultural or because he feels I can&#8217;t succeed or that it shows an example of higher difficulty that others should be able to do.</p>
<p>From elementary through high school, in gifted education and accelerated learning courses. College is the first setting where I am always in classes that are designed for the middle. College is also, interestingly, the first time that I have tested notably worse than my peers and been told that I can&#8217;t do something.</p>
<p>I find myself questioning why I am compared to everyone rather than judged on my own qualities. I have had professors grade me more harshly for being clever, and I don&#8217;t agree to this. But, if I&#8217;m choosing to do work at a different level, why should I be discouraged? And, to be fair, I think students working at a lower than mean level have a right to work at that level.</p>
<p>Professors need to work on showing students why subjects are important and how to learn them. Professors are typically passionate about their subjects, they should share this passion.</p>
]]></content:encoded>
			<wfw:commentRss>http://refract.me/2009/11/03/setting-bars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Combining Projects</title>
		<link>http://refract.me/2009/10/25/combining-projects/</link>
		<comments>http://refract.me/2009/10/25/combining-projects/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 02:49:32 +0000</pubDate>
		<dc:creator>Alison</dc:creator>
				<category><![CDATA[CS]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[computer vision]]></category>
		<category><![CDATA[LilyPad]]></category>
		<category><![CDATA[prof]]></category>

		<guid isPermaLink="false">http://refract.me/?p=235</guid>
		<description><![CDATA[As I&#8217;ve stated before, I need to create one embedded systems and one artificial intelligence project this semester. From both professors, I have gotten the impression that the project is intended to demonstrate that I learned something. So, rather than worry about the scale, I&#8217;ve decided to combine the two projects into a super-project. Not [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://refract.me/2009/09/23/i-dont-want-to-code-anymore/">As I&#8217;ve stated before, I need to create one embedded systems and one artificial intelligence project this semester.</a></p>
<p>From both professors, I have gotten the impression that the project is intended to demonstrate that I learned <em>something</em>. So, rather than worry about the scale, I&#8217;ve decided to combine the two projects into a super-project.</p>
<p>Not to say it won&#8217;t still be quality work. I just as soon do both together than to risk doing one project poorly.</p>
<p>So, what will I be doing?</p>
<ol>
<li>Embedding a camera, <acronym title="red green blue">RGB</acronym> <acronym title="light emitting diode">LED</acronym>, <a href="http://web.media.mit.edu/~leah/LilyPad/index.html">LilyPad</a> <a href="http://arduino.cc">Arduino</a>, a mode switch, and an xBee onto a canvas.</li>
<li>Connecting an xBee to my netbook, Spinnel.</li>
<li>Creating a touch and look modes.</li>
<li>Having Spinnel react to the actions.</li>
</ol>
<p>The touch mode will use conductive thread embroidered into the canvas. When the user touches it, the node will activate and do a specific task.</p>
<p>In look mode, the camera will take pictures.  These photos will be sent to Spinnel for processing. Using <a href="http://opencv.willowgarage.com/wiki/">OpenCV</a> library, a series of movements will be interpreted as a gesture and the system will activate an event based on this action.</p>
<p>So, why can I combine these projects? Well, a lot of it comes down to the size of the project. In <acronym title="artificial intelligence">A.I.</acronym> many people are doing something that could be done in a couple weeks, like programming a game-playing algorithm. Because I&#8217;ve decided on a more advanced topic, I get a lot more flexibility in how and with what tools I approach it with.</p>
<p>Now, it&#8217;s just a matter of getting the time to do it.</p>
]]></content:encoded>
			<wfw:commentRss>http://refract.me/2009/10/25/combining-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
