Category Archives: CS-343

KISS

KISS is an American rock band formed in New York City in
1973. The band is known for its elaborate stage shows, which often feature
pyrotechnics, fire breathing, and other special effects, as well as the use of
makeup and costumes by the band members. In all seriousness…

The KISS principle, or Keep It Simple, Stupid, emphasizes
the importance of simplicity in design and systems. By keeping things simple,
you can better understand and meet the needs of customers and create products
that are more user-friendly and effective. In the world of software and
technology, the KISS principle is especially important, as people often have
many options to choose from and may not understand complex technology. By
following KISS, you can build a minimal viable product (MVP) that allows you to
confirm or disprove your hypothesis with minimal work and deliver your product
in a straightforward way that is easier for users to understand. Amazon, for
example, lists the KISS principle as a core leadership principle, stating that
leaders should always find ways to simplify. When designing, it is important to
wireframe religiously, use universally understood concepts, and avoid
distractions. By following KISS, designers and developers can create products
that are more efficient, effective, and user-friendly, and that are easier to
maintain and update over time. The KISS principle is often applied to the
design of systems and user interfaces, as well as to the development of code
and algorithms, to create products that are intuitive and user-friendly.

I selected this
post because I have always been interested in the principles of good design and
how they can be applied to create better code as a result. The KISS principle
is a concept that I have heard of before in other classes and especially in the
Robotics class last semester. I wanted to learn more about this principle and after
reading this post was impressed by the emphasis on simplicity and how it can
lead to better products and user experiences. The post also focused heavily on
real world applications and its outcome which helped me visualize it better. I
found this material to be very informative and made me think about how I can
apply the principles of simplicity and user-friendliness in my own projects and
for other CS classes in the future. I expect to use what I learned from this
resource in my future practice by being mindful of the KISS principle and
always striving to create products that are simple, efficient, and
user-friendly.

 

Source:

https://www.freecodecamp.org/news/keep-it-simple-stupid-how-to-use-the-kiss-principle-in-design/

 

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

KISS

KISS is an American rock band formed in New York City in
1973. The band is known for its elaborate stage shows, which often feature
pyrotechnics, fire breathing, and other special effects, as well as the use of
makeup and costumes by the band members. In all seriousness…

The KISS principle, or Keep It Simple, Stupid, emphasizes
the importance of simplicity in design and systems. By keeping things simple,
you can better understand and meet the needs of customers and create products
that are more user-friendly and effective. In the world of software and
technology, the KISS principle is especially important, as people often have
many options to choose from and may not understand complex technology. By
following KISS, you can build a minimal viable product (MVP) that allows you to
confirm or disprove your hypothesis with minimal work and deliver your product
in a straightforward way that is easier for users to understand. Amazon, for
example, lists the KISS principle as a core leadership principle, stating that
leaders should always find ways to simplify. When designing, it is important to
wireframe religiously, use universally understood concepts, and avoid
distractions. By following KISS, designers and developers can create products
that are more efficient, effective, and user-friendly, and that are easier to
maintain and update over time. The KISS principle is often applied to the
design of systems and user interfaces, as well as to the development of code
and algorithms, to create products that are intuitive and user-friendly.

I selected this
post because I have always been interested in the principles of good design and
how they can be applied to create better code as a result. The KISS principle
is a concept that I have heard of before in other classes and especially in the
Robotics class last semester. I wanted to learn more about this principle and after
reading this post was impressed by the emphasis on simplicity and how it can
lead to better products and user experiences. The post also focused heavily on
real world applications and its outcome which helped me visualize it better. I
found this material to be very informative and made me think about how I can
apply the principles of simplicity and user-friendliness in my own projects and
for other CS classes in the future. I expect to use what I learned from this
resource in my future practice by being mindful of the KISS principle and
always striving to create products that are simple, efficient, and
user-friendly.

 

Source:

https://www.freecodecamp.org/news/keep-it-simple-stupid-how-to-use-the-kiss-principle-in-design/

 

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

KISS

