Category Archives: cs-wsu

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.

Sprint 6 Retrospective

Since the last sprint retrospective, our group has been working to finalize everything that we have managed to get done so far. Most everything we do have to show for actually was created since the last sprint retrospective. Just about everything before then has been all about fixing errors, trying to understand Google’s material design and how to use it, setting up the development environment and fixing lots of errors. Another team had a working version of their component already, and our team was stuck on an error trying to get the styling to work correctly. The problem was that we were opening the component directly in the browser, just by opening the html file that has the component in it. There’s no connection between the styling code and the HTML code, so there’s no reason it would be properly formatted just from opening it directly, and that was the thing we were having a problem with. It turned out we had to use ng serve to start up the local amrs server, and then the component would show up correctly formatted after visiting localhost:4200. There were of course some more errors in the process of getting to this point, though, which I figured out through a series of Google searches and copying and pasting commands from stackoverflow answers from other people who had a similar problem. Since we got that working and were able to finally see our component correctly, we finished figuring out how to get Google’s material design template code integrated into the component, and then spent the last class officially adding our component to the main branch. The rest of the work we have been doing since then has been about preparing for the final presentation, recalling everything we have done so far and trying to allocate the material among all five of us to discuss when presenting. Most of the presentation is going to be talking about errors and the solutions to the errors and how the solutions to the errors were found. That is because most of this project has been about having errors, looking for the solution to the errors, having more errors with the solution, and then finding the right way to do things. Another portion of the presentation will be about setting up the development environment, which was a pretty big focus in this project. We spent the first couple of weeks setting up a development environment we never used, and then had to set up another development environment once we started working on the angular component. The rest of the presentation will be mostly about the actual programming of the component; what it is, what it is supposed to be for, and what further problems were had in developing it.

This class is very different from any other class I have had before, mainly because the whole time there was never a clear idea of what anyone is supposed to be doing or how anything is supposed to be done. It all seems to have worked out in the end, though.

From the blog cs-wsu – klapointe blog by klapointe2 and used with permission of the author. All other rights reserved by the author.

Sprint 6 Retrospective

This week I will be talking about our last sprint. This sprint may not even be done yet since even now, some of us are still trying to work on the issues on git hub. This sprint is unlike the others, I think we actually accomplished more during this sprint. As I have said before, most of our past sprint consists of waiting for the customer to respond or try to plan something for the intake form but then have to change it because the customer does not need it.

During this sprint, I worked on fixing the student ID of the intake form. The student ID field was getting the input as a number but there is a problem with a number as an input. The first problem is that a number can not start with a 0, it will only start at 1 or any number that is not 0. Our actual student ID starts with a 0 so that would not work. The other problem is that we want to capture the student ID after a student swipes their card. After turning the student ID input field into text, I had to then remove all the unnecessary characters that are inputted by swiping their OneCard. This can be done by using the slice method that is from javascript but you can use it in typescript, I think most javascript functions can be used in typescript. The student ID that we get from the card reader is in the format of “;0000111111100?”. The only characters we want is from 5 to 12, which is the actual student ID that you will get from OneCard. Then, I tried using the function slice to get only those characters.

After turning the field into text and slicing the character, I was able to make it work by adding the following code into the onSubmit function since I only want it to happen after they submit the form so that it would look clean on the database.

Code inside onSubmit: this.model.studentId = this.model.studentId.slice(4, 3);

The next thing that I did was to create a way for the food pantry to be able to enter the student ID on their own. Sometimes students might not have their OneCard with them. So, I created an if statement in the onSubmit field, I did not want to do it on the actual form with the ngIf  because it gets messy with the ng-template stuff.

Code: 

if (this.model.studentId.charAt(0) === ;) {

    this.model.studentId = this.model.studentId.slice(4, 3);

}

This was the final code that I pushed into master. I was actually working on other things, like checking if they entered a letter, if they did, create an alert.

This sprint was very interesting to me. I learned a lot of things. The thing that stuck with me the most is making sure that the field would only take what it is supposed to. After working on it, I would like to add more stuff to check the ID field, like if the length is greater than or less than 8 then it is invalid if it contains other symbols that is not
“; or ?”. There is still a lot of work to do for the intake form but I enjoyed it.

From the blog CS@Worcester – Computer Science by csrenz and used with permission of the author. All other rights reserved by the author.

Retrospective 6

We entered the last sprint for our capstone class. Everybody was happy because we were two weeks from the end of school and most o us are ready to graduate. But, we still had to work and to deliver some working code and well-implemented components and integration. As I and my team started to work … Continue reading Retrospective 6

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.

Retrospective 5

The AmPath simple application is evolving. We started from scratch and now each team in the class is pushing the components one by one. Even though not everything is fully implemented, we are trying to commit and share with other teams parts of the work. As my team was waiting or other teams to commit … Continue reading Retrospective 5

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.