Category Archives: CS-448

Expose your ignorance

Hello everyone and welcome back to another apprenticeship patterns blog post which is going to about expose your ignorance for CS 448. I think it’s an important pattern because I was in the same situation because I was uncomfortable with having the idea I didn’t know what I was doing and I didn’t want other people to think I don’t know what I do so I would stay quiet and try to guess what’s going on and it wasn’t working so well for me just like the article says. I now think it’s better to let people know what you are struggling on so that they can help you through your problems. When I first started my internship at an IT company, I first let everyone know that I didn’t know much or anything about IT, and everyone was very understandable and help me through it. I think if I would of stay quiet and act like I knew what I was doing it would of cause more harm than if I didn’t. I know that in ordered to learn more and grow, you must expose your weakness. I think this pattern does a good explaining that you should find your weakness and work on it and add more to the list as you go and don’t be a shame of it. I agree that you must show the process through your journey for the people that depend on you to know your stuff because if you don’t then you would show no promise. It’s also important to build a strong relationship with people as you are in your journey. All in all, I think this pattern was important because it highlights most of the stuff that should make you successful when on a journey to be a craftsman. I don’t disagree with anything in this article because most of the stuff that it goes, I try to follow every day because its good advice which I hear from successful people. I think it’s important to honest with your self and knows that you still learning and everyone doesn’t know everything and everyone is still learning

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

Sprint 6

This week wraps up sprint number six, as well as the semester. This is our last sprint before the semester ends. Some of us, this is out last semester in undergraduate. Many of us will be graduating after this sprint ends. This sprint for our team was nothing entirely too fancy, it was more of a wrap up. Since we realized we were running short on time, and with a presentation of our final project looming just around the corner, we decided it would be best to stop the pipeline of taking in new tasks to work on. I was able to take on one small task in the end, just before we put a halt on work. This task was to add an optional field for gender into the intake form. This was a rather simple addition as I was able to reuse most of the HTML from another part of the form. The majority of the scratch work was done in the Customer.ts and the Customer-form.component.ts classes. In the customer class I had to add gender as an instance variable so that our customer constructor would know that it needs gender as an argument (needing it is specifically for testing purposes, the actual prompt is optional, per request of the food pantry owners). I then had to go to the customer.form.component class and add an array of options for gender, as this prompt would be a pulldown menu option. I was able to create an array of gender options called gender which had the values of male, female, other, or prefer not to say. This way there are enough options to cover the spectrum while also being able to keep the question entirely optional. Once I did this I had to add the gender paramaters into the Customer objects so that it would build the customer correctly. This was the easy part! The hard part comes next. Branches, and pull requests. I was easily able to check out a branch in our repository to get my issues and commits tracked on github. The hard part is the pull request. With the initial pull request, there are many conflicts to be resolved. This is expected, because you’re comparing an old file to a new file that has deletions and insertions, and code moved around. This is typically an easy fix as you can just go in text editor in github and remove the conflicts by hand and recommit the changes right on github. I have done the old fashioned way of running git commands in terminal to fix conflicts, and I find the in-browser option to be the more efficient and easier solution (if it allows, sometimes it isn’t as simple as removing a few lines of erroneous content on github). What happened next is the funny part. In the time I opened my pull request, notified my professor, and resolved conflicts, my professor merged another open request on our repository. Now I was getting no errors (because I had not refreshed the page) but my pull request would not merge. My professor and I were looking specifically at the customer constructor and were wondering why his master version had 18 variables and mine only had 14. After thinking about it for a while, I decided to pull from the master branch then recommit my branch, again fixing all the conflict resolutions. This appeared to do the trick, because I was missing the information from the merge that occurred while I was trying to get my branch merged. This goes to show you that communication is imperative on github and in teams of multiple developers working in the same place. Knowing this would have turned my 5 minutes of code and 45 minutes of trying to merge onto github into 5 minutes of code, a simple merge, and a new task. In the period of time between putting a stop to work and our final presentation, we as a team worked on our final presentation slideshow. We did this as a requirement from our professor, but also as a way to recap all that we have accomplished this semester. Looking back, it has been a fun semester getting to work on a project from scratch and seeing how far we could get. I hope the next food pantry teams have a good starting point, and will continue to do great things with the software.

From the blog CS@Worcester – The Average CS Student by Nathan Posterro and used with permission of the author. All other rights reserved by the author.

The White Belt

