Category Archives: Sprint-1

Sprint Retrospective 1

The AWS deployment project was very surprising to me as it was not among my first choices. But with time, I am very confident with the evolution of the project and what the final product will look like. The god thing about our project is that we are all learning what to do. There is no sense of feeling behind or being ahead of others in the team as we are all new to most areas of the project. I believe this has allowed our team to be very open minded to any idea and to accept each other’s participation without any previous knowledge of what could be wrong or right. I appreciate the team workflow in the project and the trust we had in one another to get things done. The professor has been a great source of reassurance when we had couple of blockages (especially with the AWS) website. I believe that the accesses we have been given so far will be enough to get us started however, having worked with AWS website before, knowing how complex it can be, we might always need something more. Overall, we are a great team, out scrum master did a great job keeping the team together and maintaining respect and work ethics.

Improvements as a team

I have always been skeptical when it comes to working as a team. The reservations and worries about whether the work will get done, whether everyone will be involved, and the quality of the work reflected on our grades has been inevitable for me in the past. However, in this class, I feel very confident in the way we work as team and the way the professor assists us regularly to make sure we are involved and progressing. During our first sprint, we needed to make a lot of research to familiarize ourselves with the project. We didn’t find the need to meet outside of our stand-up meetings. That resulted in us not really communicating on the discord server, or any other platform outside of the classroom. In the future, as we will get more in depth in our project, I expect to improve this area and communicate more outside class for better planning and understanding among the team.

Improvements as an individual

As an Individual, I believe I did a good job on providing ideas, communicating with the entire team. I believe I specifically played the role of the reflector. The scrum master did a great job, but I was always willing to keep everyone on track when it was necessary. One area I could work on in the future is help improving the efficiency of our stand-up meetings. I noticed that my team is a quiet team which is not necessarily a bad thing. However, more common, and altogether conversations and unified ideas can be a good thing for the development of our team. Another thing I am planning on focusing more on the future is provide more in-depth reports on GitLab of the research we make. Our project is definitely a very interesting one and it would be great to share as many details as possible. The third area of improvement is to merge with the Identity and Access Management System(IAM) team regarding our project. We know for sure that keycloak will be a crucial part in our project. Meeting regularly with the IAM team to work together will make it easier for the two teams to move faster and not slow down each other on other things we could separately work on.

Evidence of GitLab activities

I did add the files in the General repository

I did make research on Keycloak and worked a little bit with the IAM team. Keycloak is an open-source software product to allow single sign-on with Identity and Access Management aimed at modern applications and services. It helps securing applications. It is a reliable tool to help manage users identity and accesses.

I did the Research on the best practices regarding the AWS EKS. Some of the best and important practices are the security, reliability, cluster autoscaling and running containers.

From the blog CS@Worcester – Software Intellect by rkitenge91 and used with permission of the author. All other rights reserved by the author.

Sprint 1 – Retrospective.

What worked well

As a team: 

We did a good job reviewing each other’s work. Merge requests were approved pretty quickly and we did a good job jumping in to help as soon as there was an issue.

Most of us did not remember scrum techniques and rules at first. However, we managed to catch up and follow the “rules”. We kept up with standup meetings and updating the scrum board. I also appreciated how every team member effectively reported on their work regardless of its state (in-progress, done, needs review, not-progressing,…)


I think I did a good job being the scrum master. I had to brush up on scrum concepts a little bit but after that it went smoothly. I led all the standup meetings and took important notes for the group whenever we discussed our tasks.

As far as the project went, I worked on moving the api to its own repository. It was pretty straightforward. I created the folders and sub-folders and filled them up. I referred to the API repo we used last semester for the Microservices examples. I then added two JSON packages, some documentation and a development container.

What didn’t work well

As a team:

The biggest struggle we had was figuring out meaningful issues for our epics. We started off with not enough issues but then ended up adjusting the weights to reach the appropriate weights. At the end of the sprint, we realized that we actually underestimated the weights for a couple issues because we did a lot of “figuring out”, researching and that took some time that was not reflect in the board of issues.


I feel like I could have done a better job looking at issues other than mines. I was so focused on doing the API that I didn’t have the time to look inside backend and the 3 front ends to sort of have an idea of what the others were doing. Consequently, at certain stand-up meetings, I would hear team members talk about specific blocks in the issues, but would have no idea what they were referring to. Another issue I had was with the GitLab pipeline failing in the API inventory. 

