Monthly Archives: September 2021

Self-Directed Professional Development Post #1

The episode I’m commenting on is titled, “#163 Layla Porter was led to coding by her horse riding and personal coaching business”.

I have a partner who is into horseback riding and so I selected this episode because I thought I could potentially develop something that helps her.

In the podcast episode I listened to, we follow the software developer, Layla Porter. Layla first started learning programming with ActionScript and HTML when she was young. Most of Layla’s early learning was self-taught and for personal entertainment.

Layla starts her story by talking about the opportunity she received as an adult to ride horses full time. This was something Layla was excited about because she grew up riding horses her whole life.

While riding horses full time, she had friends at her work, who knew how to code and would teach her object oriented programming, Objective C, and Model View ViewModel.

Eventually, Layla decided to take a break from horseback riding and became a speciality personal trainer for horseback riders. She started her own gym called, “The Rider’s Gym” and made her own website to set up her business. At first, she had a pretty successful gym for several years coaching both professional and amateur horseback riders.

After some time though, her business started to become less profitable and she started reading books and teaching herself the skills needed for a career switch to become a developer.

Layla applied to many jobs and eventually landed an entry level coding position. She managed to work her way up to a senior engineer after some additional job switches, and by dedicating herself to learning as much as she can in the field.

Currently, Layla still works in software development and she is an advocate for people from all backgrounds becoming developers if they are willing to put in the time and effort to learn it.

While my partner is not likely to start up her own fitness/horseback riding business soon, one of the most interesting things about this episode for me is how informal Layla’s learning experience was and yet she managed to become a successful developer.

As I continue in my own personal journey in software development, I’ve learned that though a formal education is invaluable, life experiences and projects that require me to develop/code are also critical.

Lastly, in this podcast episode, Layla referenced a couple of things that pertained to our course topics. She mentions how using a .Net framework was crucial for her creating her business website, she discusses how her friends taught her the principles of object oriented programming, and discusses how she focused on the front end of her website to make sure it was user friendly, while her partner worked on the backend to make sure her customers’ information was properly stored and managed.

Episode link: https://open.spotify.com/episode/7nG94EwjIH7UQPSc6ZD8H6

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

Polymorphism

This week, we reviewed about the concepts and the differences between the five terms, which were abstraction, interface, inheritance, encapsulation, and polymorphism. However, the term polymorphism confused me a lot during the class. The only thing that I remembered about polymorphism was that a class or an object could exist in many forms, but I could not explain to myself what “forms” mean. So, I did some searching on the term polymorphism in the hope that I could recall what I had learned and also learn more about the characteristics of polymorphism.

Fortunately, I found a good resource, called Polymorphism, Encapsulation, Data Abstraction, and Inheritance in Object Oriented Programming, written by Nick. Through this blog, Nick provides readers with concise definitions of abstraction, encapsulation, inheritance, and polymorphism with typical properties respect to each term. The writer also analyzes the important role of each concept in programming. Furthermore, after defining each term, Nick also has at least one example to describe the definition making the terms easier to understand for code newbies. This is one of the reasons that I chose this blog as my resource. In particular, in the polymorphism section, Nick gives an example of the class “Move” and the classes of animals to explain the phrase “exists in many forms”. The class “Move” does not have a concrete type, so it can be inherited/extended by any type of animal. For example, a Snail will crawl to move, a fish will swim to move, or a Kangaroo will leap to move. Hence, the concept of polymorphism is applied to make the code more flexible and extensible. This is a good blog to read and very useful if you want to understand clearly about the concepts of polymorphism, encapsulation, abstraction, and inheritance. I might forget these concepts if I don’t use them for a while. However, this blog gives me a key to remember those concepts in the long run by keeping in mind the real life examples provided by the blog.

Another thing is that after reading the blog, I know that there are several different types of polymorphism, but the writer does not analyze those types in depth in the blog. Therefore, I searched other sources to learn more about polymorphism. Different resources give me different numbers of polymorphism types. However, there is an article, called Polymorphism in Java, that gives me the necessary information about the types of polymorphism. There are many types of polymorphism, but in Java language, there are only two, which are compile-time polymorphism (overloading) and runtime polymorphism (overriding). Throughout the article, each type is described and analyzed using code examples. For myself, this is a good resource because although the article is short but concise, it contains all the information I need to know. Moreover, before reading the article, I had a chance to learn about the concepts of overloading and overriding, but I did not know how those two methods relate to the concept of polymorphism. So, the article not only helped me review my old knowledge, but also helped me to come up with the idea that I would organize all the concepts that I have learned into a diagram, where the diagram will show how concepts relate to each other. I believe the diagram will be one of my best tools that I can use to remember and distinguish all the important concepts in programming.

From the blog CS@Worcester – T's CSblog by tyahhhh and used with permission of the author. All other rights reserved by the author.

The Usefulness of UML

This week, we have started talking about UML (or Unified Modeling Language) in class, and while I can see some of the usefulness of UML, I wanted to see how people actually use it in the context of a workplace environment. So as a part of this, I found a blog post by Lucidchart talking about different types of UML diagrams. While this blog post is made by a company, and they are trying to get the reader to use their product, I don’t think detracts from the usefulness of the post.