For this week’s blog I have decided to write about the chapter called “The White Belt” from out textbook. The context of this chapter is that you have developed a deep understanding of your first language but have plateaued and you are rather comfortable with that spot. I find this to be exactly where I am now. I have spent four years writing in Java a majority of the time. I would say that Java is the language I feel most comfortable in, and have the strongest understanding of how it works. Other languages that we have touched upon in my college career such as C and typescript/javascript, I am not as comfortable in because of this lack of depth of knowledge in these languages. This leads us to the problem portion of the chapter, which is that we have problems gaining knowledge of new things when we are coming from a position of comfort. The book points out a fear of personal development coming to a halt, and I think that rings true with me. I am afraid that once I leave college I will not learn as much as I need/want to. I am afraid of being a “one trick pony” with Java. What if my job requires me to code in C? C++? Any other language? I feel right now in this minute that if this were the case, I would be able to get by, but just barely and not very comfortably. And that is a feeling I do not want to have every Monday through Friday in my career! So how do we fix this issue of complacency? The book starts off the solution with a quote from Star Wars, which I thought was genius. The quote is, “You must unlearn what you have learned”. Now this doesn’t mean go and forget Java and all of its syntaxes and learn another language completely. This means unlearn your learning habits, keep your knowledge of Java but also learn to gain a knowledge of another language. Keep doing this, and soon enough you will be a master of programming. I find this solution to be rather comforting as I also find myself in this position of plateau quite often. I am hoping to continue my education of coding long after I leave college.

From the blog CS@Worcester – The Average CS Student by Nathan Posterro 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.

Sprint Review #6

Hello and Welcome back to Benderson’s Blog! This is the final sprint review blog I will have for this semester as our project is coming to a close and so is my college career at Worcester State. This was the 6th sprint that we did for the semester and it was probably the more relaxed one out of all of them. This was because we were basically done with everything that we needed to do for the project and were working on things for the project that weren’t mandatory but would be nice to have. For example, Nick was working on this weight counter for the food pantry that would keep track of their inventory weight for them but it wasn’t required and we didn’t get it done because it was too much work for the end of the semester but it was fine. For the rest of the group, Andy was still finishing up the Foodkeeper API, making sure it was running correctly and there were no errors. Johnny, Nate and I were working hard on the power point that we needed to make for our final presentation on what we did the whole semester in our groups. We got up to 31 slides in the end and divided up the power point among the members. We present on May 9th and I’m excited to see how our class takes our project, it has been a long time coming for everyone to see what we have been up to.

Our power point has a wide range of topics covered in it, starting from the beginning with our first meeting with each other and discussing the ideas that we had to proceed with the project. Then we go on to talk about our first meeting with Serena, a worker at the food pantry that got us on the right track on how things should be done for the food pantry intake form and other aspects of the food pantry that we were working on. Then we go on to talk about the different epics, stories and tasks we worked on for the project. Nick is going to talk about all the tasks he added to the intake form, Nate is going to talk about the CSS side of the intake form, Johnny is going to talk about the server/database he made for the information so it can be stored and lastly Andy is going to talk about the Foodkeeper API and how it works as well. Then at the end we have what we struggled with and our sources that we used for the project.

Other than all that stuff we worked on, I would like to reflect on this semester for this class I took to end my senior year of college. This class was fun to work in groups and get an actual project done for a client like it usually is in the real world in actual real jobs. Some things that I wish I did better were take more responsibility within the team, I feel like I didn’t do as big as tasks as my team members but on my future teams I will make sure that I volunteer and take more big roles and fill those shoes that I need to fill to make my team respect me and put me on later, higher projects. Thank you for joining me on Benderson’s blog, this was a great experience and can’t wait to update you on my future.

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

Sprint-6

Hello everyone and welcome to another and last sprint retrospective blog post for CS 448. Today I’m going to talk about what went on during our last sprint which is sprint 6. First, what I work on was finishing up the presentation. The steps I took during my steps to finishing up the presentation is that I reverted to the old commit of my original Ampath template because my slides would be about the beginning phases of the project. I made demo clips of both the old left navigation bar and the new left navigation bar to show how it would function. I also created a slide on how to create a blank angular project. I wanted to show I took stuff from the previous class 348 and implement them in this class 448. I also made a slide for the HTML code and the CSS code and I’m planning to explain them during the presentation on Wednesday the 15th. Our group has been working hard to get the presentation finished and we decided that each of us would do 5 slides each. The 5 slides would be about which member work during this semester. I think that we are about done, and the project looks great. During this sprint we didn’t plan much because we were approaching the deadline, so we wanted to just focus our full attention on the polish version of our Ampath project. Mike is going to be presenting the dropdown box during the presentation day and Tim is going to talk about the conversion from GitLab to GitHub. Kat is going to go over the Angular imports and the features that she added. Yensia is going to go over the rest of the Ampath project that she was working on during this semester. All in all, I think I learned a lot during this semester because I felt like this was a good simulation of what a job would be like. I feel way more comfortable in scrum than before. I think the weekly meetings help get used to always working and making sure I stay involve and keep the members of my group updated. I believe that our group works great together and we got many kinds of stuff done during this semester. I think that the left navigation bar was exactly what Greg was asking for at the beginning of the semester. Also, I learned more about Angular while working with this Ampath project. I don’t think there should be any improvements as I thought that the semester went very smoothly, and everything works out. In conclusion, this is the last sprint and the end to a very successful semester and my group was great and I enjoy this experience.

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