Changes to be made

As a team:

As a team, we need to do a better job creating issues. We also need to add more communication, discussion, and recording of decisions taking place under the GitLab issues and epics. We are looking forward to this sprint because we will most likely all work on the backend for a while so there will hopefully be a lot more to communicate on GitLab


I will make an effort to look over the issues that are not assigned to me. I will also be a little more prompt to approve merge requests. I barely approved any last sprint and I want to make sure I review some of my teammates’ work because it will help me be in touch with how the project is going.  

Links to some issues:

Create structure of API Directory

Split openapi.yaml into paths folder

Create schema folder and add content from openapi.yaml

Add hrefs to API directory

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

Sprint Retro 1

With the end of our groups first Sprint, overall, I would say we did well as a team. This being the first time any of us were in a group, scrum team, working with Kanban boards, etc. With my group I gave them some reading material on roles/responsibilities of a scrum teams and scrum master. I figured with extra material; we will be able to create a solid plan for this Sprint. For this Sprint, I think we were a little everywhere in the beginning but were able to finally divide the tickets in the backlog with each member taking on 5 per sprint. We were able to get many of the tickets done and then go over what we had done or any impediments that we me have.

I was responsible for the following task:

Create “General” repository: The General repository needed the .gitattributes,, DCO.txt,,, and filles needed to be added. I went ahead and transfer all files over to the Guest Information Systems.

Create “Documentation” repository: The Documentation repository needed the .gitattributes,, DCO.txt,,, and filles needed to be added. I went ahead and transfer all files over to the Guest Information Systems.

check the database format to create our schema: Upon reviewing this task both my teammate Joe and I found that this task was completed before we realized that it wasn’t necessary. The correct tables that we needed are now documented in the documentation repository.

Contact the IAM team to determine security key format: This task was a joint task between myself and Jefferson. We contacted the IAM team, and we are currently waiting on the security key. We will keep open communication with IAM to further pursue future task. We met with Dr. Burdge and determined the two (2) tables and eight (8) API calls we will need for building the API yaml bundle. Currently, that is the only impediment that we are facing.

Study Nest api calls to define our own: RestAPI contained the tables that FoodKeeper needs to implement. After further investigation and the completion of the previous task of contacting IAM team, we were able to determine the correct tables needed. We also developed a plantuml file showing the 8 tables, and created a yaml bundle for the product table, but are now deprecated.

During this Sprint, we really were trying to get to know one another to get a feel of each other’s work ethic. However, we still were not able to showcase each other’s skills or strengths. A good majority of the tickets we had were coping and pasting things over or information gathering. Now, these tickets were and are essential for our next Sprint where we will be able to do actual coding. I think there we will be able to see our strengths and weakness as an individual and as a group to then grow from there.

I think going forward to the next Sprint, we will need more leadership and what we need to get done and keeping a timeframe on that. This past Sprint just felt unorganized, not everyone was being heard and just not as conducive as it should have been. Also, I think clarity from all members of the group is also helpful. Having some members not knowing what is going on can lead to the team not completing their task.

As for personal improvement, I think for me I need to give more input on what we should do as a team. I also think I will take on harder task to help the team move along, with assistance from other members as well. I think working more in a team dynamic to help each other out and complete task in a more sufficient and timely manner. 

From the blog CS@Worcester – The Dive by gonzalezwsu22 and used with permission of the author. All other rights reserved by the author.

Sprint 1 RetroSpective

Working in a SCRUM team has proven to be a task to say the least. For our first sprint, I was our team’s assigned SCRUM master. Our project? To create a mobile application that runs on android and apple devices to help aspiring U.S. citizens prepare for their citizenship exam. Our project was the only one out of the 8 that had no prior work done before it was assigned to us… aka we were starting from scratch.

The Bad

Before this semester, I wasn’t a stranger to working in a team to complete a project. Despite this fact, working in a SCRUM team felt a bit different. Collectively, we were working together as a team but at the same time we were working independently. At points during this sprint, there were times where we didn’t have great communication. A lot of the same questions kept reemerging after they had already been answered. I feel like we were slower to realize how important effective communication and active listening is. While we did conduct our daily standups, I feel like we only did them for ritual’s sake. Also, I felt the sense of everyone wanting to take the project in different directions because it reflected in how we had our conversations.

