<?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>artificial-intelligence &#8211; CS@Worcester</title>
	<atom:link href="https://cs.worcester.edu/category/artificial-intelligence/feed/" rel="self" type="application/rss+xml" />
	<link>https://cs.worcester.edu</link>
	<description>Worcester State University Computer Science Department</description>
	<lastBuildDate>Thu, 11 Dec 2025 04:38:03 +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>Understanding Technical Debt: Why It Actually Matters More Than We Think</title>
		<link>https://circuitstar.wordpress.com/2025/12/10/understanding-technical-debt-why-it-actually-matters-more-than-we-think/</link>
		
		<dc:creator><![CDATA[Queenstar Kyere Gyamfi]]></dc:creator>
		<pubDate>Thu, 11 Dec 2025 04:38:03 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Week-15]]></category>
		<category><![CDATA[Writing]]></category>
		<guid isPermaLink="false">http://circuitstar.wordpress.com/?p=32</guid>

					<description><![CDATA[When I first heard the phrase “technical debt,” I honestly thought it was just a fancy developer way of saying “bad code.” But after reading Atlassian’s article “Technical Debt: What It Is and How to Manage It,” I realized it’s way deeper than that. The article explains technical debt as the cost of choosing a […]]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-image size-large"><img data-recalc-dims="1" fetchpriority="high" decoding="async" data-attachment-id="33" data-permalink="https://cs.worcester.edu/cropped-csheader-jpg-3/" data-orig-file="https://i0.wp.com/cs.worcester.edu/wp-content/uploads/2011/12/cropped-csheader.jpg?fit=940%2C198&amp;ssl=1" data-orig-size="940,198" data-comments-opened="0" 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;}" data-image-title="cropped-csheader.jpg" data-image-description="&lt;p&gt;http://10.33.2.16/wp-content/uploads/2011/12/cropped-csheader.jpg&lt;/p&gt;
" data-image-caption="" data-medium-file="https://i0.wp.com/cs.worcester.edu/wp-content/uploads/2011/12/cropped-csheader.jpg?fit=300%2C63&amp;ssl=1" data-large-file="https://i0.wp.com/cs.worcester.edu/wp-content/uploads/2011/12/cropped-csheader.jpg?fit=625%2C132&amp;ssl=1" width="625" height="362" data-attachment-id="33" data-permalink="https://circuitstar.wordpress.com/2025/12/10/understanding-technical-debt-why-it-actually-matters-more-than-we-think/image-4/" data-orig-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png" data-orig-size="1459,845" 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="image" data-image-description="" data-image-caption="" data-medium-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png?w=300" data-large-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png?w=1024" src="https://i0.wp.com/circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png?resize=625%2C362&#038;ssl=1" alt="" class="wp-image-33" srcset="https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png?w=1024 1024w, https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png?w=150 150w, https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png?w=300 300w, https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png?w=768 768w, https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png?w=1440 1440w, https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png 1459w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>When I first heard the phrase “technical debt,” I honestly thought it was just a fancy developer way of saying “bad code.” But after reading Atlassian’s article <em>“Technical Debt: What It Is and How to Manage It,”</em> I realized it’s way deeper than that. The article explains technical debt as the cost of choosing a quick solution now instead of a cleaner, long-term one. This can come from rushing to meet deadlines, adding features without proper planning, skipping tests, or even just writing code before fully understanding the problem. What I liked about this resource is that it breaks the topic down in a way that makes sense, showing how debt doesn’t always come from laziness, sometimes it’s just the reality of working in fast-paced software development.</p>
<p>I picked this article because technical debt is something we’ve basically been talking about throughout CS-348, even if we didn’t always call it that. Whether it’s writing maintainable code, designing clean architecture, or keeping up with version control, everything connects back to avoiding unnecessary debt. I’ve heard instructors and even classmates say, “We’ll fix that later,” and this article made me understand the impact behind that mindset. It stood out to me because it not only defined the problem but walked through how teams can recognize debt early and avoid letting it build up until it becomes overwhelming.</p>
<p>Reading this article made me realize how much technical debt affects the entire development process, not just the code. It slows teams down, creates frustration, and makes simple tasks more complicated than they should be. One part that hit me was how the article described debt snowballing over time. It reminded me of school assignments: if you ignore a confusing part early on, it always comes back to make the whole project harder. Another point I loved was the idea of being honest about debt instead of acting like it doesn’t exist. Communication is a big deal in development, and the article made that very clear.</p>
<p>Moving forward, I’m definitely going to be more intentional about how I write and manage code. Instead of rushing through things just to “get it done,” I want to slow down and think about how my decisions today could affect future work, both for me and for anyone else who touches the code. Good documentation, regular refactoring, testing early, and asking questions when something feels off are all habits I want to bring into my future career. Understanding technical debt helped me see software development as a long game, and being aware of these trade-offs will help me build better, cleaner projects in the future.</p>
<p>Source:</p>
<p><a href="https://www.atlassian.com/agile/software-development/technical-debt">https://www.atlassian.com/agile/software-development/technical-debt</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://circuitstar.wordpress.com">CS@Worcester – Circuit Star | Tech &amp;amp; Business Insights</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Queenstar Kyere Gyamfi">Queenstar Kyere Gyamfi</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/50aaa40ed486c6d8d758a5598e2630229b51f7cc77b541fa40e4b3d9583b7c74?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://circuitstar.wordpress.com/wp-content/uploads/2025/12/image.png?w=1024" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">46419</post-id>	</item>
		<item>
		<title>Choosing the Right Open Source License</title>
		<link>https://christianjnr49.wordpress.com/2025/11/21/choosing-the-right-open-source-license/</link>
		
		<dc:creator><![CDATA[Christian Oboh]]></dc:creator>
		<pubDate>Fri, 21 Nov 2025 15:44:03 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[Blog-Quarter-4]]></category>
		<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://christianjnr49.wordpress.com/?p=40</guid>

					<description><![CDATA[Choose an open source license For this week’s self-directed professional development, I explored the topic of choosing open source licenses, which is a fundamental but often overlooked part of releasing software. I based my reading on ChooseALicense.com and supporting resources that explain how permissive licenses, copyleft licenses, and public domain-style licenses differ. What I found […]]]></description>
										<content:encoded><![CDATA[<p> <a href="https://choosealicense.com/">Choose an open source license</a></p>
<p>For this week’s self-directed professional development, I explored the topic of choosing open source licenses, which is a fundamental but often overlooked part of releasing software. I based my reading on <em>ChooseALicense.com</em> and supporting resources that explain how permissive licenses, copyleft licenses, and public domain-style licenses differ. What I found most interesting is how a license doesn’t just define legal rules — it reflects the values, intentions, and goals of a developer or a team. Software licensing shapes how a project evolves, how a community forms, and how contributions are handled over time.</p>
<p>Open source licenses fall into a few broad categories. Permissive licenses like MIT or Apache 2.0 give users almost complete freedom to reuse the code, even in closed-source commercial products. Copyleft licenses like GPL ensure that any derivative work must remain open source under the same license. And options like the Unlicense or CC0 place code essentially in the public domain, allowing anyone to use it with zero restrictions. Before this week, I assumed licensing was just a legal formality, but now I understand how strongly each license type influences collaboration and long-term project direction.</p>
<p>I chose this topic because licensing is directly connected to the work we do in Software Process, especially when we talk about transparency, collaboration, and project ownership. As future developers, we will eventually publish our own tools, libraries, or contributions. Knowing how to license our work is part of being a responsible member of the open source community. Many people assume that posting code publicly means anyone can use it, but without a license, <em>nobody</em> can legally copy, modify, or reuse it. That detail alone made this topic worth exploring, and it helped me rethink how important explicit permissions are.</p>
<p>One thing I learned is that choosing a license is really about choosing a philosophy. If a developer wants to share knowledge broadly, enable commercial use, and reduce friction for adoption, a permissive license makes sense. If the goal is to ensure the code stays free for everyone and cannot be closed off by others, a copyleft license protects that intention. The reading made me think carefully about what I would want if I released a personal project. Personally, I lean toward permissive licenses because I want people to build on my work without worrying about legal constraints. But I also understand why larger community-focused projects might choose GPL to preserve openness.</p>
<p>Going forward, I expect licensing to be something I pay more attention to in both school projects and professional work. As software engineers, we’re not just writing code; we’re shaping how others can interact with it. Licensing is part of that responsibility. This topic helped me better appreciate the intersection between technology, ethics, creativity, and law — and it reminded me that releasing software is more than just pushing code to GitHub; it’s about defining how that code fits into the larger ecosystem of open source development.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://christianjnr49.wordpress.com">CS@Worcester – Life of Chris</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Christian Oboh">Christian Oboh</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://christianjnr49.wordpress.com/wp-content/uploads/2025/11/image-1.png" length="0" type="" />
<enclosure url="https://1.gravatar.com/avatar/d611543dbac443f99a7714e28d4c7f362728a9e13570ae753ec4a06a470343d6?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">45059</post-id>	</item>
		<item>
		<title>Version Control: Why It Matters in Software Development</title>
		<link>https://circuitstar.wordpress.com/2025/11/16/version-control-why-it-matters-in-software-development/</link>
		
		<dc:creator><![CDATA[Queenstar Kyere Gyamfi]]></dc:creator>
		<pubDate>Mon, 17 Nov 2025 01:43:32 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Week12]]></category>
		<guid isPermaLink="false">http://circuitstar.wordpress.com/?p=26</guid>

					<description><![CDATA[Version control is something I’ve used before in classes, but I never fully understood its importance until I read the Atlassian article, “What is Version Control?” (https://www.atlassian.com/git/tutorials/what-is-version-control). I selected this resource because Atlassian explains technical concepts in a way that feels practical and industry-focused, which fits perfectly with what we are learning in CS-348. Since […]]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="625" height="338" data-attachment-id="28" data-permalink="https://circuitstar.wordpress.com/2025/11/16/version-control-why-it-matters-in-software-development/image-3/" data-orig-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png" data-orig-size="1468,793" 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="image" data-image-description="" data-image-caption="" data-medium-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png?w=300" data-large-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png?w=1024" src="https://i0.wp.com/circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png?resize=625%2C338&#038;ssl=1" alt="" class="wp-image-28" srcset="https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png?w=1024 1024w, https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png?w=150 150w, https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png?w=300 300w, https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png?w=768 768w, https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png?w=1440 1440w, https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png 1468w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Version control is something I’ve used before in classes, but I never fully understood its importance until I read the Atlassian article, <em>“What is Version Control?”</em> (<a href="https://www.atlassian.com/git/tutorials/what-is-version-control?utm_source=chatgpt.com">https://www.atlassian.com/git/tutorials/what-is-version-control</a>). I selected this resource because Atlassian explains technical concepts in a way that feels practical and industry-focused, which fits perfectly with what we are learning in CS-348. Since this course emphasizes collaboration, documentation, project organization, and professional tools, I wanted to learn more about how version control actually supports real-world software development.</p>
<p>The article defines version control as the practice of tracking and managing changes to code. What stood out to me is that version control isn’t just for “saving work”, it’s a full system that captures every change, who made it, when it was made, and why. Atlassian highlights how this creates a long-term project history that developers can search through, compare, or revert. This directly connects to our CS-348 topics like software maintenance, project management, documentation standards, and team collaboration, because version control supports all of these practices behind the scenes.</p>
<p>The resource also explains how version control allows teams to work on separate branches, make experimental changes, fix bugs, or build features without interfering with one another. This connected with my experience in this course because when we work on group projects or assignments, version control prevents us from overwriting each other&#8217;s work. The article also discusses merge conflicts, and reading about it made me feel better about the moments when I’ve run into conflicts myself. Instead of seeing them as mistakes, the article made me realize they are a normal part of teamwork and software development.</p>
<p>One major takeaway for me was the idea of traceability. Every commit tells a story, not just about the code, but about decisions, goals, and teamwork. This encouraged me to treat commit messages more seriously so that my future teammates (or even future me) can understand the purpose behind changes. The article made me realize that version control isn’t just a technical tool; it is a communication tool. This is something I didn’t appreciate before reading it.</p>
<p>This resource affected how I view my future practice because version control is required in almost every professional software environment. Reading about how teams rely on it to avoid lost work, manage parallel development, and maintain high-quality software helped me understand why CS-348 emphasizes collaboration tools, project organization, and documentation. Going forward, I plan to use branching more intentionally, commit more frequently, and write clearer commit messages. I also want to apply what I learned outside of class by using version control for my personal and club-related tech projects.</p>
<p>Overall, this article helped me connect the technical skills we practice in CS-348 to how real development teams work. It showed me that version control supports not just code, but communication, teamwork, and professionalism — all skills I want to continue developing.</p>
<h3 class="wp-block-heading">Source</h3>
<p>Atlassian. <em>What is version control</em>. Retrieved from <a href="https://www.atlassian.com/git/tutorials/what-is-version-control?utm_source=chatgpt.com">https://www.atlassian.com/git/tutorials/what-is-version-control</a></p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://circuitstar.wordpress.com">CS@Worcester – Circuit Star | Tech &amp;amp; Business Insights</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Queenstar Kyere Gyamfi">Queenstar Kyere Gyamfi</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/50aaa40ed486c6d8d758a5598e2630229b51f7cc77b541fa40e4b3d9583b7c74?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://circuitstar.wordpress.com/wp-content/uploads/2025/11/image.png?w=1024" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">44429</post-id>	</item>
		<item>
		<title>Understanding Design Patterns: Creational, Structural, and Behavioral</title>
		<link>https://insightsbyricktechblog.wordpress.com/2025/10/28/understanding-design-patterns-creational-structural-and-behavioral/</link>
		
		<dc:creator><![CDATA[RickDjouwe1]]></dc:creator>
		<pubDate>Tue, 28 Oct 2025 19:41:24 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Worcester State RD]]></category>
		<guid isPermaLink="false">http://insightsbyricktechblog.wordpress.com/?p=82</guid>

					<description><![CDATA[Hello everyone, and welcome to my blog entry for this week! Technically, not a blog entry since I am just re-doing the one, I previously posted. Last weekend, I listened to the podcast from the Coding Blocks Podcast (codingblocks.net). I’ve always been curious about how experienced developers structure their code to make it easier to […]]]></description>
										<content:encoded><![CDATA[</p>
<p>Hello everyone, and welcome to my blog entry for this week! Technically, not a blog entry since I am just re-doing the one, I previously posted. </p>
<p>Last weekend, I listened to the podcast from the <strong>Coding Blocks Podcast</strong> (<a href="https://www.codingblocks.net/?s=design+patterns">codingblocks.net</a>). I’ve always been curious about how experienced developers structure their code to make it easier to maintain and scale, so this seemed like the perfect topic to explore. The episode focused on <strong>design patterns</strong>, specifically the three main categories<strong>:</strong> Creational, Structural, and Behavioral<strong>.</strong> Listening to it gave me a new appreciation for how these patterns help solve common software design problems and make codebases more adaptable over time.</p>
<h3 class="wp-block-heading">Summary of the Podcast</h3>
<p>The episode, which runs for about 50 minutes, features developers Michael Outlaw, Joe Zack, and Allen Underwood discussing how design patterns provide reusable solutions to recurring challenges in software development. They describe <strong>Creational patterns</strong> as those that handle object creation in a flexible way, <strong>Structural patterns</strong> as those that organize and relate classes and objects, and <strong>Behavioral patterns</strong> as those that define how objects communicate and share responsibilities.</p>
<p>They shared several examples, such as the <em>Factory Method</em> (a Creational pattern used to create objects without specifying exact classes), the <em>Adapter</em> (a Structural pattern that allows incompatible interfaces to work together), and the <em>Observer</em> (a Behavioral pattern that lets one object notify others when its state changes). What I liked most was how the hosts emphasized that patterns aren’t rigid rules, they’re practical tools developers use to make their code more consistent and easier to maintain.</p>
<h3 class="wp-block-heading">Why I Selected This Resource</h3>
<p>I chose this podcast because I wanted to deepen my understanding of how large software systems are organized. I’ve often heard about design patterns being essential for professional software engineering, but I never had a clear idea of how they were actually applied. The podcast stood out because it explained patterns in an approachable way, connecting them to real-world examples like GUI systems, game engines, and web frameworks. It helped me see that these patterns appear everywhere from database connections to event handling, and that learning them is key to writing scalable, professional-grade code.</p>
<h3 class="wp-block-heading">Personal Reflections: What I Learned</h3>
<p>After listening, I realized that design patterns are really about <strong>thinking ahead</strong>.</p>
<ul class="wp-block-list">
<li><strong>Creational patterns</strong> reminded me that object creation should be flexible, not hard-coded.</li>
<li><strong>Structural patterns</strong> showed me how organizing relationships properly can make systems easier to extend.</li>
<li><strong>Behavioral patterns</strong> highlighted the importance of communication between objects and how good design reduces dependencies.</li>
</ul>
<p>What stood out to me most was how design patterns encourage better decision-making. They don’t just make code work, they make it <em>work better</em> over time.</p>
<h3 class="wp-block-heading">Application to Future Practice</h3>
<p>Moving forward, I plan to start identifying patterns in the code I write. I want to experiment with the <em>Singleton</em> pattern for managing shared resources, like configuration files, and use the <em>Strategy</em> pattern when implementing algorithms that can be swapped dynamically. Understanding these patterns will help me approach programming challenges with more structure and confidence, and will prepare me for real-world software development where scalability and design quality matter most.</p>
<h3 class="wp-block-heading">Citation / Link</h3>
<p>Outlaw, Michael; Zack, Joe; and Underwood, Allen. <em>Design Patterns Explained.</em> Coding Blocks Podcast, 2019. Available online at <a href="https://www.codingblocks.net/?s=design+patterns">codingblocks.net</a>.</p>
<p>This podcast helped me see how <strong>Creational</strong>, <strong>Structural</strong>, and <strong>Behavioral design patterns</strong> provide a common language for building better software. Listening to it last weekend gave me new insights into how thoughtful design decisions can make a project more flexible, maintainable, and ready for growth.</p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://insightsbyricktechblog.wordpress.com">CS@Worcester – Rick’s Software Journal</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by RickDjouwe1">RickDjouwe1</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/a3486a7b164991dea0eb63c4cc4b2941a45c7aa9d8582e1295c3cc62b5b430f4?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">43183</post-id>	</item>
		<item>
		<title>Testing Smarter, Not Harder: What I Learned About Software Testing</title>
		<link>https://circuitstar.wordpress.com/2025/10/26/testing-smarter-not-harder-what-i-learned-about-software-testing/</link>
		
		<dc:creator><![CDATA[Queenstar Kyere Gyamfi]]></dc:creator>
		<pubDate>Sun, 26 Oct 2025 20:34:03 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[Blog2]]></category>
		<category><![CDATA[chatgpt]]></category>
		<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://circuitstar.wordpress.com/?p=19</guid>

					<description><![CDATA[by: Queenstar Kyere Gyamfi For my second self-directed professional development blog, I read an article from freeCodeCamp titled What is Software Testing? A Beginner’s Guide. The post explains what software testing really is, why it’s essential in the development process, and breaks down the different types of testing that developers use to make sure software […]]]></description>
										<content:encoded><![CDATA[<p>by: Queenstar Kyere Gyamfi</p>
<p>For my second self-directed professional development blog, I read an article from freeCodeCamp titled <a href="https://www.freecodecamp.org/news/software-testing-beginners-guide/?utm_source=chatgpt.com"><em>What is Software Testing? A Beginner’s Guide</em></a>. The post explains what software testing really is, why it’s essential in the development process, and breaks down the different types of testing that developers use to make sure software works as intended.</p>
<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="625" height="236" data-attachment-id="21" data-permalink="https://circuitstar.wordpress.com/2025/10/26/testing-smarter-not-harder-what-i-learned-about-software-testing/image-2/" data-orig-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png" data-orig-size="2560,966" 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="image" data-image-description="" data-image-caption="" data-medium-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?w=300" data-large-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?w=1024" src="https://i0.wp.com/circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?resize=625%2C236&#038;ssl=1" alt="" class="wp-image-21" srcset="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?w=1024 1024w, https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?w=2048 2048w, https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?w=150 150w, https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?w=300 300w, https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?w=768 768w, https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>The article starts with a simple but powerful definition: testing is the process of making sure your software works the way it should. It then describes several types of testing like unit, integration, system, and acceptance testing and explains how each one focuses on different levels of a program. It also introduces core testing principles such as “testing shows the presence of defects, not their absence” and “exhaustive testing is impossible.” Those ideas really stood out to me because they show that testing isn’t about proving perfection it’s about discovering what still needs to be improved.</p>
<p>I chose this article because, as a computer science student and IT/helpdesk worker, I deal with troubleshooting and debugging almost daily. I’ve always seen testing as something that happens after coding, but this article completely changed that mindset. It made me realize that testing is an ongoing part of development, not a one-time task before deployment. It’s a process that ensures software is not only functional but also reliable for real users.</p>
<p>What I found most interesting was how the author connected testing to collaboration and communication. Writing good test cases is like writing good documentation, it helps other developers understand what the software should do. The idea of “testing early and often” also makes a lot of sense. By catching issues early in the process, developers can save time, reduce costs, and prevent bigger headaches later on.</p>
<p>Reading this made me reflect on my own coding habits. I’ve had moments in class where my code worked “most of the time,” but I didn’t always test for edge cases or unexpected inputs. Moving forward, I plan to write more tests for my own projects, even simple ones. Whether it’s a class assignment, a group project, or a personal program, I now see testing as a chance to build confidence in my work and improve how I think about quality.</p>
<p>Overall, this article helped me understand that software testing isn’t just about finding bugs it’s about building better software. It’s a mindset that values curiosity, patience, and teamwork. By applying these lessons, I’ll be better prepared not only to write code that works but to deliver software that lasts.</p>
<p>***The link to the article is in the first paragraph***</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://circuitstar.wordpress.com">CS@Worcester – Circuit Star | Tech &amp;amp; Business Insights</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Queenstar Kyere Gyamfi">Queenstar Kyere Gyamfi</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/50aaa40ed486c6d8d758a5598e2630229b51f7cc77b541fa40e4b3d9583b7c74?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image-1.png?w=1024" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">42927</post-id>	</item>
		<item>
		<title>From UML to Design Patterns: Refactoring the Duck Simulator</title>
		<link>https://insightsbyricktechblog.wordpress.com/2025/10/11/from-uml-to-design-patterns-refactoring-the-duck-simulator/</link>
		
		<dc:creator><![CDATA[RickDjouwe1]]></dc:creator>
		<pubDate>Sun, 12 Oct 2025 03:31:05 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Quarter-2]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[Week 1]]></category>
		<category><![CDATA[Worcester State RD]]></category>
		<guid isPermaLink="false">http://insightsbyricktechblog.wordpress.com/?p=71</guid>

					<description><![CDATA[Hello everyone, welcome back to my blog! In my previous post, I explored object-oriented design basics and the importance of UML diagrams for understanding class relationships. This week, I applied that knowledge to a practical assignment by refactoring the Duck Simulator project using several design patterns, and I want to share what I learned from […]]]></description>
										<content:encoded><![CDATA[</p>
<p>Hello everyone, welcome back to my blog! In my previous post, I explored object-oriented design basics and the importance of UML diagrams for understanding class relationships. This week, I applied that knowledge to a practical assignment by refactoring the Duck Simulator project using several design patterns, and I want to share what I learned from the process.</p>
<h3 class="wp-block-heading">Introduction</h3>
<p>UML diagrams provide a visual blueprint for software systems, helping developers understand relationships, dependencies, and responsibilities of different classes. While useful on their own, combining UML with <strong>design patterns</strong> allows us to translate those visual models into flexible, reusable, and maintainable code. In the Duck Simulator project, I used UML to identify repetitive behavior and then applied <strong>Strategy, Singleton, and Factory patterns</strong> to improve the system’s design.</p>
<h3 class="wp-block-heading">Using UML to Identify Problems</h3>
<p>Originally, the Duck Simulator consisted of an abstract <code>Duck</code> class and subclasses like <code>MallardDuck</code>, <code>RedHeadDuck</code>, <code>RubberDuck</code>, and <code>DecoyDuck</code>. Each duck implemented its own <code>fly</code> and <code>quack</code> methods. My UML class diagram made it clear that this design was repetitive: multiple subclasses had similar or identical behaviors. This repetition violates the <strong>DRY (Don&#8217;t Repeat Yourself)</strong> principle and makes the system harder to maintain or extend. The diagrams highlighted the exact areas where behavior abstraction could be applied, providing a clear roadmap for refactoring.</p>
<h3 class="wp-block-heading">Applying the Strategy Pattern</h3>
<p>The first refactor I implemented was the <strong>Strategy Pattern</strong>, which separates the <code>fly</code> and <code>quack</code> behaviors into <code>FlyBehavior</code> and <code>QuackBehavior</code> interfaces. Each duck is assigned a behavior object rather than hard-coding methods. Using UML, I could visualize how <code>Duck</code> classes now <em>depend on behavior interfaces</em>, not concrete implementations. For example, <code>RubberDuck</code> now uses the <code>Squeak</code> behavior, and <code>DecoyDuck</code> uses <code>MuteQuack</code>. This change made it easy to swap behaviors dynamically and reduced duplicated code across subclasses.</p>
<h3 class="wp-block-heading">Using the Singleton Pattern</h3>
<p>Next, I noticed that all ducks shared identical behaviors like <code>FlyWithWings</code> and <code>Quack</code>. To avoid creating multiple unnecessary instances, I applied the <strong>Singleton Pattern</strong>. UML helped illustrate that each behavior class has a static <code>instance</code> and a <code>getInstance()</code> method. This ensured that ducks reused the same behavior object, saving memory and improving consistency.</p>
<h3 class="wp-block-heading">Implementing the Simple Factory Pattern</h3>
<p>Finally, I created a <strong>DuckFactory</strong> to centralize the creation of ducks with their associated behaviors. UML shows a clear dependency from the simulator to the factory, encapsulating construction logic and removing manual behavior assignments in the simulator. This simplified code maintenance and improved readability, while maintaining all Strategy and Singleton benefits.</p>
<h3 class="wp-block-heading">Reflection</h3>
<p>This assignment reinforced how UML and design patterns complement each other. The diagrams helped me <em>see</em> problems in the design, and patterns provided proven solutions. After completing the refactor, the Duck Simulator is now modular, maintainable, and extensible. I can confidently add new duck types or behaviors without touching existing code. Personally, I learned that UML isn’t just documentation, it’s a tool that guides better design and code structure.</p>
<p><strong>Resources</strong></p>
<p>While exploring this assignment, I also reviewed a great resource that breaks down the concepts from <em>Head First Design Patterns</em> in a clear and structured way. You can find it <a href="https://github.com/pkardas/notes/blob/master/books/head-first-design-patterns/notes.md">here on GitHub</a>. It helped me connect UML representations with real-world code implementations, especially when applying the Strategy Pattern in my Duck Simulator project.</p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://insightsbyricktechblog.wordpress.com">CS@Worcester – Rick’s Software Journal</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by RickDjouwe1">RickDjouwe1</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/a3486a7b164991dea0eb63c4cc4b2941a45c7aa9d8582e1295c3cc62b5b430f4?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">41968</post-id>	</item>
		<item>
		<title>Reflection on “Coding Standards and Guidelines”</title>
		<link>https://circuitstar.wordpress.com/2025/10/05/reflection-on-coding-standards-and-guidelines/</link>
		
		<dc:creator><![CDATA[Queenstar Kyere Gyamfi]]></dc:creator>
		<pubDate>Mon, 06 Oct 2025 00:25:56 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Writing]]></category>
		<guid isPermaLink="false">http://circuitstar.wordpress.com/?p=13</guid>

					<description><![CDATA[by: Queenstar Kyere Gyamfi The GeeksforGeeks article “Coding Standards and Guidelines” highlights the importance of writing code that is clean and consistent. It also underlines the need for code that is easy to understand. It explains that coding standards are a set of rules and conventions that help developers maintain clarity and quality across a […]]]></description>
										<content:encoded><![CDATA[<p style="border-radius:0px">by: Queenstar Kyere Gyamfi</p>
<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" data-attachment-id="15" data-permalink="https://cs.worcester.edu/cropped-csheader-jpg/" data-orig-file="https://i0.wp.com/cs.worcester.edu/wp-content/uploads/2011/12/cropped-csheader.jpg?fit=940%2C198&amp;ssl=1" data-orig-size="940,198" data-comments-opened="0" 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;}" data-image-title="cropped-csheader.jpg" data-image-description="&lt;p&gt;http://10.33.2.16/wp-content/uploads/2011/12/cropped-csheader.jpg&lt;/p&gt;
" data-image-caption="" data-medium-file="https://i0.wp.com/cs.worcester.edu/wp-content/uploads/2011/12/cropped-csheader.jpg?fit=300%2C63&amp;ssl=1" data-large-file="https://i0.wp.com/cs.worcester.edu/wp-content/uploads/2011/12/cropped-csheader.jpg?fit=625%2C132&amp;ssl=1" width="300" height="168" data-attachment-id="15" data-permalink="https://circuitstar.wordpress.com/2025/10/05/reflection-on-coding-standards-and-guidelines/image/" data-orig-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image.png" data-orig-size="300,168" 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="image" data-image-description="" data-image-caption="" data-medium-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image.png?w=300" data-large-file="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image.png?w=300" src="https://i0.wp.com/circuitstar.wordpress.com/wp-content/uploads/2025/10/image.png?resize=300%2C168&#038;ssl=1" alt="" class="wp-image-15" style="width:671px;height:auto" srcset="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image.png 300w, https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image.png?w=150 150w" sizes="auto, (max-width: 300px) 100vw, 300px" /></figure>
<p style="border-radius:0px">The GeeksforGeeks article <em>“Coding Standards and Guidelines”</em> highlights the importance of writing code that is clean and consistent. It also underlines the need for code that is easy to understand. It explains that coding standards are a set of rules and conventions that help developers maintain clarity and quality across a project. These standards cover areas such as naming conventions, indentation, code structure, comments, and documentation. The article emphasizes that following standards is not about limiting creativity. It is about making sure that everyone working on a project can easily read and maintain the code. It also points out that coding guidelines help prevent errors. They make debugging easier. They ensure that software projects remain manageable as they grow.</p>
<p>I chose this resource because I’ve noticed how quickly group projects can become messy. Each person having a different coding style contributes to this messiness. I’ve always cared about writing code that works. I&#8217;ve started realizing that how the code <em>looks</em> and <em>reads</em> is just as important. This is especially true in team environments. This article stood out to me because it clearly explained the purpose behind coding standards.</p>
<p>One key lesson I learned from this article is that consistency builds trust among developers. When everyone follows the same structure, it becomes easier to understand, review, and modify code written by others. The article also reinforced the idea that good code should be self-explanatory. For example, meaningful variable names like <code>totalPrice</code> or <code>userCount</code> communicate intent better than short, unclear ones like <code>x</code> or <code>val</code>. I also learned how proper indentation and spacing make code more readable and reduce the risk of logic errors that come from misaligned statements or missing braces.</p>
<p>Reading this resource made me reflect on my own coding habits. Sometimes, when I’m rushing to finish an assignment, I skip comments or mix naming styles without thinking about how confusing it might be later. Now, I see that writing clean code is an investment as it saves time when debugging and helps others understand what I meant. I also want to use tools like linters and formatters to automatically enforce standards in my projects.</p>
<p>Overall, this article helped me understand that coding standards are not about perfection but they are about communication. Clean, organized code reflects professionalism and respect for the next person who will read it. It reminded me that in software process management, technical skills and teamwork go hand in hand. Writing code that others can easily follow is one of the best ways to contribute to a project’s long-term success.</p>
<p><strong>LINK TO RESOURCE:</strong></p>
<p><a href="https://www.geeksforgeeks.org/software-engineering/coding-standards-and-guidelines/">https://www.geeksforgeeks.org/software-engineering/coding-standards-and-guidelines/</a></p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://circuitstar.wordpress.com">CS@Worcester – Circuit Star | Tech &amp;amp; Business Insights</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Queenstar Kyere Gyamfi">Queenstar Kyere Gyamfi</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/50aaa40ed486c6d8d758a5598e2630229b51f7cc77b541fa40e4b3d9583b7c74?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://circuitstar.wordpress.com/wp-content/uploads/2025/10/image.png?w=300" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">41631</post-id>	</item>
		<item>
		<title>Week 15</title>
		<link>https://dcastillo54.wordpress.com/2024/12/17/week-15-2/</link>
		
		<dc:creator><![CDATA[dcastillo360]]></dc:creator>
		<pubDate>Wed, 18 Dec 2024 04:44:22 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[CS-343]]></category>
		<category><![CDATA[cs-wsu]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Week-15]]></category>
		<guid isPermaLink="false">http://dcastillo54.wordpress.com/?p=62</guid>

					<description><![CDATA[Working inside the backend made me curious about people’s real-life experiences working in their company’s backend. I found articles about the backend but have yet to gain experience working inside it. It would be helpful to get insight into someone’s real-life experiences. By seeing others’ experiences you can learn from them and avoid any mistakes […]]]></description>
										<content:encoded><![CDATA[<p>Working inside the backend made me curious about people&#8217;s real-life experiences working in their company&#8217;s backend. I found articles about the backend but have yet to gain experience working inside it. It would be helpful to get insight into someone&#8217;s real-life experiences. By seeing others&#8217; experiences you can learn from them and avoid any mistakes they made starting. Many beginner mistakes are big headaches when they happen, but if someone else can stop you from making them, it will be a huge lifesaver. We learn sometimes the hard way but the biggest help to prevent this is to learn from other paths. Some may think it better to go in blind I think differently. Being prepared for me is always the better option</p>
<p>Blessings James starts the article by advising readers that starting it may be difficult but to trust the process because the feeling after you accomplish your task is another feeling entirely. Her favorite project was working on a to-do list application with a backend using Python. It was difficult for her to work while also being data efficient. By doing research she was able to find a scalable model that worked. She also discovered some libraries including Flask-login that would do a lot of the heavy lifting. This was key for security which is often overlooked. Debugging is always a problem that comes up but she was able to gracefully fix them. API design was also a key feature wired on but swagger made it a lot easier.&nbsp;</p>
<p>Reading this article gave me a lot of insight into someone working in the backend for a real company. There were some similarities to what were doing now including swagger. Swagger seems like the for the API design. We haven&#8217;t used all the features of Swagger but using Swagger Preview did help when doing assignments and homework. Our code was automatically able to be seen updated. One thing that interested me was Flask-login. I didn’t know you could use outside libraries but it makes sense if it is open to the public anyone can use it. It can save time by being able to use different libraries and cut your workload by half. Reading that article there was a big emphasis on security and I feel at times is overlooked. You have seen with a lot of companies when it is overlooked the outcomes are drastic. It becoming a bigger issue every day and security should be the first task on everyone&#8217;s list.</p>
<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler">
<div class="wp-block-embed__wrapper">
<a class="m-story" href="https://medium.com/@blessingjames1047/an-article-on-backend-ff90312c05b2"  data-width="500" data-border="1" data-collapsed="">View at Medium.com</a>
</div>
</figure>
<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler">
<div class="wp-block-embed__wrapper">
<a class="m-story" href="https://medium.com/@blessingjames1047/an-article-on-backend-ff90312c05b2"  data-width="500" data-border="1" data-collapsed="">View at Medium.com</a>
</div>
</figure>
<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler">
<div class="wp-block-embed__wrapper">
<a class="m-story" href="https://medium.com/@blessingjames1047/an-article-on-backend-ff90312c05b2"  data-width="500" data-border="1" data-collapsed="">View at Medium.com</a>
</div><figcaption class="wp-element-caption">article</figcaption></figure>
<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler">
<div class="wp-block-embed__wrapper">
<a class="m-story" href="https://medium.com/@blessingjames1047/an-article-on-backend-ff90312c05b2"  data-width="500" data-border="1" data-collapsed="">View at Medium.com</a>
</div>
</figure>
<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler">
<div class="wp-block-embed__wrapper">
<a class="m-story" href="https://medium.com/@blessingjames1047/an-article-on-backend-ff90312c05b2"  data-width="500" data-border="1" data-collapsed="">View at Medium.com</a>
</div><figcaption class="wp-element-caption"><a href="https://medium.com/@blessingjames1047/an-article-on-backend-ff90312c05b2">https://medium.com/@blessingjames1047/an-article-on-backend-ff90312c05b2</a></figcaption></figure>

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

		<post-id xmlns="com-wordpress:feed-additions:1">27308</post-id>	</item>
		<item>
		<title>Connecting “Copyrights in AI” to Copyright and Licensing Homework</title>
		<link>https://softwarediary9.wordpress.com/2024/12/07/connecting-copyrights-in-ai-to-copyright-and-licensing-homework/</link>
		
		<dc:creator><![CDATA[Oanh Nguyen]]></dc:creator>
		<pubDate>Sun, 08 Dec 2024 03:36:48 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[intellectual-property]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Week 13]]></category>
		<guid isPermaLink="false">http://softwarediary9.wordpress.com/?p=64</guid>

					<description><![CDATA[In the rapidly advancing world of artificial intelligence (AI), the intersection of technology and law has become increasingly complex. One of the most pressing legal issues is how copyright laws apply to AI-generated content. This is exactly what the article, “Copyrights in AI: Legal Overview” from HackerNoon offers, the author discusses the implications of copyright […]]]></description>
										<content:encoded><![CDATA[<p>In the rapidly advancing world of artificial intelligence (AI), the intersection of technology and law has become increasingly complex. One of the most pressing legal issues is how copyright laws apply to AI-generated content. This is exactly what the article, <em>“Copyrights in AI: Legal Overview”</em> from HackerNoon offers, the author discusses the implications of copyright laws in the context of AI, focusing on whether AI can be considered an author of creative works, and how this impacts the rights of those who use AI to create content.</p>
<p>The article provides a clear overview of the current state of copyright law as it pertains to AI. Traditionally, copyright laws have protected works created by human authors, but with the rise of AI-generated content, it led me to ask: &#8220;can an AI be considered an author in its own right, or does the copyright belong to the human who programmed the AI, or the user who directed its output?&#8221; I learned that, under current law, AI cannot be considered an author in its own right, and the copyright typically belongs to the human creator or the user of the AI. This reflects a fundamental principle that we explore in our class, especially when considering software licenses. For example, when choosing a license for a software project, it is essential to understand the ownership of contributions and the rights of the contributors.</p>
<p>I selected this resource because the legal implications of AI are an area of particular interest to me, especially as AI continues to grow in influence and application across various industries. In one of my other classes, Computing Ethics, we talked about the ethical responsibilities and legal dilemmas surrounding the use of AI. The context being medical fields or business, how would the use of AI affect the users using it. This article connects those themes by highlighting the legal aspects of AI usage and authorship, which I had not fully considered before. It helped me understand that as AI technology becomes more sophisticated, the law may need to adapt to address new challenges.</p>
<p>By exploring <em>“Copyrights in AI: Legal Overview”</em> and reflecting on the licensing aspects discussed in my homework, I have gained a deeper understanding of how AI-related legal issues intersect with software licensing. In our Copyright and Licensing Homework, we focus on understanding different licensing models and the implications they have on the use and distribution of software so understanding who owns the rights to AI-generated works is critical to deciding how those works can be shared, modified, or distributed. </p>
<p>I expect to apply this knowledge when working with software projects, ensuring that the terms and conditions of any AI tools or systems used are clearly defined. As AI continues to grow in capabilities and its integration into software development increases, I believe this knowledge will be essential to navigating the complex legal landscape.</p>
<p>Link to the resource: <a href="https://hackernoon.com/">HackerNoon article: Copyrights in AI: Legal Overview</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://softwarediary9.wordpress.com">SoftwareDiary</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Oanh Nguyen">Oanh Nguyen</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/07392899a4901e3e35f6dcf345d548e9017ad8ccd4d1fc8a9f97e4fbe5427b13?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">26929</post-id>	</item>
		<item>
		<title>Workflow for a Developer</title>
		<link>https://computersciencebybrandonnjugunabasketballfan.wordpress.com/2024/11/30/workflow-for-a-developer/</link>
		
		<dc:creator><![CDATA[Brandon Njuguna]]></dc:creator>
		<pubDate>Sat, 30 Nov 2024 19:55:50 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://computersciencebybrandonnjugunabasketballfan.wordpress.com/?p=62</guid>

					<description><![CDATA[This week, I came across an post titled “Improving Developer Workflow” on Vercel’s blog, and it caught my attention because I’ve been trying to figure out how developers stay productive while coding. The article dives into different ways to make workflows more efficient, focusing on tools and practices that help developers ship better code faster. […]]]></description>
										<content:encoded><![CDATA[<p><strong><br /></strong>This week, I came across an post titled <a href="https://vercel.com/blog/improving-developer-workflow">“Improving Developer Workflow”</a> on Vercel’s blog, and it caught my attention because I’ve been trying to figure out how developers stay productive while coding. The article dives into different ways to make workflows more efficient, focusing on tools and practices that help developers ship better code faster. Since I’m new to computer science and still figuring out how to work effectively, this post felt super relevant to my learning journey.</p>
<p>The post highlights key aspects of improving developer workflows. It starts by discussing the importance of having fast feedback loops, meaning developers should quickly see the results of their code changes. This post introduces tools like Vercel’s platform, which makes it easy to preview, test, and deploy changes almost instantly. Another focus is on collaboration, emphasizing how tools like GitHub help teams share work and review code seamlessly. It wraps up by stressing the value of automation, like setting up CI/CD pipelines, to reduce repetitive tasks and ensure consistent quality in the codebase.</p>
<p>I chose this post because workflow optimization feels like an essential skill for any developer, even beginners. Sometimes I get stuck on repetitive tasks or wait too long to test my code changes, which can be frustrating. This post seemed like a good way to learn how experienced developers streamline their processes. Also, tools like GitHub and CI/CD were mentioned in class, so I wanted to understand them better.</p>
<p>The main thing I learned is how fast feedback loops can save a lot of time and frustration. For example, using tools like Vercel lets developers instantly preview their changes in a live environment, so they don’t have to guess if their code works. I also learned how CI/CD pipelines automate testing and deployment, which not only saves time but also reduces the risk of errors. I realized that these tools make a developer’s life easier, but they also require some setup and understanding, which I’m excited to learn more about. Another cool takeaway was how much collaboration matters in a developer’s workflow. I’ve used GitHub for simple projects, but the blog post made me realize how powerful it can be when teams use it for pull requests, code reviews, and tracking changes.</p>
<p>This blog post made me want to improve my own workflow by setting up faster feedback systems, even for small projects. I also plan to explore tools like GitHub Actions to try basic automation for testing. In the future, I hope to use these techniques to work more effectively on team projects and avoid common frustrations like repetitive tasks.</p>
<p><strong>Resource:</strong></p>
<p><a href="https://vercel.com/blog/improving-developer-workflow">https://vercel.com/blog/improving-developer-workflow</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://computersciencebybrandonnjugunabasketballfan.wordpress.com">Computer Science From a Basketball Fan</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Brandon Njuguna">Brandon Njuguna</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/3589e174c35a0d65a3313526593ef8d2aab6880abea849b96ab6de8c93cae1e4?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

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