KISS is an American rock band formed in New York City in
1973. The band is known for its elaborate stage shows, which often feature
pyrotechnics, fire breathing, and other special effects, as well as the use of
makeup and costumes by the band members. In all seriousness…

The KISS principle, or Keep It Simple, Stupid, emphasizes
the importance of simplicity in design and systems. By keeping things simple,
you can better understand and meet the needs of customers and create products
that are more user-friendly and effective. In the world of software and
technology, the KISS principle is especially important, as people often have
many options to choose from and may not understand complex technology. By
following KISS, you can build a minimal viable product (MVP) that allows you to
confirm or disprove your hypothesis with minimal work and deliver your product
in a straightforward way that is easier for users to understand. Amazon, for
example, lists the KISS principle as a core leadership principle, stating that
leaders should always find ways to simplify. When designing, it is important to
wireframe religiously, use universally understood concepts, and avoid
distractions. By following KISS, designers and developers can create products
that are more efficient, effective, and user-friendly, and that are easier to
maintain and update over time. The KISS principle is often applied to the
design of systems and user interfaces, as well as to the development of code
and algorithms, to create products that are intuitive and user-friendly.

I selected this
post because I have always been interested in the principles of good design and
how they can be applied to create better code as a result. The KISS principle
is a concept that I have heard of before in other classes and especially in the
Robotics class last semester. I wanted to learn more about this principle and after
reading this post was impressed by the emphasis on simplicity and how it can
lead to better products and user experiences. The post also focused heavily on
real world applications and its outcome which helped me visualize it better. I
found this material to be very informative and made me think about how I can
apply the principles of simplicity and user-friendliness in my own projects and
for other CS classes in the future. I expect to use what I learned from this
resource in my future practice by being mindful of the KISS principle and
always striving to create products that are simple, efficient, and
user-friendly.

 

Source:

https://www.freecodecamp.org/news/keep-it-simple-stupid-how-to-use-the-kiss-principle-in-design/

 

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

KISS

KISS is an American rock band formed in New York City in
1973. The band is known for its elaborate stage shows, which often feature
pyrotechnics, fire breathing, and other special effects, as well as the use of
makeup and costumes by the band members. In all seriousness…

The KISS principle, or Keep It Simple, Stupid, emphasizes
the importance of simplicity in design and systems. By keeping things simple,
you can better understand and meet the needs of customers and create products
that are more user-friendly and effective. In the world of software and
technology, the KISS principle is especially important, as people often have
many options to choose from and may not understand complex technology. By
following KISS, you can build a minimal viable product (MVP) that allows you to
confirm or disprove your hypothesis with minimal work and deliver your product
in a straightforward way that is easier for users to understand. Amazon, for
example, lists the KISS principle as a core leadership principle, stating that
leaders should always find ways to simplify. When designing, it is important to
wireframe religiously, use universally understood concepts, and avoid
distractions. By following KISS, designers and developers can create products
that are more efficient, effective, and user-friendly, and that are easier to
maintain and update over time. The KISS principle is often applied to the
design of systems and user interfaces, as well as to the development of code
and algorithms, to create products that are intuitive and user-friendly.

I selected this
post because I have always been interested in the principles of good design and
how they can be applied to create better code as a result. The KISS principle
is a concept that I have heard of before in other classes and especially in the
Robotics class last semester. I wanted to learn more about this principle and after
reading this post was impressed by the emphasis on simplicity and how it can
lead to better products and user experiences. The post also focused heavily on
real world applications and its outcome which helped me visualize it better. I
found this material to be very informative and made me think about how I can
apply the principles of simplicity and user-friendliness in my own projects and
for other CS classes in the future. I expect to use what I learned from this
resource in my future practice by being mindful of the KISS principle and
always striving to create products that are simple, efficient, and
user-friendly.

 

Source:

https://www.freecodecamp.org/news/keep-it-simple-stupid-how-to-use-the-kiss-principle-in-design/

 

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

KISS

KISS is an American rock band formed in New York City in
1973. The band is known for its elaborate stage shows, which often feature
pyrotechnics, fire breathing, and other special effects, as well as the use of
makeup and costumes by the band members. In all seriousness…