The Good

Although I had feelings of stagnation within our team, I do not fault anyone in the group because developing an application while beginning to learn many new things about getting it started is a lot, especially since it’s everyone’s first time. This feeling of stagnation is everything but. Our team’s progress had never stopped moving forward, even if it was moving slowly and that is an amazing display of my teammates willingness to finding solutions in new and unfamiliar territory. During our retrospective meeting we all came to realize that we got all the essential tasks for Sprint 1 project setup completed. I am also hopeful because I feel like my teammates are going to be great to work with once we all learn how to work with one another.


I think as a team we need to put more value into the daily standup meetings. Although they’re short in comparison to the work we’re doing during the rest of our meetings, they are super important in terms of our success. Making sure that everyone is active in the meeting whether speaking or listening is something we can improve upon. Another improvement we can make is being comfortable with having our ideas challenged. Instead of just blindly agreeing with an idea one of us has, we should be able to hold respectable debates on why something may not be great for our project and be alright with the outcomes of the debate.

How Did I Contribute?

Much of the early part of the sprint was dedicated to figuring out which framework we would use to create our application. We broke into three teams of two. Eric and I were assigned to investigate what the Flutter framework would bring in its arsenal to help us complete our project. A few of the things I spent my time researching include:

  • Learning about what type of application Flutter is.

  • Creating a sample “Hello World” -like application in Flutter.

  • Making the decision to install Flutter locally on our system or use docker containers.

Once we decided that Flutter was not going to be the route we were going to take, I used the rest of my time during the sprint to work on the writing portion of our application.

From the blog CS@Worcester – You have reached the upper bound by cloudtech360 and used with permission of the author. All other rights reserved by the author.

Sprint -1 Retrospective Post

For our first sprint, I think our group did some things fairly well and had some things that we need to work on. From the first day of Sprint planning, our group got along very well and that made it easier for us to work together. We got straight to work on most days but there were also some days where we all got sidetracked for a while and needed to get railed back in. What I think worked well in the group was we were always asking questions. There were definitely points in the project where we were not sure about what were supposed to be doing and rather stumbling in the dark, we asked each other questions so that everyone in the group was up to speed and knew what to do and what was expected from each other and the project. Another thing that I think worked very well for the group was how open-minded everyone in the group was. We found out very early on in the project that most of us in the group had no experience working with mobile apps. Since we did not know where to start, we all decided to research what frameworks were out for creating apps. This led to the group creating separate issues for each of the frameworks (Ionic, Flutter, React Native). Even though some people in the group already had an inkling feeling that React Native would be the best fit for our project, we still decided to investigate all three frameworks to cover all of our bases. One thing that I think my group fairly well but also poorly was communication. When we were investigating the frameworks, our group of six broke up into three pairs. While we were in pairs, I think we did an okay job communicating with our partners. For example, when I was working on Flutter with Emmanuel, we forwarded resources to another one and let each other know our availability using Discord. So, we kept our partners well informed on what we were working on and when. This is where I think communication is something we need to work on during the next Sprint. Sometimes resources we forward to each through Discord do not end up on GitLab. Discord direct messages is not public information so there was sometimes no public record of what me and Emmanuel were working on. While I think we did a good job communicating with our partners, I think we could have done a better job informing the rest of the group as to what we were working on sometimes. I think as a group we did not do a very good job making sure everything that we did was documented and ended up on GitLab. This is something that I think we need to work on during the second sprint.

As an individual, I think I need to work getting more consistent results. I have a tendency of doing everything all at once so sometimes throughout the week, I don’t think I contribute a lot to the group or the project and then seemingly out of nowhere over the weekend I may contribute a lot to the group whether it be links to resources that I think would be valuable, comments on issues and/or code snippets to mini programs on what we were talking about in class. One thing that I need to work on in class and I am very aware of this issue, is I need to work on listening more to my group. When I work, I tend to become absorbed in my work and ignore the people around me. So, during the next sprint I think I need to work on knowing when to pause my work so that I do a better job listening to my group.  

