Category Archives: cs-wsu

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.

“Retreat into Competence” Apprenticeship Pattern

I am writing this blog post about the “Retreat into Competence” apprenticeship pattern from the Apprenticeship Patterns book. To summarize the idea of this pattern, it is about handling being overwhelmed by new challenges. This is something I experience frequently, particularly because I actively search for new challenges and often find ones that are beyond my current ability. The recommended response is to go do something else that is more familiar instead. Succeeding at something familiar and reflecting on past success is comforting in the face of overwhelming ignorance. There are two definitions of the word “overwhelming” that I can imagine here, and the one that this chapter seems to be using is in an emotional sense. Recognizing one’s own incompetence is uncomfortable, so taking a moment to go back and successfully complete a familiar task feels better than struggling with an unfamiliar one. The other definition would be being overwhelmed in the sense of lacking the capacity to complete the given challenge. Retreating into competence is done for the sake of regaining confidence, and it is important to be able to handle being emotionally overwhelmed before trying to handle being academically overwhelmed. I have confidence in myself and my abilities, but when I am challenged by something new, I remain confident in what I know and recognize that it is a challenge because of what I do not know. I was doing a problem recently that required a certain background knowledge of combinatorial game theory that I did not have. Despite my aptitude for problem solving, my lack of education on the matter made the problem challenging (or overwhelming) to the extent that talent would not make up for inexperience. I saw it as a learning opportunity and started researching the information that I was not familiar with, and also did some easier problems instead that did not require a level of education I was lacking. Remaining in one’s own comfort zone is a good thing, but only briefly, as the chapter notes. It is taking a step backwards in order to prepare to continue moving forward and learning.

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

Retrospective 4

As we finished another sprint, we learned more about Angular applications. we split the work based on components, and each team was assigned in one component, or to do the services needed. I and my team started to work with the search bar in the sprint three, and we are doing considerable progress with that. … Continue reading Retrospective 4

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 5 Retrospective

Since the last sprint retrospective blog post, our team has struggled to get the component we have been working on to show up correctly. It has been determined that the formatting code will not be applied to the component if it is just opened by itself in a browser. It is necessary for the amrs server to be running first, and then the component will show up at localhost:4200. We made progress once another group had us make a copy of their component and try to get theirs working for us, since they already had it working for them. I ran the commands cd amrs-simple-app, cd ampath-simple-app, git, checkout Tabs, git pull origin Tabs to make a copy of their component. Then I tried ng serve, and that errored, so I googled the error and found the solution and entered the command npm install –save-dev @angular-devkit/build-angular, npm audit fix, ng serve –prod, and then it worked. I waited for it to say “Compiled successfully” and opened localhost:4200 and the component showed up, correctly formatted.

Since that is out of the way now, we should be able to actually finish the one component we have been trying to get working for the last month. We should probably be able to do a second component, too, since the thing that has been holding us back the whole time has been solved. Now we can go back to our component, apply the solution that worked to display the other team’s component, and finish getting it to work and move on with the project.

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

Sustainable Motivation

For this week’s blog, I chose the Sustainable Motivation pattern from the Apprenticeship Patterns book. The Sustainable Motivation pattern is about keeping your motivation while working in the industry. While working in the industry, things can get tedious, real projects are more rigorous and can be exhausting and often frustrating. As an apprentice, you will encounter these problems while developing your technical skills. You will often find yourself working in the messy specified projects for customers with the always changing demands.

Of course, there are times when you love your job, and your ability to write code seems too good but they will not be your ordinary days. Most of the time there are going to be nasty problems, bugs, and to add to that, your manager wants it soon. That is why you gotta stay calm and focus on the long road. You will most likely stay in the craft because of money and would try to endure the long road. While sticking with it, you then find your love for programming returns. It is going to be a cycle of love and hate relationship. Many programmers get trapped by their motivation. Learning something new gets harder and you see no point in doing so when you are already getting paid for the things you already know.

I totally agree with this pattern. There are going to be an up and down moment while working, I’ve already experienced this problem with my current internship. As an intern, they do not really expect you to do a lot. They do not expect you to actually contribute much to anything they do but expect you do to what is minimally expected of you, and most of it is learning. In my internship, I usually finish the task that was given to me earlier than expected. I would always try my best to finish it without wasting time, and always check with my supervisor if it is what they wanted, but sometimes they are also busy or are not around so I am stuck there with nothing to do. What I do in such situation is go to another department or another employee, then I would always ask if there is anything I could help them with and try to learn new things.

From the blog cs-wsu – Computer Science by csrenz and used with permission of the author. All other rights reserved by the author.

Sprint 5 Retrospective

This week’s blog is about our fifth sprint. During this sprint, we were finally being able to start tackling the issues that we have created. I learned a lot during this sprint than the previous one. In the previous one, we were creating issues pretty much left and right, placing them in our task board and then people work on it. The problem is that these tasks are not really assigned to anyone, and you can have two people working on the same thing without them knowing. This made it hard to keep track of the people working on an issue.

During the planning phase of this sprint, we planned on finishing the front end of the food pantry form. We tried to finish talking about what styling to use and what should the form look like. We also planned on adding more attributes or questions to the form since the main purpose of the form is to create a report every month that they could send or submit to the Worcester County Food Bank. The initial form only asks about the student ID, SNAP assistance, housing status, government help they are getting, and the number of household/income level. The last question was very vague since it only shows letters a through h, but no context on what they mean. Then there are the attributes that need to be added to the form like zip codes, participation in federal programs, primary household income source(household number of employed, unemployed, and other categories), and ages in the household that is served by the food pantry. These need to be added to the form to create the report.

The second meeting in our fifth sprint was comprised of fixing how the issues are laid out and what issues are still needed to be published. During this time, we were still organizing the issues that were put on the repository. The other team kept on closing issues that are not yet resolved, or maybe it was but it was never pushed into the repository, creating duplicated issues or issues that can be placed into one issue since they both pretty much mean the same thing. We also tried to organize the branches that were created. There were multiple branches created that are not working and we did not know which is the correct branch that we could work on since communication with the other team is not ideal.

During the second meeting still, I tried working on how we could correctly store the student ID field from scanning it using the card scanner. The original format of the student ID when scanned is something like ;0000111111100? but we only need characters 5 to 12. When I looked around for functions that I can use in angular, I found this javascript function called slice which slices the string given the position of the start character and the end character. I wanted it to slice the student ID when you submit the form so that it would be stored as a proper student ID so I thought I could just write this.model.studentId.slice(5, 3) and it would do that when you submit the form then show it in the submitted form, but it did not work. Although, using slice on the html file actually does it. I think that since it is a javascript function, that may be the reason why it is not working, I would definitely need to test it again and hopefully have it working during the next sprint.

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

Sprint Retrospective 3

As we are going deeper in the class project, we are learning how to be more productive. After the first two sprints, that we created the project, the git repository and organize the projects between the official repository in CS-Worcester and our class organization. My team decided to work in the Search Bar component and … Continue reading Sprint Retrospective 3

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.