The KISS principle, or Keep It Simple, Stupid, emphasizes
the importance of simplicity in design and systems. By keeping things simple,
you can better understand and meet the needs of customers and create products
that are more user-friendly and effective. In the world of software and
technology, the KISS principle is especially important, as people often have
many options to choose from and may not understand complex technology. By
following KISS, you can build a minimal viable product (MVP) that allows you to
confirm or disprove your hypothesis with minimal work and deliver your product
in a straightforward way that is easier for users to understand. Amazon, for
example, lists the KISS principle as a core leadership principle, stating that
leaders should always find ways to simplify. When designing, it is important to
wireframe religiously, use universally understood concepts, and avoid
distractions. By following KISS, designers and developers can create products
that are more efficient, effective, and user-friendly, and that are easier to
maintain and update over time. The KISS principle is often applied to the
design of systems and user interfaces, as well as to the development of code
and algorithms, to create products that are intuitive and user-friendly.

I selected this
post because I have always been interested in the principles of good design and
how they can be applied to create better code as a result. The KISS principle
is a concept that I have heard of before in other classes and especially in the
Robotics class last semester. I wanted to learn more about this principle and after
reading this post was impressed by the emphasis on simplicity and how it can
lead to better products and user experiences. The post also focused heavily on
real world applications and its outcome which helped me visualize it better. I
found this material to be very informative and made me think about how I can
apply the principles of simplicity and user-friendliness in my own projects and
for other CS classes in the future. I expect to use what I learned from this
resource in my future practice by being mindful of the KISS principle and
always striving to create products that are simple, efficient, and
user-friendly.

 

Source:

https://www.freecodecamp.org/news/keep-it-simple-stupid-how-to-use-the-kiss-principle-in-design/

 

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

KISS

KISS is an American rock band formed in New York City in
1973. The band is known for its elaborate stage shows, which often feature
pyrotechnics, fire breathing, and other special effects, as well as the use of
makeup and costumes by the band members. In all seriousness…

The KISS principle, or Keep It Simple, Stupid, emphasizes
the importance of simplicity in design and systems. By keeping things simple,
you can better understand and meet the needs of customers and create products
that are more user-friendly and effective. In the world of software and
technology, the KISS principle is especially important, as people often have
many options to choose from and may not understand complex technology. By
following KISS, you can build a minimal viable product (MVP) that allows you to
confirm or disprove your hypothesis with minimal work and deliver your product
in a straightforward way that is easier for users to understand. Amazon, for
example, lists the KISS principle as a core leadership principle, stating that
leaders should always find ways to simplify. When designing, it is important to
wireframe religiously, use universally understood concepts, and avoid
distractions. By following KISS, designers and developers can create products
that are more efficient, effective, and user-friendly, and that are easier to
maintain and update over time. The KISS principle is often applied to the
design of systems and user interfaces, as well as to the development of code
and algorithms, to create products that are intuitive and user-friendly.

I selected this
post because I have always been interested in the principles of good design and
how they can be applied to create better code as a result. The KISS principle
is a concept that I have heard of before in other classes and especially in the
Robotics class last semester. I wanted to learn more about this principle and after
reading this post was impressed by the emphasis on simplicity and how it can
lead to better products and user experiences. The post also focused heavily on
real world applications and its outcome which helped me visualize it better. I
found this material to be very informative and made me think about how I can
apply the principles of simplicity and user-friendliness in my own projects and
for other CS classes in the future. I expect to use what I learned from this
resource in my future practice by being mindful of the KISS principle and
always striving to create products that are simple, efficient, and
user-friendly.

 

Source:

https://www.freecodecamp.org/news/keep-it-simple-stupid-how-to-use-the-kiss-principle-in-design/

 

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

Whats Next?

I have had this unhealthy assumption in my mind that CS is just preparing us to just sit at our desk all day and write code for hours upon hours(at least in the industry context). Although, in the cases where this may be true, for those that are in that position, there may be a good chance that they are doing what they enjoy. I don’t see this being the entire case for me. Knowing this, a couple questions and thoughts come to mind; in exploring different roles one can play in the tech industry, where may my own opportunities lie? Can I recognize what I am learning in relation to that, maybe even evaluate how/what I am learning to where I might see myself? Can I map out my career?