From the blog CS@Worcester – Just a Guy Passing By by Eric Nguyen and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective Reflection

In this blog post, I will reflect on the first sprint of my capstone project. I will discuss what worked well, what didn’t work well, changes we can make to improve as a team, changes I can make to improve as an individual, and I will end by listing links to the work I have done with one sentence descriptions.

To start off discussing what worked well, I would like to pick one thing I decided on doing without much prompting. In addition to checking in with my team during the week and through discord, I made an agreement with myself to try to submit at least once a week a “bigger” message on our GitLab that would hopefully be useful. While I think it is important to post links and resources for us to learn more about certain tools and technologies, I wanted to include some posts/documentation on bigger conversations we had during our stand up meetings and detailed documentation of my setup process with certain technologies (e.g see post on setting up React native and post on the user flow diagram).

For things that didn’t work that well, I would like to discuss some of the technological difficulties I had. For the first couple of stand up meetings, I thought I would be able to do this capstone with my old laptop. After realizing that this capstone would require some more CPU power than my laptop could offer, I purchased a laptop that was more appropriate for the demands of this course. After setting up my laptop, I noticed a significant change in the amount of work I could then produce. I do think there is a minimum laptop requirement as far as performance is concerned, especially when we are testing frameworks and downloading various software/programs to build our first app. For example, I ended up downloading Android Studio for this capstone and this is a large application. There was no way I could have used my old laptop with Android Studio. I’m happy with the purchase I made and I know it will last me into the first couple of years of my professional career.

One thing my team could improve on for the next sprint is better documentation. This is something Dr. Wurst had mentioned and also a bigger conversation we had as a team during our retrospective team meeting. We discussed how although we may be doing a lot of work and research on our own, if we are not documenting this process, it’s like it never happened to future groups who join this capstone project. We discussed how sometimes it’s difficult to document as we work because it breaks up our “flow”. One solution we came up with to address this problem is setting aside 10-20 minutes at the end of our work to strictly document what was done.

One thing I think I can work on doing better in our second sprint is documenting the work I have done. This was especially a challenge for me in the beginning when I was transition from one laptop to another, but now that I have a more reliable set up, this is something that should not be as much of a challenge to do. Moving forward, I like the idea of checking in at least once a week with my teammates outside of regular class time to update them on the progress I have made. This would be a great way to build a routine where I am regularly creating some form of documentation.

Lastly, I will include links as evidence of activity on I’ve contributed to GitLab with one sentence descriptions.

    • In this post, I wrote some notes on some of my research in deciding whether React was a viable framework for us to use.

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

Sprint 1 Retrospective

My group for this sprint was team 3, and we worked on the FoodKeeper for LibreFoodPantry, and at the end of our first sprint, we have made a pretty good amount of progress. A lot of work has been done to the API for its schemas, paths, and responses, and we have done some work on the backend too with its endpoints.

We have worked well as a team so far by staying communicated with each other and everyone had a roughly even amount of weight and work. We were assigning issues to different people and learned quickly not to have multiple issues assigned to a person at a time because the work would be unbalanced and/or other people would be left without things to do. Each person had an issue either done or mostly done by the next meeting, and they had their next issue assigned after resolving any problems. Everyone was involved in the in person discussions.

Our main area of improvement is communication on gitlab, because for our first sprint, the majority of our discussions were in person or on discord. Because of this, there was not much discussion on gitlab in the comments of epics, issues, and merge requests. This can make it look like we are not having these discussions when people look at the project and go through the work done for it because they can’t see our discussions on discord or in person, so we will using gitlab for our discussions and questions more often. The two other areas that were talked about were how we handled our standup meetings and merge requests. Our stand up meetings would go a little longer than intended because we would have minor discussions when talking about what was worked on, and we agreed to wait until everyone talked about what they did, what they plan to do, and what is stopping them, before we go into our questions and discussion. With our merge requests, we thought it would be a good idea for a few people to check and approve requests before the meetings, so less time is used on reviewing the requests.

As an individual, I think I was doing a good job on the issues I worked on, and I was involved in the in person discussions. However, I was not talking that much on discord because I wanted to wait until I was in person with the group to ask any questions I had. We are focusing more on having discussions on gitlab instead of discord, so I want to be more involved on there than I was on discord for the next sprint.

