Category Archives: cs-wsu

Singleton/Factory

Last week reading took us through one design pattern the singleton pattern and a quasi-design pattern the simple factory technique. I was very impressed by both and took some time to analyze their delivery method –how they presented their arguments. On singleton the author presented the design as a conversation in an almost Zen tone. I was attracted to his way of explaining because I believe that a lot of times when studying we let the stress get the better of us and miss many important points. The step by step really show not just how but why. A lot of times we write a lot of code because we know how but not always know why we write it a certain way, which I believe makes the knowledge untransferable –although why is not always important.

The relaxed Zen mode of explaining is also something I appreciate because I am a strong believer that sometimes, some things should be explained like you would explain a 5-year-old, and I have no shame in listening like a 5-year-old. It is easy to have many years of experience on something and forget some of the things taken for granted are very important to the beginner(me). The Zen approach also reminds me of Buddhist monks drawing complex sand diagrams only to erased them and start over again. It is hard to erase bad habits and acquiring good ones, but by creating the habit of erasing habits the learning cycle can be increased considerably. That’s all I must really say on how the authors carried their message, but the interesting thing was the message itself.

The singleton pattern at first was not impressive if anything I always had a bad view of private or protected variables or methods. I never really understood the need to hide things in code maybe because I never really had to write code of considerable size. Once I started working with the pattern it was like a little light bulb flickered on top of my head and I suddenly started seeing the coolness of obfuscation in this case just preventing object overcrowding. I really thought it was pretty cool and I think that in the way the idea was explained the structure will be in my head for quite some time, and I am a very forgetful person.

The simple factory technique was also well explained in just the right number of words. It was very clear that by consolidating actions or delegating the creation of objects helped to minimize how much one class was doing. Uncle bob always say doing too many things is bad, so I think this applies in this case. I was afraid at first that to implement this was to substitute the singleton pattern that I’ve gotten so fond of, but that was not the case. After implementing it I saw that there were other areas that could be greatly improved by consolidating further. My only fear is to know when to stop –how much is too much consolidation.

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

A little bit about myself.

Hello everyone! My name is Andrew Sychtysz. I am currently a senior at Worcester State University in the process of receiving my BS in Computer Science. With a concentration in Software Development. I am a Polish American that was born in Ware Massachusetts. I speak both English and Polish.

I have a great appreciation for Computer Programming Languages. I found a passion for technology at a very young age. When I first started coding, I realized that this was something I wanted to pursue for the rest of my life. The first language I began working with was Java. Once I found myself getting comfortable with Java, I became more fascinated. As I learned about Data Structures in Java and pursued the C programming language, my world began to change.

My aspirations are to work in the Software Development field and better myself as a coder everyday. Writing Software is such a beautiful concept to me. There is always something new to learn and different ways to improve. I plan to continue growing as a coder throughout the rest of my life.

CS@Worcester, CS-343

From the blog CS-WSU – Andrew Sychtysz Software Developer by Andrew Sychtysz and used with permission of the author. All other rights reserved by the author.

Introduction

Hi hope all are doing well, this has been a challenging couple of months but we made through it. I can’t wait to be in person again and hopefully soon this pandemic can be behind us. This semester seems promising to me and hopefully it will be to all of us.

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

About me…

Hi! I am Murtaza. I am a tech nerd. I love to learn and read about new technologies. This is my blog where I hope to share my take on tech today. Thank you!

From the blog CS-WSU – Towards Tech by murtazan and used with permission of the author. All other rights reserved by the author.

Learning for a lifetime

Virtue of Learning

Students have been ingrained from their childhood to get good grades and to excel in every course. They work hard through their K-12 years before they start earning their higher education degrees. This is where, now, they should sit back and prioritize their goals. What is their goal in life? What do they really want to do in life? The learning they achieve in the higher education courses should align with these goals. It is not about passing and getting good grades in the courses any longer. It is no longer about cramming the concepts. It is about actually understanding and comprehending the concepts. If the concepts are not well-understood, the students will not be able to apply these concepts in their next phase of life, viz., actual job scenarios. On the other hand, if the concepts are well-understood, good grades will follow. At the higher education level, it is no longer about cramming the concepts, it is about application of concepts across courses, across disciplines, and finally later in life. After all, earning a degree in a particular area is not just a roll of paper. It is much greater than that. Earning a degree in higher education is the harbinger of earning bread and butter for the rest of one’s life.

Observations of a Professor with four eyes!!

Emoji credit: https://pixabay.com/illustrations/emoticon-emoji-cartoon-emotions-1628080/

With the vast expanse of information available and required to be learned for a particular course, it is definitely not possible to cram it. It is more beneficial if other methods, viz., visual aids, practical applications, etc. are used to experientially learn it. There are tools, like SafeAssign, and Turnitin, available now-a-days to aid the professors to catch plagiarism. There are online browsers like Respondus Lockdown to prevent online cheating. Students may even try to out-smart these tools, but what may not be out-smarted is the experience in teaching gathered over the years by an eccentric professor. A professor with four eyes!!