So in this blog post they talk about how Agile developers can incorporate UML into their development process, as well as 7 different types of UML diagrams and how each one is useful, and which context it is useful for. It is largely just an overview of these different models, and I know there are more types of UML diagrams, but this gives a fairly good breakdown of what UML is and how it can be used in a more real-world context. I chose this post as I personally found it useful in understanding why anyone would actually want to use UML outside of a planning stage, since you are essentially planning out the whole class structure before you design it, so in my mind why wouldn’t you just write the code? Well this post makes the case that UML makes very good documentation for your code. If you have a class diagram, like the kind we worked with in class, you can use that as a sort of blueprint for your code. So you don’t have to scroll through hundreds of lines of code just to find all of the methods that are in it and how they interact with other classes, you can just look at the UML diagram. They also make the case that UML can be a valuable tool in explaining code to others.

From this blog post, I think I have a better understanding of how UML is (and should be) used in a workplace. There are a lot of different types of diagrams that were shown that I didn’t know were part of the point of UML, as I have only ever seen the class diagrams. But there are many models that fit under the purview of UML, each with different use cases. Some model runtime behavior in a way that it could be easily explained to someone who has no knowledge of programming, and some are able to show how different methods or classes communicate with one another, creating a diagram that can be easily looked at to make sure you aren’t going to mess with interactions in a system by making certain changes. I think that, given the proper context, UML could make a much more significant impact in understanding how we code, and has the ability to explain code to others in a way that even more traditional documentation methods lack.


Source: https://www.lucidchart.com/blog/types-of-UML-diagrams

From the blog CS@Worcester – Kurt Maiser's Coding Blog by kmaiser and used with permission of the author. All other rights reserved by the author.

Introduction

My name is Hung P Nguyen, I’m a senior at Worcester State University and majoring in Computer Science with both concentrations in Software Development and Big Data. The focus of this blog would be on the knowledge that I would gain while attending CS-343. Other than that, this blog would also be about me learning new techniques outside of the classroom and being able to adapt to technology. Personally, the most interesting thing that brings out my curiosity is Docker. As a necessity to many developers, Docker is playing such an essential role in their work-life which question me about its existence and practice

From the blog CS@Worcester – Nin by hpnguyen27 and used with permission of the author. All other rights reserved by the author.

Thoughts on Encapsulation

This post is the result of a discussion in class which revolved around the concepts of polymorphism, encapsulation, abstraction and inheritance. The concepts of polymorphism and encapsulation eluded my group’s ability to elaborate beyond the definition of the word in a dictionary. Trying to explain such concepts by this method would be over simplistic and not helpful in the computer science context, so I decided to research it and write a blog to educate myself on at least one of the terms. The term I chose was encapsulation because I believe it to have ephemeral properties harder to describe than the others.

In the dictionary some explanations of the word encapsulation are interesting. One of the examples talk about setting a permanent cover over contaminated soil. I myself tend to think of encapsulation as a form of nesting –not in the recursive sense, but in a sense, attributes can be placed at different levels inside other objects and so on.     

The aforementioned nested idea says that encapsulation is used to bundle attributes of an object and control access to it. It does that by using access modifiers to control access to classes. An example would be the private access modifier –you can create a private variable in an object and then decide which type of modifications are allowed and how these modifications would work. Once those private variables are created, they can be initialized indirectly by a constructor, but they cannot be accessed directly outside their class. If access is needed, it must be granted in the form of a setter and or getter.

This can be very useful if the information of an object is important and changing it or using invalid arguments would cause undesirable behaviors to the class.

A getter can give access to a variable of importance if needed for any reason, but write access needs to be denied.

A very trivial example would be a constant found that is very useful but should never change, you may need access to it numerous times, but every time you access it you expect it to be the same, and you may not necessarily know what this value should be.  

A setter can also be a way to control access making sure that any change is done purposefully and not accidentally or by side effect during the execution of a program or a task. Some behavior of an arbitrary object may need to be changed from the outside but that’s a hard decision to make, and I believe it would involve investigating the functionality of the object in the context it was meant to execute. 

Looking at the small portions of code we usually work on makes it difficult to understand the necessity for encapsulation. But in large environments outside the boundaries of what we can see or are working currently, there can be countless opportunities to fail from not utilizing good practices for encapsulation.

Encapsulation is like the member of a melodramatic story that you only miss when it’s too late.

[please feel free to point things that are off the mark, missing and or incomplete statements]

From the blog CS@Worcester – technology blog by jeffersonbourguignoncoutinho and used with permission of the author. All other rights reserved by the author.

George Chyoghly Test Post

Posting to confirm functionality for CS 343

Why do this?

  • Because it lets me know if this website works or not
  • Because it will help you focus your own ideas about your blog and what you’d like to do with it.

From the blog CS@Worcester – George Chyoghly CS-343 by gchyoghly and used with permission of the author. All other rights reserved by the author.

Welcome to my blog

This is the blog where I will document all the things I learn and discover about the field of computer science

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

Introduction: CS-343

Hello my name is Lena Viazmitinov and my major is Computer Science. I will be using this blog for CS-343 coursework and will doccument my progress throughout my final year here at WSU. Good luck to everyone!

From the blog CS@Worcester – Site Title by lenagviaz and used with permission of the author. All other rights reserved by the author.

Mausam Mishra’s Blog

Hi! My name is Mausam Mishra, i am currently a junior in Computer Science at Worcester State University. This is my introductory blog for CS-343 class and i will be sharing what i learned from this class to the internet.

From the blog cs@worcester – Mausam Mishra's Blog by mousammishra21 and used with permission of the author. All other rights reserved by the author.

Introducing Myself

Hi, I’m Brendan Lai. This is my CS blog. I look forward to adding this blog with lots of helpful info.

From the blog CS@Worcester – Brendan Lai by Brendan Lai and used with permission of the author. All other rights reserved by the author.