<?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>week1 &#8211; CS@Worcester</title>
	<atom:link href="https://cs.worcester.edu/category/week1/feed/" rel="self" type="application/rss+xml" />
	<link>https://cs.worcester.edu</link>
	<description>Worcester State University Computer Science Department</description>
	<lastBuildDate>Sat, 24 Jan 2026 19:03:26 +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>Introductory Blog Post for CS-443-01</title>
		<link>https://computerscienceblues.blog/2026/01/24/introductory-blog-post-for-cs-443-01/</link>
		
		<dc:creator><![CDATA[Vishisht Seku]]></dc:creator>
		<pubDate>Sat, 24 Jan 2026 19:03:26 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[week1]]></category>
		<guid isPermaLink="false">http://computerscienceblues.blog/?p=41</guid>

					<description><![CDATA[
Hello, my name is Vishisht Seku. This is my Blog Post related to subject CS-443(Software Quality Assurance &#38; Testing.) I am very glad to be a part of this class and learn more about the process of Software Quality Management. 




]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Hello, my name is Vishisht Seku. This is my Blog Post related to subject CS-443(Software Quality Assurance &amp; Testing.) I am very glad to be a part of this class and learn more about the process of Software Quality Management. </p>
<p class="wp-block-paragraph">

<p class="syndicated-attribution"><em>From the blog <a href="https://computerscienceblues.blog">CS@Worcester – Vish&amp;#039;s Journey in Computer Science</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Vishisht Seku">Vishisht Seku</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/736fcec3f8c409266336ea44c4451897f1b8d95cf1723337d15b98d246292acc?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">50220</post-id>	</item>
		<item>
		<title>Introductory Post on LibreFoodPantry and Thea’s Pantry</title>
		<link>https://computerscienceblues.blog/2026/01/24/introductory-post-on-librefoodpantry-and-theas-pantry/</link>
		
		<dc:creator><![CDATA[Vishisht Seku]]></dc:creator>
		<pubDate>Sat, 24 Jan 2026 18:49:49 +0000</pubDate>
				<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[week1]]></category>
		<guid isPermaLink="false">http://computerscienceblues.blog/?p=38</guid>

					<description><![CDATA[One part of LibreFoodPantry that I found especially interesting was its mission to connect computer science education with real humanitarian impact. Rather than treating software development as an abstract or purely technical exercise, LibreFoodPantry shows how code can directly support local food pantries and the people who rely on them. The idea that free and […]]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">One part of LibreFoodPantry that I found especially interesting was its mission to connect computer science education with real humanitarian impact. Rather than treating software development as an abstract or purely technical exercise, LibreFoodPantry shows how code can directly support local food pantries and the people who rely on them. The idea that free and open-source software can be adapted to meet the needs of different communities stood out to me, because it emphasizes flexibility, accessibility, and long-term usefulness instead of profit.</p>
<p class="wp-block-paragraph">I chose to write about this mission because it reframes how I think about computing as a field. As a senior at Worcester State University, much of my coursework has focused on efficiency, correctness, and performance. While those skills are important, LibreFoodPantry highlights another dimension of computer science: responsibility to society. By involving students and faculty in instructor-led, open-source projects, the organization creates a learning environment where technical skills are developed alongside empathy and civic awareness. This approach makes the work feel meaningful and shows that software can be a practical tool for social good, not just a career skill or academic requirement.</p>
<p class="wp-block-paragraph">The one thing that I thoroughly enjoyed reading about Thea&#8217;s Pantry was the Developer Documentation section. As an aspiring Software and Data Engineer this documentation was a revelation and a textbook. I liked the sections around &#8216;Code of Conduct&#8217; and &#8216;Inclusive Language&#8217; a lot. They inspire us to take a moral high ground and be kind and compassionate to our team members.</p>
<p class="wp-block-paragraph">I also enjoyed the technical sections that gave me a good grasp on managing Workflows using the Git Branch, Pull Request protocol. Other sections such as &#8216;Release Process&#8217; and &#8216;Pipelines&#8217; provide a rigid framework around the intended CI/CD Process. Regarding &#8216;Dependency Management&#8217; I was surprised to find differences between &#8216;Dependencies&#8217;, &#8216;Dev Dependencies&#8217; and &#8216;Peer Dependencies&#8217;. So far, I only assumed we need to manage &#8216;Dependencies&#8217; as a single unit.</p>
<p class="wp-block-paragraph">I am very glad to be part of this Capstone Project with a noble mission.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://computerscienceblues.blog">CS@Worcester – Vish&amp;#039;s Journey in Computer Science</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Vishisht Seku">Vishisht Seku</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/736fcec3f8c409266336ea44c4451897f1b8d95cf1723337d15b98d246292acc?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">50222</post-id>	</item>
		<item>
		<title>From Inheritance to Strategy: Lessons from the Duck Simulator</title>
		<link>https://serahm9com.wordpress.com/2025/10/03/from-inheritance-to-strategy-lessons-from-the-duck-simulator/</link>
		
		<dc:creator><![CDATA[Serah Matovu]]></dc:creator>
		<pubDate>Fri, 03 Oct 2025 20:49:07 +0000</pubDate>
				<category><![CDATA[@DesignPatterns]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[week1]]></category>
		<guid isPermaLink="false">http://serahm9com.wordpress.com/?p=92</guid>

					<description><![CDATA[One of the primary obstacles in software design is ensuring that code remains easy to maintain and extend. Initially, inheritance seems like the clear answerplacing shared code in a superclass and allowing subclasses to override as necessary. However, as demonstrated in the classic Duck Simulator example, relying solely on inheritance can result in fragile designs. […]]]></description>
										<content:encoded><![CDATA[<p>One of the primary obstacles in software design is ensuring that code remains easy to maintain and extend. Initially, inheritance seems like the clear answerplacing shared code in a superclass and allowing subclasses to override as necessary. However, as demonstrated in the classic Duck Simulator example, relying solely on inheritance can result in fragile designs.</p>
<p><strong>From Inheritance to Strategy</strong></p>
<p>In the first version of the Duck Simulator, all ducks derived from a base Duck class. This approach worked until we introduced unique ducks like RubberDuck (which squeaks instead of quacking and cannot fly) and DecoyDuck (which does neither). Suddenly, we found ourselves needing to override or disable inherited methods, leading to duplication and design issues such as viscosity and fragility. Transitioning to interfaces helped to declutter the design, but it also required us to replicate code across similar ducks. The true breakthrough arrived with the Strategy Pattern, </p>
<p>We extracted behaviors like flying and quacking into separate classes (FlyWithWings, FlyNoWay, Quack, Squeak, MuteQuack). Now, ducks possess behaviors rather than inheriting them. These behaviors can be altered at runtime, and new ones can be introduced without changing existing code. This transition underscored the principle of favoring composition over inheritance and illustrated the Open-Closed Principle: code is open for extension but closed for modification.</p>
<p><strong>Design Principles in Action</strong></p>
<p>The exercise reinforced several essential principles: High Cohesion: Each behavior class excels at a single task. Low Coupling: Ducks are indifferent to how they fly or quack, only that they can delegate to a behavior. Encapsulate What Varies: Changes in behavior are contained, not dispersed across subclasses. Collectively, these factors enhance the design&#8217;s flexibility and maintainability.</p>
<p><strong>UML: Clearly Communicating Design</strong></p>
<p>We also engaged in the practice of illustrating designs through UML diagrams. In contrast to code, UML offers a higher-level representation that clarifies relationships: Associations (for instance, a Student possessing a schedule of Course objects). Multiplicity (for example, a student may enroll in 0–6 courses). Inheritance and interfaces (such as Faculty extending Employee and implementing HasCourseSchedule). Tools like PlantUML enable us to create these diagrams in Markdown, facilitating easy adjustments and sharing.</p>
<p><strong>Key Takeaways</strong></p>
<p>Relying solely on inheritance frequently results in fragile designs. The Strategy Pattern addresses this issue by encapsulating behavior and employing composition. Guiding principles such as High Cohesion, Low Coupling, and Open-Closed promote cleaner designs. UML diagrams provide us with a common language to convey and analyze code. What began as a straightforward duck simulator evolved into an insightful lesson on the significance of design patterns. By embracing the Strategy Pattern and utilizing UML for design modeling, we discovered how to construct systems that are not only functional but also resilient, adaptable, and easy to maintain.</p>

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

		<post-id xmlns="com-wordpress:feed-additions:1">41507</post-id>	</item>
		<item>
		<title>Post #1: Tests Adding Value</title>
		<link>https://bendersonsblog.wordpress.com/2018/09/10/post-1-tests-adding-value/</link>
		
		<dc:creator><![CDATA[Benderson's Blog]]></dc:creator>
		<pubDate>Mon, 10 Sep 2018 02:26:11 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[week1]]></category>
		<guid isPermaLink="false">http://bendersonsblog.wordpress.com/?p=176</guid>

					<description><![CDATA[Have you ever wondered if your tests are adding value to your work? Well I was reading a post by Andy Knight at Automation Panda who talks about the worries of testing and why people may think that it isn&#8217;t adding value. Andy begins by talking about how important testing is to software engineering stressing &#8230; <a href="https://bendersonsblog.wordpress.com/2018/09/10/post-1-tests-adding-value/">Continue reading <span>Post #1: Tests Adding&#160;Value</span> <span>&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Have you ever wondered if your tests are adding value to your work? Well I was reading a post by Andy Knight at Automation Panda who talks about the worries of testing and why people may think that it isn&#8217;t adding value. Andy begins by talking about how important testing is to software engineering stressing that people make a job out of it so it must be important. He clarifies that testing is important with one word: Bugs. Bug counting though is not the best way to make sure your test are adding value. Andy talks about three main facts that make bug counting not the best way to see if testing is adding value. They are fast feedback, good testing reduces bug count, bug counting drives bad behavior and bugs are usually rare. He goes into detail on all of these and how they effect the value of testing and he has some really good points for all of them. After he establishes why bug counting hurts testing, he goes onto talk about metrics that would be good for testing. He provides three different metrics being: Time to bug discovery, coverage and test failure proportions. He provides reasoning for all those metrics as well.</p>
<p>I don&#8217;t know too much about testing, mostly because the class I&#8217;m in is going to teach me about testing but this blog post provides a lot of insight on why testing is important and not a waste of time. Testing is a big part of programming as it makes sure that your code doesn&#8217;t have too many bugs so it runs as you want it and if it does have bugs, that you find them and able to fix them as soon as possible. I was able to learn that bug counting isn&#8217;t the best metric to figure out that your tests are adding value as they have many negative side effects such causing bad behavior or believing that its a waste of time because there are little bugs even though that means its just good code. It is just good to know that there is other metrics that make testing feel more valuable to the software engineering process. After reading about coverage being a metric, it makes a lot of sense why that would be more helpful of a metric than bug counting, covering a wide spread for testing would make it better to find the bugs and makes sure everything is in smoothly. Testing is an important part of software engineering and since it is so important, you want to use the best metrics for it and this blog post provides the best.</p>
<p>Link: https://wordpress.com/read/blogs/122508714/posts/9140</p>
<p>&nbsp;</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bendersonsblog.wordpress.com">CS@Worcester – Benderson&amp;#039;s Blog</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Benderson&#039;s Blog">Benderson's Blog</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/92b2fa9f0346c80d9ca745c7c9a16d54?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">9541</post-id>	</item>
		<item>
		<title>Intro – CS 448</title>
		<link>https://kwameo.wordpress.com/2018/01/18/intro-cs-448/</link>
		
		<dc:creator><![CDATA[Abranti3 Dada Kay]]></dc:creator>
		<pubDate>Thu, 18 Jan 2018 17:32:06 +0000</pubDate>
				<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[CS448]]></category>
		<category><![CDATA[Week 1]]></category>
		<category><![CDATA[week1]]></category>
		<guid isPermaLink="false">http://kwameo.wordpress.com/?p=83</guid>

					<description><![CDATA[Hello Everyone in Cs-448  !
My name is Kwame ofori and i am really looking forward to this class and getting some real world experiences. I believe experience is the best teacher so i am ready to learn !
&#160;
&#160;
]]></description>
										<content:encoded><![CDATA[<p>Hello Everyone in Cs-448  !</p>
<p>My name is Kwame ofori and i am really looking forward to this class and getting some real world experiences. I believe experience is the best teacher so i am ready to learn !</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://kwameo.wordpress.com">CS@Worcester – Le Blog Spot </a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Abranti3 Dada Kay">Abranti3 Dada Kay</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="http://2.gravatar.com/avatar/541e69b5538bd9bf5cf2dd800023ec39?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

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