I think it is important to ask such questions while taking these CS courses. While asking such questions during the courses I can recognize where my strengths may lie and discover possible passions/interest. I am prone to overthinking(especially with complex ideas) and such practices allow me to step back a little. Going off previously stated questions, there is something about the front-end that is quite alluring to me. Which leads me to an article that I found titled “Exploring the front-end of project management”

Although it doesn’t talk about specific front-end development tools, (a topic in which I would like to look more into) and more so on what comprises the front-end and the role of management, it is a exploration into the front-end, or defined in the paper as the “earliest stages of a project”.  I think that the article is still relevant as we can recognize that the POGIL group work style of the class allows students to be able to work in groups, the prevalence of different roles is to almost simulate the professional setting in which on may work. This style teaches students to be able to work well with others and communicate very complex ideas. I personally find a lot of enjoyment in working in groups and struggling and learning together, specifically; exploring and playing with the different roles from manager to presenter, working through unexpected situations through analysis and modification, and sharing finding with the entire class. From my brief research, the front-end to me seems to be where I can explore not only different roles but explore even more broad experience from different aspects of the tech industry.

On a different note, I made an observation in my last post about the nature of the learning that is done in CS and how topics can connect. I described that connection of topics as niches. I wanted to make a correction and niches may not be the right word. Perhaps, layers, at least in the context of this class I could argue that front-end being a layer in software development is more suitable. If anyone gets what I am trying to say and can find a better way to word it, please let me know.

https://doi.org/10.1080/21573727.2013.775942

From the blog CS@Worcester – Sovibol's Glass Case by Sovibol Keo and used with permission of the author. All other rights reserved by the author.

Blog Week 14 (Token)- Abstraction and Composition

The Two of the fundamental aspects of coding, Abstraction and composition, are discussed thoroughly in this blog as well as the overall impact these processes can have on the code as a whole, we discussed these two towards the beginning of the classes and how they have there rolls in being able to not only code better but to understand and lay out the structure of the code.

At first I didn’t really understand how reducing a problem to its most basic form could help when I need to make code to very Specific actions and work a certain way, however after utilizing those processes in order to simplify the problem, then follow up by building up from those basic models allows me to utilize basic code to solve my more advanced problems. This opened up my thought Process when it came to Writing code as now I could think of all of the previous Projects I had where I had to create multiple objects and set Attributes for each specific one, and now I could seamlessly do it on a larger scale reusing other basic code.

For abstraction, it is the process of reducing all of the but the most important details in the code and leaving all of the extra out, it is important as it all owes for the most basic process to be worked on, and then subsequent work can be delegated to the more advanced versions of that the problem. an Example would be to rather than making multiple functions for different things, we could makes basic function that can be implemented repeatedly and reused. We can look at an example of the duck Project where we looked at different models of these classes and we noticed that certain ducks needed specific flying actions or squeaking actions, so rather than making multiple classes for multiple different types of ducks we made a basic duck class and created specializations for them In order to better the overall structure and reduce clutter. Then the using Composition you may make the connections to the different Objects in order to share information. Using the Duck Project Again, we made different types of ducks with Connections being made to the main Duck class with all of the Parameters, then we made connections for the squeak and Fly behaviors.

The Writer Focus on some key Traits for Good Abstractions, that being Simple, Concise, and Reusable. These are the things to look for when you want to simplify the work you do.

Elliott, Eric. “Abstraction & Composition.” Medium, JavaScript Scene, 28 May 2020, https://medium.com/javascript-scene/abstraction-composition-cb2849d5bdd6.

From the blog cs@worcester – Marels Blog by mbeqo and used with permission of the author. All other rights reserved by the author.

Concurrency

This week I learned about concurrency in software. I read “Concurrent Programming Introduction” by Gowthamy Vaseekaran. Vaseekaran explains what concurrency is in programming as well as its positives and negatives of it. Overall it was an interesting post to read and I think it gave me a better understanding of how computers work.