Remember that working as a software professional, a person always has access to software manuals to look-up the correct syntax as well as the Internet to get help. But there is a difference between getting help through manuals and internet versus copying the entire solution. Also, as they say it, even copying requires brains!!

I would like to share some interesting anecdotes.

Scenario 1 – Grades without Brains!!!

It is true that in the software profession, it is not required to memorize the commands, as manuals are always available at hand. But it is important to learn the concepts and techniques of programming. It is important to learn where and how these concepts can be applied in a programming language and can analogously be applied to another programming language. Therefore, you will find that home quizzes are given and many times the use of IDE is allowed in tests to try out the commands. After all, it is not about memorizing the commands, but about learning how to apply them. Before I go ahead about the point that is being made here, I would like you to go through following article/response on Internet that set me thinking:

https://www.quora.com/Recruiters-have-you-ever-had-to-deal-with-a-candidate-that-turned-out-to-be-completely-unqualified-What-happened

There are cases when quizzes and tests have problems which require students to complete the missing part. It is one thing to look for solutions on the internet, but it is another to copy without understanding. This will only lead to “grades without brains” and to the situation as illustrated above. This has been observed in submissions wherein solutions look so neat but when executed they run into errors. There are also problems when the method signature has been provided, but since the student’s submission has been taken from the internet, there is a mismatch between the provided method signature and the submitted method, resulting in errors. Again, a case of copying without understanding.

I have encountered cases of students innocently asking if they could be helped with their error in an online quiz or even a test (even remote online test!) where the method signature of calling method was already provided, but they are getting an error. The reason… you guessed it!! The required method was copied from the internet, resulting in a mismatch between the method signature of the method call and the actual method. There is a mismatch in the data types of parameters or return type, or simply a one-to-one correspondence does not exist between the argument passed in the original method call and the parameters of the new method written. Ah well!!

Scenario 2 – Which Tire?

Well! Everyone has heard this one! The truly passionate and devoted Prof. James Bonk whose Chemistry classes were actually termed as “Bonkistry”, and one of his rather notorious flat tire story. If not, then please go through the following reference:

https://today.duke.edu/2013/03/bonkobit

But I am providing a twist here. I am not talking about a flat tire excuse here and am not interested in asking student(s) about which tire was flat.

Here is my suggested solution if the students are suspected to have copied the solution from somewhere else.

Ask the suspected students (privately!!) to just answer one question, give the name(s) of the other student(s) that you collaborated with on the project.

It is just not possible to have projects not only match and have a similar storyline (if everyone had to work on and submit their own project), with similar statements that match line-by-line having only variable names changed… and sometimes across sections!!

Remember, a professor with four eyes is at work here, who does not require plagiarism software aids. Well! So to say, with experience added over the years, every professor has those four eyes (both figuratively and literally!!). That maybe one of the reasons for us being called “Eccentric”!!

Reflection

My advice to the students is that learning is a virtue. Always aim for a better learning; a learning that will stay for a lifetime, and good grades will follow. You have selected this career path for a reason and that reason should not be belittled. It should not happen that lack of practice and preparedness causes your dreams to crash during the very first few job months, lest in the interview. If a professor is strict on grades, it is for a reason. If a professor is firm with the due dates, then you are getting trained for the real-world deadlines. If you need to multi-task between a number of assignments in different courses, you are being trained and prepared as a multitasker for real-world scenarios. If you need to remember and apply the concepts learned in one course to another course, you are being trained to remember the skills for a longer period of time, so that you may eventually apply them at your workplace.

From the blog CS@Worcester – Professor's Tales by Dr. Shruti Nagpal and used with permission of the author. All other rights reserved by the author.

Read Constantly

An algorithm is a set of rules to be followed in order to solve mathematical problems in numerous steps that usually involve repetition of an operation. Sometimes algorithm problems do not show up at the beginning of a project. As Steven S. Skiena states, different programmers find them out as subproblems, which appear to be … Continue reading Read Constantly

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.

Dig Deeper

We live in a world where different complex software projects have different deadlines and they use a variety of tools to finish the projects. Most of the time employers cannot afford to hire too many specialists to fill every role. You learn only enough about any tool to get today’s job done. You select some … Continue reading Dig Deeper

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.

Draw Your Own Map

According to my next Apprenticeship Pattern blog I chose “Draw Your Own Map,” as one of the most interesting patterns and which fits perfectly in my logic. When you decide to enter the Software Development world, you may think that it’s a hard and tough game, or sometimes you believe that your career will always … Continue reading Draw Your Own Map

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.

Sustainable Motivations

There are many things that can motivate us to be programmers. Some of them can motivate for the long term, while others may not be sustainable. We may become very good at a particular language or framework. This specific expertise may very well translate to a larger paycheck. But if your true goal is mastery … Continue reading Sustainable Motivations

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.

Craft over Art

If you consider yourself to be a programmer or developer, you are not an artist. Programming is a craft, a type of art, but it cannot be classified as a fine art. It can be more constructive than artistic. As an programmer you will be paid to build something that helps the customers to have … Continue reading Craft over Art

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.