Gitlab links :

The schema for modelandview, I originally made it as a .js file and had to change it to a .yaml file.

The paths for the category object that includes getAllCategories.yaml and getCategoryID.yaml.

The endpoints for the category object that include getAllCategories.js and getCategoryID.yaml.

The product endpoints that includes getAllProducts.js, getProductWithID.js, getProductIDName.js, and getProductCategoryID.js.

The index.yaml file that covers the paths for the api, the put methods from the first request were meant to be get methods, which has been fixed in the file itself.

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

Retrospective 1

When I saw the assigned group for the project, I had no idea who the people were. I saw the familiar faces, but did not know anyone’s name. On the first day of us seeing each other, we had a good greeting, even though we were missing two people. That day we all just talked about our repository, discord, and how to access them. We also talked about who will be the scrum master, for the project. The day went smooth like a butter.

On to the next week, all 6 of us were there and our scrum master (Vien) already had in his mind what to do for the project and how the planning should be, while all I did over the weekend was sleeping. Our scrum master divided the group into two, Frontend and Backend. I choose to be on the frontend team as I kind of wanted to learn more about frameworks such as Vue, React, or Angular. As I cloned the repository to my local machine, I had no idea what I was looking at, the docker images were wrong, the form for guest info did not open all the contents, the styling of the form was not responsive, and so on. Our (frontend team) first task was to refactor the frontend repo using vue.js and this is exactly what I wanted, I wanted to get more in depth with Vue.

On the third week, our scrum master already put up a lot of issues in the issue board, and I was so happy he did it. There was already a branch called refactor-branch which was created by our scrum master, and it had two components inside it. Frontend had 2 separate parts to complete. When a page reloads for the first time, it should only show an option for guest ID and nothing else, once the guest enters the ID, the rest of the form should display. Our main goal for that week was to display the rest of the form when the user clicks the submit button. One of my teammate refactored the guest login while the other teammate did the rest of the form in vue.js, and I connected both of their work/component in the main app.vue.

Fourth week, our side of the project were starting to look well, but there were still lots of work for us to do. Although I connected the two components together based on the button, it had its flaws, the form opened and closed once the user enters all 7 digits of their ID. To make it short and easy to understand, the button acted like a switch for a light. If a user clicks once, the form shows and when a user clicks again then the form hides plus the form stayed there even if a user removed their ID. It was a little success from my side, but in general, It looked lame, and I felt stupid. In order to fix that, I made little changes in the id-input component, and I was able to get the form to show only once and when a user removes even one digit from the search input then the form hides until he/she enter all 7 digits again. link.

5th week, Everything was going smooth. Teammates were adding small little important details here and there but at the end, who would want to use a form that has no style right? So I took a task to style the whole form which was left by previous students. And at the end I was able to get the form to look decent, although we might change the style or import one from the existing website.

At the end of the sprint, when my teammate displayed the form in a larger screen than my personal device, I noticed that the form stretches with the screen size. I managed to make form adjustable in phone screen, but I forgot about the screen that’s bigger than my computer, so I fixed it by setting a max width here.

Overall, I think our spring went well. The frontend side did a pretty good job and I when I looked over all the commits in the backend repositories, I noticed that they have been working even harder than the frontend team. In my opinion, I think it would be better to have only 2 people on the frontend and have 3 people for the backend while scrum master looks over all the infracture/review for the tasks. As for myself, I need to discuss more with my group about my work and share everything. With all due respect to my teammates, I don’t think we could have done this well without our scrum master (Vien) who have a good vision and I can tell that he is really putting all of his time to this project. Overall, I’m glad I’m working with this amazing team.

From the blog cs@worcester – Dream to Reality by tamusandesh99 and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective – Sprint 1

This first sprint could have went better but it is to be expected as it is the first time for most people to work like this. There group so far seems to have congealed well and can communicate well with each other. We were able to obtain the necessary information for helping build the project and now we should start to move at a faster pace to get the project done.

There hasn’t been much to critique so far since we haven’t quite starting working on coding yet but some of the issues that have come up so far would be with the way this group has been going . This process is still new to everybody so people are still taking the time of getting used to working on these different issues. There is the issue of the communication of the team so far. The way that the team is going to work isn’t quite clear and the path we are taking needs meeting time to figure out so that . The team could improve by communicating more with each other more, especially when the team tries to set up meetings outside of class and part of the team does not respond or does not make it clear if they are going to show up.