Vaseekaran starts by explaining concurrency is the ability to run several programs or parts of a program in parallel. This can be a huge benefit for performing a time-consuming task that can be run asynchronously or in parallel. Vaseekaran then goes on to explain the reasons that led to the development of operating systems that allowed multiple programs to execute at the same time.

These factors are resource utilization, fairness, and convenience. Resource utilization is needed because when some programs have to wait for external operations there is downtime that could be used to let another program run. Fairness is when multiple users and programs have an equal claim on the computer’s resources. It is more beneficial to let them share the computer through finer-grained time slicing than to let one program run until it is down and then start the next one. 

The next thing Vaseekaran brings up is threads. Threads are a series of executed statements that are lightweight and have their own program counter, stack, and local variables. Threads are used to help run background or asynchronous tasks. They increase the responsiveness of GUI applications and take advantage of multiprocessor systems. Java uses at least one thread when running. Threads help java run more smoothly but there are risks. The main risk is when there are shared variables/resources. Deadlocks can also happen when threads are used and multiple processes get stuck waiting for each other.

This was a good amount of information to learn and I think Vaseekaran did a great job explaining what concurrency is and its ups and downs of it. Starting with the reasons why we use it and then explaining how it is useful for a programming language like java was a good way to make it easy to understand what it is and how it is used today in software development. I think it would be interesting to learn more about how threads can be used in java. Vaseekaran’s post was useful for understanding concurrency and what threads are but how exactly a java developer implements them was very brief here. I would like to know more about how that works exactly but this was a good introduction to the topic and was an easy read. I would definitely recommend Vaseekaran’s post to anyone trying to learn more about how software is run and how to make it efficient. 

Link: https://gowthamy.medium.com/concurrent-programming-introduction-1b6eac31aa66

From the blog CS@Worcester – Ryan Klenk's Blog by Ryan Klenk and used with permission of the author. All other rights reserved by the author.

Thoughts on Front-End Development

I often find it hard to relate back to other courses and easily forget about what I have previously learned. Luckily, my memory is not as bad as I think it is and it eventually comes back to me, especially in the case where I have to come back to a skill/technique regularly. I find that with Computer Science the evolution of knowledge is one that is clear yet has a depth of knowledge that intertwines one course with the next.

On one hand, you can have a course that is so specific in a niche of CS that it may be hard to see its relevance in another CS course on the other hand you may have a course that is seemingly so broad that it is hard to pinpoint how it may carry over.

I think that with any specific area of interest, as one continues with their education, the degree to which prior knowledge is necessary and relevant to learning a new topic only increases the further you progress.

All this is to say that last semester I took a cloud computing course and I remember that course being broad in its application of cloud computing. I wanted to look into the use of cloud computing in the context of software design and architecture. Secondly, after only getting a taste of front-end development in this course I wanted more and I wanted to solidify my understanding of the back-end and front-end in an attempt to satisfy a goal of mine described in a previous blog post.

Overall I’m not seeing any major differences between implementing software through the cloud vs other options other than the vast benefits that cloud computing can offer. Benefits of cloud computing range from storage, server, database, software networking, intelligence, and analytics. The blog begins with describing what cloud computing is then goes into detail about what front-end and back-end cloud architecture is along with cloud based delivery.

I was then led to another blog about specifically front-end development as I was not satisfied with what the previous blog provided. This blog hooked me with its first line saying “Front-end developers need to design sites that are engaging enough to nudge the target audience toward a conversion.” I find this idea to be very interesting because it starts to dive into the purpose of front-end development.  In my next post I will discuss where I may see myself in the future and what role I might want to play in the tech industry. There is a point in the blog in which the duties of a front-end developer are laid out leading to an intrigue and wonder about whether this is a niche in CS where I may see myself, in front-end development I feel it might be a role in which I can use a variety of skills/techniques in order to develop myself.

https://www.clariontech.com/blog/cloud-computing-architecture-what-is-front-end-and-back-end

https://webflow.com/blog/front-end-development

From the blog CS WSU – Sovibol's Glass Case by Sovibol Keo and used with permission of the author. All other rights reserved by the author.