<?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>software design &#8211; CS@Worcester</title>
	<atom:link href="https://cs.worcester.edu/category/software-design/feed/" rel="self" type="application/rss+xml" />
	<link>https://cs.worcester.edu</link>
	<description>Worcester State University Computer Science Department</description>
	<lastBuildDate>Mon, 04 May 2020 00:32:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
<site xmlns="com-wordpress:feed-additions:1">236835116</site>	<item>
		<title>Sprint 3 Retrospective</title>
		<link>https://wurmpress.wordpress.com/2020/05/03/sprint-3-retrospective/</link>
		
		<dc:creator><![CDATA[wurmpress]]></dc:creator>
		<pubDate>Mon, 04 May 2020 00:32:24 +0000</pubDate>
				<category><![CDATA[Capstone]]></category>
		<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[cswsu]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Dev]]></category>
		<guid isPermaLink="false">http://wurmpress.wordpress.com/?p=197</guid>

					<description><![CDATA[Wireframe for UI Stop users from opening the weight entry component until a user ID is chosen Create Delay Angular Service Autofocus on ID entry and weight entry text fields Prevent empty or incorrectly formatted input for the id-scanner component Keep track of User IDs in a service Reject duplicate ID entries Create Angular Service<a href="https://wurmpress.wordpress.com/2020/05/03/sprint-3-retrospective/">Continue reading <span>"Sprint 3 Retrospective"</span></a>]]></description>
										<content:encoded><![CDATA[<ul>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/7">Wireframe for UI</a></li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/40">Stop users from opening the weight entry component until a user ID is chosen</a></li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/41">Create Delay Angular Service</a></li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/39">Autofocus on ID entry and weight entry text fields</a></li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/34">Prevent empty or incorrectly formatted input for the id-scanner component</a></li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/29">Keep track of User IDs in a service</a></li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/48">Reject duplicate ID entries</a></li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/28">Create Angular Service to update backend</a></li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/36">Create checks for edge cases on weight</a></li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/31">Implement methods in weight-entry component to communicate with REST API</a>
<ul>
<li>This implementation was completed but replaced with the “Create Angular Service to update backend” task, which was also merged with the service to keep track of User IDs; I will expand further below.</li>
</ul>
</li>
<li><a href="https://gitlab.com/LibreFoodPantry/modules/visitmodule-tp/checkout/Plan/-/issues/38">Fix text and element scaling</a></li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; As you may hope, or expect, this final sprint is where everything really came together, and we were firing on all cylinders. We had consistent communication when needed and otherwise had tasks we could work self-sufficiently on in the meantime. Our task board was positively stuffed with tasks that expressed the minute details of our process, and we managed to complete an incredible amount of their weight considering how many there were. Having spent the first sprint unsure of what tasks actually needed doing, and the second iterating on what we had created, I believe this was the moment all the building blocks fell in place; and it felt, at least personally, that tasks were clear and specific, comprised of all the things I wished to improve from the rough iterative process mentioned in the second sprint.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I think having finalized our UI design, or at least cemented the layout, allowed for easier improvement of said design. In many ways, having a finalized user flow in place made so that much of the non-style code could be refactored to store and manage information more effectively. For instance, as mentioned in the note above, I began with calling REST API to log transactions in the weight entry component where the necessary information would end up: student ID and weight. After refactoring, I broke both the storage and management of guests into a service which could be more easily accessed by any component and centralized any API calls made using guest information. This worked perfectly except for a single instance, where I needed this service to call another component. Services can be easily imported by components but sending information to a specific component from a service is more complicated. As I understand, the code I used subscribes the component I needed to speak to, to the service, which then can send a signal to that component, which in turn calls one of that component’s methods.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Regarding what did not work, it is a combination of both personal and group strategy. While we each could work effectively alone on our own independent portions, it meant that we all became intimately familiar with only one or two aspects of the project. This has especially caused problems most recently with trying to move our respective portions into Docker, as I was the only one who knew next to nothing about Docker. Therefore, I could not help my group members work on any problems my front end code may have caused. I see not keeping up with my group member’s Docker progress as a personal failing. Now both in this class and in the workforce to come, I am wishing I had this knowledge of such a powerful and seemingly common framework. Otherwise, I am very proud of the work my group members did and think given some more cross-cutting training we would be that much more of an effective team. Especially given everything that has been going on we have managed to put together a site that is nearly ready to roll out. (With the caveat, of course, that it may not be absolutely perfect but can perform all the tasks necessary).</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://wurmpress.wordpress.com">CS@Worcester – Press Here for Worms</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by wurmpress">wurmpress</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/09b084adfb2a20f1a1e9ebddd2b0482b?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">12929</post-id>	</item>
		<item>
		<title>Use the Source: how to numb your mind faster than a lobotomy</title>
		<link>https://wurmpress.wordpress.com/2020/02/19/use-the-source-how-to-numb-your-mind-faster-than-a-lobotomy/</link>
		
		<dc:creator><![CDATA[wurmpress]]></dc:creator>
		<pubDate>Thu, 20 Feb 2020 02:29:00 +0000</pubDate>
				<category><![CDATA[Capstone]]></category>
		<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[cswsu]]></category>
		<category><![CDATA[software design]]></category>
		<guid isPermaLink="false">http://wurmpress.wordpress.com/?p=171</guid>

					<description><![CDATA[Perhaps it&#8217;s just naturally a trait of mine, a coincidence growing up, or perhaps I more broadly reflect societies supposedly shrinking attention span; regardless of the cause, I have very little patience for reading documentation. Instead, I often like to open a sample project, usually the placeholder created by default, and see what happens when<a href="https://wurmpress.wordpress.com/2020/02/19/use-the-source-how-to-numb-your-mind-faster-than-a-lobotomy/">Continue reading <span>"Use the Source: how to numb your mind faster than a&#160;lobotomy"</span></a>]]></description>
										<content:encoded><![CDATA[<p>Perhaps it’s just naturally a trait of mine, a coincidence growing up, or perhaps I more broadly reflect societies supposedly shrinking attention span; regardless of the cause, I have very little patience for reading documentation. Instead, I often like to open a sample project, usually the placeholder created by default, and see what happens when changing things around, or how information is passed between files. As such, I oftentimes find roundabout ways of completing tasks in a new language or framework. This results in less than ideal code, even if functioning, that does not follow best practice or any convention the language/framework may have. So therefore, the “Use the Source” spoke to a weakness I have in software development.</p>
<p>It states that one should choose a complex, and necessarily open source, project in the language you are hoping to learn to fork and pore over. In doing so, one can internalize as many of the lessons this code may have to teach, the ways experts write in this language, the “tricks of the trade” if you will; and, as a result, be inspired to apply these concepts in ones own project. This unfortunately, sounds terribly boring. It’s hard enough for me, and many other students I know, to pick apart our own code only months after writing it. I can’t imagine trying to parse years of work by developers with an incredible knowledge of their chosen language. This seems like a recipe for frustration. I could easily see a student not unlike myself throwing themselves at a new language in this fashion and coming away discouraged and maybe even completely overwhelmed; to the point where they may shy away from learning that language at all.</p>
<p>Instead, I would propose a healthier middle ground. I find that in messing with the code you can find little victories where your exploration paid off – victories that, for myself at least, keep me motivated. However, as mentioned previously, learning completely on ones own may waste valuable time and internalize bad or inefficient habits. As such, I think one should push their abilities as far as they can manage, then seek guidance from communities online. There exist thousands of YouTube tutorials and stack overflow threads where more than one solution is reached to nearly every problem; so, unlike the open source project, you can pick a solution that has a logic you understand best and can implement. I may have no patience to dig through years of documentation, but I don’t lack the patience to instead experiment and ultimately learn the language/framework.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://wurmpress.wordpress.com">CS@Worcester – Press Here for Worms</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by wurmpress">wurmpress</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/09b084adfb2a20f1a1e9ebddd2b0482b?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">12668</post-id>	</item>
		<item>
		<title>The Deep End: Taking off my floaters</title>
		<link>https://wurmpress.wordpress.com/2020/02/12/the-deep-end-taking-off-my-floaters/</link>
		
		<dc:creator><![CDATA[wurmpress]]></dc:creator>
		<pubDate>Wed, 12 Feb 2020 16:04:00 +0000</pubDate>
				<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[cswsu]]></category>
		<category><![CDATA[Internships]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Week 5]]></category>
		<guid isPermaLink="false">http://wurmpress.wordpress.com/?p=168</guid>

					<description><![CDATA[The definition of many of the apprenticeship patterns in the book are all in their title, being fairly obvious or sharing language used in idioms or other expressions. However, despite this, our authors usually find a way to expand on them for at least a page or two &#8211; most often by sharing a relevant<a href="https://wurmpress.wordpress.com/2020/02/12/the-deep-end-taking-off-my-floaters/">Continue reading <span>"The Deep End: Taking off my&#160;floaters"</span></a>]]></description>
										<content:encoded><![CDATA[<p>The definition of many of the apprenticeship patterns in the book are all in their title, being fairly obvious or sharing language used in idioms or other expressions. However, despite this, our authors usually find a way to expand on them for at least a page or two – most often by sharing a relevant story. Which is why I was shocked at how brief this particular pattern was, just a handful of paragraphs and another for our story. The brevity of pattern however did not lessen its impact on me, and I have come away with a renewed confidence. As someone who needs structure in order to work effectively, I imagine the deep end would involve a great deal of work and specifically responsibility – which I respond to quite well also.</p>
<p>I had already determined to seek out an internship or entry level position outside of my home state. Further, I wanted to join a company where I, of course, could be actually hired but one that would truly test the limits of my skills. Ideally, I would want it to be an internship though, cause as much as I want to make this change in scenery, I’m still hesitant to get stuck someplace I’m miserable. I think the true test will not just be getting a position away from home but finding a place for myself in that new place and maybe even gaining the confidence to stay and accept a job at the company – in the case of an internship.</p>
<p>I did find one internship that states that they will make no “intern-work” and one should be expected to work as a peer with the rest of their fellow employees; and on a massively used and well-known mobile application no less. I jumped at the chance to apply for this position, and I am incredibly hopeful I get it, as it is the perfect storm of conditions I am hoping for. Enrique’s story is still a little too dramatic for me to imagine emulating, but I hope if the opportunity to work in another country even presents itself, I will have the confidence to take it.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://wurmpress.wordpress.com">CS@Worcester – Press Here for Worms</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by wurmpress">wurmpress</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/09b084adfb2a20f1a1e9ebddd2b0482b?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">12562</post-id>	</item>
		<item>
		<title>Kindred Spirits: Programming inspired by Anne of Green Gables</title>
		<link>https://wurmpress.wordpress.com/2020/02/04/kindred-spirits-programming-inspired-by-anne-of-green-gables/</link>
		
		<dc:creator><![CDATA[wurmpress]]></dc:creator>
		<pubDate>Wed, 05 Feb 2020 00:33:00 +0000</pubDate>
				<category><![CDATA[Capstone]]></category>
		<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[cswsu]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Week 4]]></category>
		<guid isPermaLink="false">http://wurmpress.wordpress.com/?p=165</guid>

					<description><![CDATA[When reading the kindred spirits apprenticeship pattern, I was immediately reminded of my first real programming class, CS140, wherein I met some of the friendly faces I would spend the next two years becoming a programmer with. A few of these faces were a part of my group in that class&#8217;s lab and with them<a href="https://wurmpress.wordpress.com/2020/02/04/kindred-spirits-programming-inspired-by-anne-of-green-gables/">Continue reading <span>"Kindred Spirits: Programming inspired by Anne of Green&#160;Gables"</span></a>]]></description>
										<content:encoded><![CDATA[<p>When reading the kindred spirits apprenticeship pattern, I was immediately reminded of my first real programming class, CS140, wherein I met some of the friendly faces I would spend the next two years becoming a programmer with. A few of these faces were a part of my group in that class’s lab and with them we challenged each other in the subject and helped fill each other’s blind spots. While this is hardly unique, I’m sure, it exemplifies what the pattern is all about: finding peers who you can learn and grow with. Now with those two years nearly behind us and the end (of our education) is in sight, those same friends have been amazing resources.</p>
<p>As new learners, we tend to go in all different directions, not favoring any set method because we have yet to find the path of least resistance or best practices. Subsequently, we create puzzles pieces with our bits of knowledge that we all can combine to get a clear picture of a language, framework, et cetera. I have found as well, that what was often very useful was the ability to politely disagree – read: bicker like an old couple – with your peer and push back and forth on each other to really challenge one’s knowledge or understanding of something. It was through this back and forth that many of the solutions we were so desperately searching for came about; which is something the pattern even addresses, stating that it is imperative to avoid group think and challenge each other.</p>
<p>I remember distinctly have an erratic mass of code segments and illustrations of a particular data structure, the exact one I cannot remember, all over the board in the Science and Technology center study rooms. Data Structures, our major’s trial by fire, has crushed fledgling programmers of far greater skill than me. I can say with no doubt, that had it not been for these brain-storming sessions I would not have passed that class or even completely the projects thoroughly in the way that I eventually did. As I look forward to internships and even jobs after graduation, I hope to keep those around me who I have learned so much from and find new kindred spirits to take on this next chapter of my programming career.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://wurmpress.wordpress.com">CS@Worcester – Press Here for Worms</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by wurmpress">wurmpress</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/09b084adfb2a20f1a1e9ebddd2b0482b?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">12542</post-id>	</item>
		<item>
		<title>Craft Over Art: or how I learned to stop worrying and love my ugly UI</title>
		<link>https://wurmpress.wordpress.com/2020/01/30/craft-over-art-or-how-i-learned-to-stop-worrying-and-love-my-ugly-ui/</link>
		
		<dc:creator><![CDATA[wurmpress]]></dc:creator>
		<pubDate>Thu, 30 Jan 2020 23:12:00 +0000</pubDate>
				<category><![CDATA[Capstone]]></category>
		<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[cswsu]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[Software Dev]]></category>
		<category><![CDATA[Week 3]]></category>
		<guid isPermaLink="false">http://wurmpress.wordpress.com/?p=160</guid>

					<description><![CDATA[As I mentioned last week, I have a tendency to try to make products out of projects; meaning I can&#8217;t just have something to tinker with for fun, it needs to essentially be a rough draft for the actual project I have to work on. In the same vein, I have another hang-up on wanting<a href="https://wurmpress.wordpress.com/2020/01/30/craft-over-art-or-how-i-learned-to-stop-worrying-and-love-my-ugly-ui/">Continue reading <span>"Craft Over Art: or how I learned to stop worrying and love my ugly&#160;UI"</span></a>]]></description>
										<content:encoded><![CDATA[<p>As I mentioned last week, I have a tendency to try to make products out of projects; meaning I can’t just have something to tinker with for fun, it needs to essentially be a rough draft for the actual project I have to work on. In the same vein, I have another hang-up on wanting things to be clean and pretty to start. Now, of course, one should strive for well formatted code following best practices, but specifically for those projects with a user interface I try to go straight to a finished product from the start. As a result, the Craft Over Art Pattern was illuminating, bringing into focus where my priorities should lie especially in contrast to where they are currently.</p>
<p>In sum, this pattern emphasizes that you have been charged with creating a functioning product, not necessarily a pretty one. The line, “the things we build for customers <em>can</em> be beautiful, but <em>must</em> be useful” says it all. I realize in constantly polishing a project before its feature complete, I end up throwing away a lot of work spent on “dolling up” features or elements of the user interface that may change or not even be used. I even caught myself making the same mistake even on a personal project using a different web application language, where I did not even attempt to make any forms or methods that communicated to the backend, instead spending time adding libraries for user interface elements that look nice and animate well. While there is certainly a place for those things, this pattern helps one understand that is when you have all of the parts of your application finalized.</p>
<p>I should have learned this lesson last semester with my final project. I spent so much time fiddling with the color palette and page animations, that the content on those pages was barren, or poorly formatted. It is nice, I think, that my webpage looks and animates nicely, but when pages break upon reloading then it hardly matters. If there is constantly some expectation of failure with a project, then the font you choose is hardly relevant. I think that is what this pattern helped me realize most about this weakness of mine; utility is the most important aspect of software, everything else is so much fluff.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://wurmpress.wordpress.com">CS@Worcester – Press Here for Worms</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by wurmpress">wurmpress</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/09b084adfb2a20f1a1e9ebddd2b0482b?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">12530</post-id>	</item>
		<item>
		<title>Putting the ‘O’ in SOLID</title>
		<link>https://wurmpress.wordpress.com/2019/09/29/putting-the-o-in-solid/</link>
		
		<dc:creator><![CDATA[wurmpress]]></dc:creator>
		<pubDate>Sun, 29 Sep 2019 19:29:16 +0000</pubDate>
				<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[cswsu]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[SOLID]]></category>
		<category><![CDATA[Week 4]]></category>
		<guid isPermaLink="false">http://wurmpress.wordpress.com/?p=93</guid>

					<description><![CDATA[We covered the Open/Close principle in a recent lab, and it prompted a desire to cover some of the SOLID principles. I have determined however, that the length of this blog is short enough that I should dedicate it to a single principle at a time, beginning with the aforementioned Open/Close principle. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; This particular [&#8230;]]]></description>
										<content:encoded><![CDATA[<hr class="wp-block-separator" />
<p>We<br />
covered the Open/Close principle in a recent lab, and it prompted a desire to<br />
cover some of the SOLID principles. I have determined however, that the length<br />
of this blog is short enough that I should dedicate it to a single principle at<br />
a time, beginning with the aforementioned Open/Close principle.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This particular object-oriented<br />
principle was outlined by Bertrand Meyer and states:</p>
<hr class="wp-block-separator is-style-dots" />
<p><em>“…entities should be open for extension, but closed for modification.”</em></p>
<hr class="wp-block-separator is-style-dots" />
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This of course, is a complex way<br />
of expressing a simple guideline for software development; which is that new<br />
functionality should be able to added without having to radically change existing<br />
code. The operative word, extension, is illustrative. If your code was a home,<br />
and you wanted to add more square-footage (read: functionality), you shouldn’t<br />
need to knock all the walls, or the whole thing, down to add a bathroom.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In the blog chosen, the author summarizes<br />
a talk he gave about the very subject. In it, he provides an example of a program<br />
he is developing for a company that calculates the total area of a set of rectangles.<br />
As the customer requests more and more shapes be added to the calculator, the original<br />
code changes drastically and gets longer and longer. This modification is opposed<br />
to this principle. In opposition, creating a Shape class that contains many children<br />
of different specific shapes – each with their own area function – with the<br />
ability to add more, eliminates constant modification of the main class, and<br />
allows for constant extensionability in the form of new shapes.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To say simply that code should be<br />
modular is unhelpful, as it is broad and the general definition of so many more<br />
good coding practices. Our class and homework provide another perfect example.<br />
Why should we have to constantly Override and rewrite portions of a superclass’<br />
methods in each of its child classes to achieve proper functionality. Instead, in<br />
making a Quack/Fly Behavior interface we have established a broad mold that<br />
many new behaviors can be built off of; access to all of which is then granted<br />
by the relationship to the single respective behavior interface.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Therefore, the ability of code to be<br />
extended with new functionalities, using a single reference – in this case the behaviors,<br />
or shapes – instead of needing to rewrite or overwrite code is what is meant by<br />
extension; while keeping the existing code from needing constant revisions, is being<br />
closed for modification. Like the house example earlier, you should constantly be<br />
building out, not renovating what exists already. </p>
<hr class="wp-block-separator is-style-wide" />
<h3 class="has-text-align-center">Sources:</h3>
<p><a href="http://joelabrahamsson.com/a-simple-example-of-the-openclosed-principle/">A<br />
simple example of the Open/Closed Principle</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://wurmpress.wordpress.com">CS@Worcester – Press Here for Worms</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by wurmpress">wurmpress</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/09b084adfb2a20f1a1e9ebddd2b0482b?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">11955</post-id>	</item>
		<item>
		<title>Refactoring: Spring Cleaning for Code</title>
		<link>https://wurmpress.wordpress.com/2019/09/22/refactoring-spring-cleaning-for-code/</link>
		
		<dc:creator><![CDATA[wurmpress]]></dc:creator>
		<pubDate>Sun, 22 Sep 2019 15:21:48 +0000</pubDate>
				<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[cswsu]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[Week 3]]></category>
		<guid isPermaLink="false">http://wurmpress.wordpress.com/?p=86</guid>

					<description><![CDATA[Depending upon the subject, some of us are lucky to finish a functioning project so the thought of improving code after the fact &#8211; especially if there&#8217;s a new project due soon &#8211; is a distant one. However, they may be tricked into refactoring their code if asked when you say the magic words: &#8220;Refactoring [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Depending upon the subject, some of us are lucky to finish a functioning project so the thought of improving code after the fact – especially if there’s a new project due soon – is a distant one. However, they may be tricked into refactoring their code if asked when you say the magic words: “Refactoring is not rewriting code”. The definition, as defined by its creator is:</p>
<hr class="wp-block-separator is-style-dots" />
<p><em>“a change [or changes] made to the<br />
internal structure of software to make it easier to understand and cheaper to<br />
modify without changing observable behavior.”</em> </p>
<hr class="wp-block-separator is-style-dots" />
<p>In<br />
reality, the process may involve:</p>
<ul>
<li>new<br />
code, but it must not change the behavior of the original code;</li>
<li>ensuring<br />
the system works before and after each refactor, including original unit tests;</li>
<li>creating<br />
unit tests to verify our refactoring has not changed system behavior;</li>
<li>changes<br />
that individually are minute, but combined lead to a healthier program;</li>
<li>eliminating<br />
duplicate code, potentially changing variable names, and more.</li>
</ul>
<p>It is not<br />
simply cleaning up code, but rather reorganizing it in order to make it easier<br />
to trace and understand, as well as add functionality to in the future. </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For our purposes, this may be a very<br />
important concept to learn but it may be some time before we get to implement<br />
it, unless we’re coding or maintaining an entire program for our capstone; however,<br />
it is important to understand when to do so. According to my sources, the best<br />
time to do so is before you add new features to an existing program, or right<br />
after you’ve already shipped it. For the former, it makes these new features much<br />
easier to add when the program is much more readable and makes the program better<br />
for having made the changes. As for the latter, it makes a lot of sense to<br />
snoop around for ways to reorganize code after you’ve spent so much time on it,<br />
and in a mad dash to finish it towards the end no doubt. Years’ worth of work<br />
is no doubt going to have some inconsistencies that fell through the cracks in<br />
the course of development.</p>
<p>              As for implementing these changes, there are several methods, including Red-Green-Refactor, Abstraction, Simplifying Methods, as well as many others we won’t cover. In R-G-R, <strong>red</strong> means stop and determine what to develop – usually with a new test that fails, getting this new development to pass tests (<strong>green</strong>), and finally <strong>refactoring</strong> to optimize. Abstraction is used to address duplicate code and can be done by restructuring hierarchies using the <strong>Pull-Up</strong> [pulling up code into a superclass to be shared more effectively] or <strong>Push-Down</strong> [pushing down code to more subclasses from a superclass] method. Finally, Simplifying Methods is an effort to simplify older code by consolidation and reducing interclass complexity. Hopefully this helps develop an understand of refactoring, in fact, I had to do quite a lot of refactoring to this blog to get it down to size!</p>
<hr class="wp-block-separator is-style-wide" />
<h3 class="has-text-align-center">Sources:</h3>
<p><a href="https://www.refactoring.com/">Refactoring – Martin Fowler</a><br /><a href="https://www.agilealliance.org/glossary/refactoring/#q=~(infinite~false~filters~(postType~(~'page~'post~'aa_book~'aa_event_session~'aa_experience_report~'aa_glossary~'aa_research_paper~'aa_video)~tags~(~'refactoring))~searchTerm~'~sort~false~sortDirection~'asc~page~1)">Refactoring – Agile Alliance</a><br /><a href="https://www.altexsoft.com/blog/engineering/code-refactoring-best-practices-when-and-when-not-to-do-it/">Code Refactoring Best Practices: When (and When Not) to Do It</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://wurmpress.wordpress.com">CS@Worcester – Press Here for Worms</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by wurmpress">wurmpress</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/09b084adfb2a20f1a1e9ebddd2b0482b?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">11919</post-id>	</item>
		<item>
		<title>Thinkin ‘bout KISS‘n you</title>
		<link>https://wurmpress.wordpress.com/2019/09/20/thinkin-bout-kissn-you/</link>
		
		<dc:creator><![CDATA[wurmpress]]></dc:creator>
		<pubDate>Fri, 20 Sep 2019 14:12:22 +0000</pubDate>
				<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[cswsu]]></category>
		<category><![CDATA[KISS]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[Week 3]]></category>
		<guid isPermaLink="false">http://wurmpress.wordpress.com/?p=79</guid>

					<description><![CDATA[KISS (Keep it Simple, Stupid) is potentially one of the most culturally pervasive concepts used in Computer Science, the other being maybe blockchain &#8211; the difference of course is that people actually understand what KISS is, everyone who says they understand blockchain is lying. Of course, KISS did not originate in Computer Science, and instead [&#8230;]]]></description>
										<content:encoded><![CDATA[<hr class="wp-block-separator" />
<p>KISS<br />
(Keep it Simple, Stupid) is potentially one of the most culturally pervasive concepts<br />
used in Computer Science, the other being maybe blockchain – the difference of<br />
course is that people actually understand what KISS is, everyone who says they<br />
understand blockchain is lying. Of course, KISS did not originate in Computer<br />
Science, and instead was popularized at Lockheed Skunk Works by noted<br />
tangential war criminal and engineer Kelly Johnson. While it may be difficult and<br />
seemingly sacrilegious to try to explain something so self-explanatory that is<br />
what I hope to do, flying in the face of the concept of simplicity to stretch<br />
four words into four hundred.</p>
<figure class="wp-block-image size-large"><img decoding="async" src="https://www.csiaexchange.com/File.aspx?id=199580&amp;v=cff5ebc" alt="" /><figcaption>Credit: <a href="https://www.csiaexchange.com/File.aspx?id=199580&amp;v=cff5ebc">csiaexchange</a></figcaption></figure>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; It begins with, put kindly, making<br />
distinctions about the semantics of the scant few words in this phrase; put<br />
more bluntly, being pedantic. This examination is important, and the linked<br />
article does a great job of highlighting first the distinctions between ‘simple’<br />
and ‘easy’, which could be mistaken as synonyms, and contrasts it with ‘complex’.<br />
His conclusion is this, a simple system is defined by what it is not, which is one<br />
with too many parts which are interconnected – with the latter being worse in<br />
software development. </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This all sounds wonderful on paper,<br />
and about the same on a computer screen, but sometimes complexity is<br />
inevitable. So, it is advised that you make things as simple as possible, until<br />
you can’t, at which point you are vigilant in handling that necessary<br />
complexity. For instance, I could try all sorts of methods to navigate a 2D<br />
array in some mock-up code, but I don’t need to introduce recursion or anything<br />
outrageous to shorten a method body if a simple nested loop will do.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This idea of simplifying through pruning<br />
code is expressed in the next sections of this post, stressing the importance<br />
of cleaning up dead or underutilized code so that no resources are wasted maintaining<br />
or reintegrating useless code. Additionally, YAGNI (yay more acronyms) states<br />
more or less the same thing, encouraging programmers to implement the essentials,<br />
that will actually be presently utilized, and skip the bells, whistles, and<br />
maybes. Code with bunches of maybe methods require time and resources to<br />
maintain and if they aren’t actively being utilized, then they’re a waste of<br />
both.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; From here on, the blog introduces<br />
many more concepts that are possible to cover in just this blog post – although<br />
I do hope to mention Lasagna Architecture in another post sometime later. Instead,<br />
I think it is time to bring this post to a close. What is the take-away then?<br />
Well its exactly what you thought it was from the first line. In conclusion, it<br />
may be appealing to get a jump on features you may want to implement in the future,<br />
but it is best to keep things as simple as possible and/or only as complex as<br />
needed but no more.</p>
<hr class="wp-block-separator" />
<h2 class="has-text-align-center">Sources</h2>
<p><a href="https://thevaluable.dev/kiss-principle-explained/"><strong>KISS Principle Explained</strong><br /></a><strong><a href="https://www.interaction-design.org/literature/article/kiss-keep-it-simple-stupid-a-design-principle">KISS, A Design Principle</a></strong></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://wurmpress.wordpress.com">CS@Worcester – Press Here for Worms</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by wurmpress">wurmpress</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/09b084adfb2a20f1a1e9ebddd2b0482b?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://www.csiaexchange.com/File.aspx?id=199580&#038;v=cff5ebc" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">11913</post-id>	</item>
		<item>
		<title>WSU x AMPATH &#124;&#124; Sprint 5 Retrospective</title>
		<link>https://samanthatran.com/2019/04/22/wsu-x-ampath-sprint-5-retrospective/</link>
		
		<dc:creator><![CDATA[samanthatran]]></dc:creator>
		<pubDate>Mon, 22 Apr 2019 15:45:25 +0000</pubDate>
				<category><![CDATA[AMPATH]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS-Series]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Homework]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Sprint 5]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://samanthatran.com/?p=1314</guid>

					<description><![CDATA[Over the past two weeks, my team continued to discuss what we are working on as usual. We have come to the conclusion that we will add our Search Bar component once there are updates and more of a base to work off of. This was concluded after we realized that the process would be &#8230; <a href="https://samanthatran.com/2019/04/22/wsu-x-ampath-sprint-5-retrospective/">Continue reading <span>WSU x AMPATH &#124;&#124; Sprint 5&#160;Retrospective</span></a>]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" fetchpriority="high" decoding="async" data-attachment-id="1316" data-permalink="https://samanthatran.com/2019/04/22/wsu-x-ampath-sprint-5-retrospective/sams-ships-14/" data-orig-file="https://sambarrassed.files.wordpress.com/2019/04/sams-ships-14.png?w=242&#038;h=242" data-orig-size="500,500" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Sams Ships (14)" data-image-description="" data-medium-file="https://sambarrassed.files.wordpress.com/2019/04/sams-ships-14.png?w=242&#038;h=242?w=300" data-large-file="https://sambarrassed.files.wordpress.com/2019/04/sams-ships-14.png?w=242&#038;h=242?w=500" class="  wp-image-1316 alignleft" src="https://sambarrassed.files.wordpress.com/2019/04/sams-ships-14.png?w=242&#038;h=242&#038;fit=242%2C242&#038;resize=242%2C242" alt="Sams Ships (14)" width="242" height="242" srcset="https://sambarrassed.files.wordpress.com/2019/04/sams-ships-14.png?w=242&amp;h=242 242w, https://sambarrassed.files.wordpress.com/2019/04/sams-ships-14.png?w=484&amp;h=484 484w, https://sambarrassed.files.wordpress.com/2019/04/sams-ships-14.png?w=150&amp;h=150 150w, https://sambarrassed.files.wordpress.com/2019/04/sams-ships-14.png?w=300&amp;h=300 300w" sizes="(max-width: 242px) 100vw, 242px" />Over the past two weeks, my team continued to discuss what we are working on as usual. We have come to the conclusion that we will add our Search Bar component once there are updates and more of a base to work off of. This was concluded after we realized that the process would be much more efficient. The parameters and details on the search bar would be harder to figure out without making up a base anyways.</p>
<p>Some advice for others who may be working on the same thing would be to try and collaborate or discuss potential orders between groups if one thing may depend on another. That would make it much simpler from the start if possible so there aren&#8217;t any clashes or time wasted on doing extra work that could have just been done by one group or team.</p>
<p>In the meantime, I did a little more research on the AMPATH system out of curiosity since we are going to be building onto their work. I found out that there are 500+ care sites in Kenya! It is interesting to think about the potential impact our work may make on how AMPATH carries out their process. Their initiative reminds me of what Enactus at Worcester State strives for when they work on projects to help people or organizations in the community &#8220;sustain their own success, connect them with universal health insurance, train next generation medical professionals, and research new breakthroughs and best practices.&#8221; Being able to help a healthcare organization is pretty meaningful, especially as a project through my capstone.</p>
<p>A way to tie our 348 course (Software Process Management) with our 448 (Capstone) course would be through now being able to use Travis CI and Heroku. It was interesting being able to experience using these in class and help our peers use it and now be able to use them in our capstone. I think the practice we got was nice because I found that my peers and I were more comfortable with following steps that were written out and explained to us instead of just &#8220;going for it.&#8221; I have also noticed that our 348 course helped us pay more attention to how we interact with others, which is very useful for the future when we will be working in teams of developers to create or update new technologies. One more thing which I found useful was seeing Travis CI load, and the race against time when it came to classmates pushing code at the same time; it made me push myself to be a little faster while at the same time not be sloppy about what I was putting into my code.</p>
<p>Overall, we discussed what we will do in these coming weeks as the semester comes to a close. The project we are planning on presenting will feature a search bar which we plan to implement by then. I am excited to see what we end up with in terms of helping AMPATH and their healthcare system!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://samanthatran.com">CS@Worcester</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by samanthatran">samanthatran</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://sambarrassed.files.wordpress.com/2019/04/sam-cs-39.png" length="0" type="" />
<enclosure url="https://2.gravatar.com/avatar/8c91bf5b3b68d0fd111d64dc6fd31711?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://sambarrassed.files.wordpress.com/2019/04/sams-ships-14.png" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">11537</post-id>	</item>
		<item>
		<title>Craft Over Art &#124;&#124; S.S. 8</title>
		<link>https://samanthatran.com/2019/03/24/craft-over-art-s-s-8/</link>
		
		<dc:creator><![CDATA[samanthatran]]></dc:creator>
		<pubDate>Sun, 24 Mar 2019 01:51:54 +0000</pubDate>
				<category><![CDATA[Apprenticeship Patterns]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS-Series]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[GirlsWhoCode]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[software developer]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Week 9]]></category>
		<guid isPermaLink="false">http://samanthatran.com/?p=1294</guid>

					<description><![CDATA[As we have a few weeks left in the semester, I wanted to discuss the more creative apprenticeship patterns. This time I&#8217;m going to describe Craft Over Art, which is basically when a solution to a client&#8217;s problem can be solved with something that could work&#8230;or we could take it and go above and beyond. &#8230; <a href="https://samanthatran.com/2019/03/24/craft-over-art-s-s-8/">Continue reading <span>Craft Over Art &#124;&#124; S.S.&#160;8</span></a>]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" data-attachment-id="1293" data-permalink="https://samanthatran.com/sams-ships-10/" data-orig-file="https://sambarrassed.files.wordpress.com/2019/03/sams-ships-10.png?w=265&#038;h=265" data-orig-size="500,500" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Sams Ships (10)" data-image-description="" data-medium-file="https://sambarrassed.files.wordpress.com/2019/03/sams-ships-10.png?w=265&#038;h=265?w=300" data-large-file="https://sambarrassed.files.wordpress.com/2019/03/sams-ships-10.png?w=265&#038;h=265?w=500" class="alignleft wp-image-1293" src="https://sambarrassed.files.wordpress.com/2019/03/sams-ships-10.png?w=265&#038;h=265&#038;fit=265%2C265&#038;resize=265%2C265" alt="Sams Ships (10)" width="265" height="265" srcset="https://sambarrassed.files.wordpress.com/2019/03/sams-ships-10.png?w=265&amp;h=265 265w, https://sambarrassed.files.wordpress.com/2019/03/sams-ships-10.png?w=150&amp;h=150 150w, https://sambarrassed.files.wordpress.com/2019/03/sams-ships-10.png?w=300&amp;h=300 300w, https://sambarrassed.files.wordpress.com/2019/03/sams-ships-10.png 500w" sizes="(max-width: 265px) 100vw, 265px" />As we have a few weeks left in the semester, I wanted to discuss the more creative apprenticeship patterns. This time I&#8217;m going to describe <strong>Craft Over Art</strong>, which is basically when a solution to a client&#8217;s problem can be solved with something that could work&#8230;or we could take it and go above and beyond. It&#8217;s being more innovative than just settling for a solution just to have something.</p>
<p>I found that the pattern is interesting because it emphasized the importance of how the things built for customers can still be beautiful but must always be useful. If it strays away from being useful, then it no longer counts as the craft.</p>
<p>I also found it to be thought-provoking because it brought up how people are truly in charge of how a problem gets solved. No one can force you to code something a certain way if they do not know a way to solve it on their own, which is why your role exists in the first place.</p>
<p>The pattern has caused me to change the way I think about my intended profession because your work can still reflect you in terms of creativity. As a person, I think I am more on the creative side and incorporating more ideas into creating something for people sounds pretty cool. If I had to follow a super rigorous structure, I may feel limited in what I can do to produce work that makes me happier.</p>
<p>The one thing I have to disagree with in the pattern is the part where it mentions that someone is suddenly no longer &#8220;part of the craft&#8221; if they deviate a little further. Who sets these boundaries? I do not want people to feel like they are not &#8220;enough&#8221; to be considered a real craftsman or whichever term it is referred it as just because they were being extra.</p>
<p>Overall, I appreciated the action section which encouraged people to reflect on what projects they worked on or situations they may have found themselves in where they chose creativity over usefulness. At the moments where I have personally done so, I had felt more proud of my work, because I knew it was uniquely mine.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://samanthatran.com">CS@Worcester</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by samanthatran">samanthatran</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://sambarrassed.files.wordpress.com/2019/03/sam-cs-35.png" length="0" type="" />
<enclosure url="https://2.gravatar.com/avatar/8c91bf5b3b68d0fd111d64dc6fd31711?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://sambarrassed.files.wordpress.com/2019/03/sams-ships-10.png" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">11205</post-id>	</item>
	</channel>
</rss>