Then for me personally, I don’t think that I have made much of a considerable impact so far as the team just recently has the means to move forward with the project. I have contributed in discussions in the team and helped set up tools to use for the project later on. I could improve as an individual by contributing more in the discussions and think of more ideas on what we should be doing in the project. I also could have done more on GitLab as so far while most of the stuff added was nothing new and mostly mimicking what we have already done in the past, I probably could have taken the initiative to add some work into GitLab instead of another person doing it.

The majority of the time spent on the first sprint was getting our bearings together and figure out what exactly we were supposed to do in this sprint. At first, there were hopes of getting the API up and running by this first sprint ends but that was later put down due to confusion on what the specs and information was needed from other people. It took quite a bit of time to get this information as it was obtained at the end of the sprint which means that the coding will haver to wait until the 2nd sprint. There was also work that we had placed into the sprint backlog that should have been saved for later sprints as they required information and buildup that we did not have at the time. This fuss over issues like these had costed us time that could have been used elsewhere.
I added the tools necessary to the backend devcontainer and helped some team members on running the tools.

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

Sprint Retrospective #1

               As the first sprint of the Naturalization Interview Confidence Environment project I have been assigned to work on has finally come to an end, I think that it is time for me to look back on what my team and I managed to achieve, as well as reflect on what I think went right, what went wrong, as well as which of my actions I believe may need to be adjusted before the upcoming sprint begins. Initially, I was somewhat fearful that we would be off to a very rocky start, given how the project itself was borderline non-existent due to the lack of code or repositories from the get-go, meaning that we as a group started work from square one. However, such fearful sentiment had soon dissipated as the sprint went on and more work began to be done. That is to say that, for such circumstances, I believe that this first sprint was an overall positive experience, given the people that I was assigned to work with in my current group.

               In this sprint, my team began working on 40 issues across 8 epics, with around 29 of them being resolved by the end of the sprint. Though everyone was assigned issues to create and populate needed repositories, everyone’s main focus included looking for and learning what Native development framework should be used for the project, in which case I was involved with Ionic Angular. I was involved in the following issues (not including duplicated issues):

               As I mentioned previously, the first sprint overall went fairly well. Given how our main focus was to choose one of the three recommended frameworks that we had found (React Native, Flutter, and Ionic React), we were divided into three sub-teams of two members, with each sub-team studying a specified framework. Such dividing tactic worked very well for us, as each team could learn one framework and communicate their findings, such as what they believed would work well for the project. Overall, our method of dividing work among individual group members or sub-teams seemed to work very well for us, especially evident on the topic of choosing a framework because everyone was great at communicating their perspectives. This is also due to the fact that, even though we may have not worked with each other before, we still had some very good chemistry that made communication much easier and more productive.

               However, what did not work well for this sprint was the fact that we, as a group, were lacking on the aspect of properly documenting what takes place during meetings. Though our meetings in class were productive, we do not have any records of what was done or said during the meeting except for some issues posted on the issue boards, and this lack of documentation may bring some difficulties to people who may work on this project in the future. As for myself, I admittedly felt like my time management skills for this sprint were not exceptionally great, given how I devoted disproportionate amount of time and effort into learning Ionic Angular in a somewhat selfish manner, as if I wanted to learn this framework as part of a hobby rather than as part of the project.

               Regardless, this first sprint was off to a very good start, all things considered. Of course, there are some aspects that we have all agreed that we need to really work on as a group, namely the aforementioned lack of documentation of our meetings. Thus, we may need to develop a strategy that can help us keep a proper record of each meeting without breaking the flow in a distracting manner. As for myself, I will definitely need to improve on my time management skills and learn to devote the appropriate amount of time on tasks that need to be done and further learning of React Native.

Direct links to issues:

  1. Scope for the Ionic framework:
  2. Create demo app in Ionic Framework:
  3. Add a file to the “Documentation” repository:
  4. General Resource Collection:

From the blog CS@Worcester – CompSci Log by sohoda and used with permission of the author. All other rights reserved by the author.