Sprint 6 Retrospective

Sprint 6 lasted from April 24th to May 6th. This sprint, my group and I had a main goal to focus on completing a powerpoint of our final project to present to the class on May 15th. Unknowingly, we instead spent most of our class time trying to merge and integrate our project with everybody else’s, which in turn broke some of our features and we never fully completed this integration.

While my teammates worked through those issues, I spent a lot of time trying to merge my completed dropdown button feature on to the main branch. This was also unsuccessful, partly due to merge conflicts since minor fixes and contributions were being pushed at the same time I was trying to push my own changes. My feature has been working on my own local branch for quite some time, in fact it was easier to develop the dropdown button than it was to merge it with everybody else’s project.

Working with professor wurst, I created a new branch that included my feature since attempting to push to the main branch wasn’t working. I tried creating a new folder, pulling the most up to date branch on a clean slate, then rewriting my changes in class which only took me about an hour. This plan was also unfortunately unsuccessful. Ultimately, as the deadline for the end of the sprint drew closer, we had to compromise on some of our more ambitious goals in order to start work on the presentation, which was meant to be the focus of the entire sprint.

I was still able to write about the ins and outs of my dropdown button, and I included screenshots from my local running branch. Thankfully, I believe I will have much to talk about. I will explain in depth some of the code lines and how they tie together with the modules and components necessary to make the whole thing work. I also want to include references to where I got the idea for the dropdown, since I stumbled upon a very helpful website that included HTML sample code for me to modify and trim down to fit our projects needs. I lastly will talk about how our work can be improved in the future. Our project contains a lot of filler text and our buttons don’t do much besides display text on the screen. To fit more specific needs, the text can easily be changed and more functions in the HTML can be added without necessarily changing the buttons around. Some ideas would be displaying various messages, videos, or information otherwise that would fit a more specific need depending on who will actually be using the app. Ill include a link to the presentation below this paragraph.

https://docs.google.com/presentation/d/1mJS7XpGuvMmKmI_LZyf-CLtPi8Xi8Ft_8yVu3f09ewk/edit?ts=5cc73c24#slide=id.g59df31ee4a_1_27

Overall I think we will get a good grade on the project, on our presentation, and on the class as a whole. I enjoyed this class more so than some of the others I took this semester, and I feel that I had more motivation to put in more effort into this class than some of the others.

From the blog CS@Worcester – CS Mikes Way by CSmikesway and used with permission of the author. All other rights reserved by the author.

Final Retrospective

This will be the final sprint retrospective for our Capstone Project where I give a general reflection on what occurred this previous sprint. This previous sprint was perhaps the most extensive one we encountered. We completed the component and wrapped up our presentation for the class. On the component we figured out what to finish with and finish strong with it. Everything was stylized to what we thought right to be. Our buttons were working previously but the submit from the last sprint wasn’t. after much discussion on what we wanted and how to approach the situation we figured it out. For the button we used a service for it, James came up with this idea. We also found something of it on google after some searching that was perfect for what we needed. All in all the button/submit button wasn’t to hard of a task for our team to conquer. Finalizing the presentation was not something to difficult, we all had our sections to cover. In short this semester was my team was a good one, we got a good amount done and got more familiar with all the components used.

From the blog CS@Worcester – Matt's Blog by mattyd99 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 Retrospective 6

What seemed like a doomed end for us, eventually our team got great results in the end, even though we started out very rough. In the first few sprints we definitely bit off a lot more than we could chew and almost put the component in jeopardy because of this. But through our team’s efficient refocusing and discussion we had a component that worked. During our final sprint we spent most of the time trying to figure out a lot of the CSS work. One issue that we also ran into was that we had a lot of issue when we were trying to merge our component with others. Eventually we found out that this is mainly due to our node versions being different and our use of Ignite UI imports that were absent in other team’s components. The reason these were absent in other team’s components was because the base angular material design api already included certain components that the other groups needed, whereas our component needed this other library. We ran through the other merge conflicts on git hub and managed to resolve them all with relative ease.

With the various obstacles we overcame, and the points at which it seemed all hope was loss, these sprint taught me a lot. This whole project taught me a lot about team building and resource management. This class gave great insight to our team building skills and how satisfying it was to overcome obstacles as a team. Through collaboration with other teams it was great to finally get past a certain roadblock or figure out that one syntax error that you got stuck on. It was a fun experience working with classmates that I never had worked with before because we all now have a greater sense of what team building is all about. These sprints were a great way for me to really understand what it takes to work together to find a solution, or even by yourself to figure out how to incorporate findings into the team. Although we had a challenging start, we made it to the end. And although not everything is as complete as we would like it to be, it still a great accomplishment.

From the blog CS@Worcester – Amir Adelinia's Computer Science Blog by aadelinia1 and used with permission of the author. All other rights reserved by the author.