Sei sulla pagina 1di 3

Nicci

Vyea R. Casenas
CS 321 Writing Assignment # 3

Our project is called Cell Survival, which is a biologically inspired simulation where
“cells” compete for resources and mutate in random ways every time they split. The cells have
different tendencies, such as temperament, activeness, and maternal inclination. These tendencies
alter the cells’ choices on what to do on the board. Each cell has the choice to split, examine,
grow, move, and idle. The probability of choosing an action varies on the level of each tendency.
This project focuses on the aspect of Machine Learning. The cells make choices of their own
based on the algorithm and probabilities that we developers have provided.
I have contributed enough to the deliverables throughout this semester. In deliverable p0,
I wrote my team’s contact information, leader name, and the reason why we chose our group
leader.
In deliverable p1, I wrote the methodology used and some of the functional and non-
functional requirements. I did not write the majority of the requirements, because our leader is
the one who knows the specifics and in-depth details of this project. It was his idea to create a
machine-learning simulation. At this point, he was still trying to convey the algorithm and
implementation process to us.
In deliverable p2, I wrote the architectural pattern that we applied in our system. I chose
event-driven because our system runs off of user systems and interaction. I also partially
contributed to the requirements (e.g. priority level, estimation time, purpose…).
In deliverable p3, I wrote the technologies used, preliminary screen mockup, and team
retrospective portion.
In deliverable p4, I wrote the technologies used and the software reuse portion.
In deliverable p5, I wrote the test plan portion.
I have also contributed to the programming aspect of this project. Although I have not
contributed greatly in the back-end portion, which is the core of this project, I was still able to
implement most of the work for the front-end portion. This task was suitable for me since I am
quite experienced with JavaScript. I also referenced the Java API Graphics class, which made it
easier to implement code. I mostly programmed the graphics portion of the start screen, board
tab, graph tab, and about tab. It took time and effort to create the graphics because I had to
manually compute the object’s proportions and grid positions to fit the screen. My primary goal
was to make our simulation look better aesthetically. It was my idea to make the cells colorful
and the food look like candies instead of squares in order for the simulation to be more
entertaining to watch.
Based on this team experience, I was able to determine the advantages and disadvantages
of working on a team project. Working with other people is more efficient than working alone
because it let us split the tasks of the project, which lessens the amount of code that each person
had to implement. Team members were all able to help each other throughout the development
process, such as when someone got stuck on their code. While there are advantages in this team
project, there were also disadvantages associated with it. One of my teammates barely
contributed to both programming and the deliverables. It was quite unfair because most of my
team members exerted significant time and effort in creating this project. If that person exerted
the same effort as the rest did, the workload would have been smaller.
The biggest lesson I’ve learned from this team project is the importance of
communication. Being able to communicate on a constant basis helps the team members become
aware of current issues, bugs, progress, and updates. It is also very important to be clear and
precise on any ideas and suggestions that you wish to add. This way, your team members will be
able to cooperate with you during the implementation of your idea. It also helps avoid any
conflicts and miscommunications throughout the entire project. This was especially important for
the project leader, who had to make sure everyone was on the same page.
I have also learned the importance of people and planning skills for project leaders.
Leaders are obligated to conform to the different personalities and approaches of their team
members to avoid conflicts. It is also important for leaders to know how to handle conflicts and
issues between team members. I also believe that they are obligated to have good planning skills
so that they can guide their team members throughout the development process. If a team
member gets stuck in the process, they should be able to guide them by considering plan
alternatives or other solutions.
Overall, my team did a great job in this project. We were mostly cooperative and able to
begin programming and writing the deliverables ahead of time. My team was very consistent in
meeting every Friday for 2-3 hours at 3:30 PM. Although personally, meeting on a Friday was
quite hard because I tend to become less productive during the weekends. I just always wanted to
leave early, but even with that mindset, I was still able to go to most of our meetings and carry
my workload. Every meeting was productive since we always finished what we needed to do.
Most of my team members were reachable on and off of campus. They were able to respond
quickly when I had issues with coding and writing the deliverables.
I had a great experience in this team project, and there is nothing substantial for me to do
differently when I encounter my next development project. Our leader made a good choice of
choosing machine learning as the core of our program. I enjoyed every single phase of this
project, and I don’t think we would have done better if we chose a different project. I am
personally interested with Artificial Intelligence, which makes this project interesting since it
exposed me to the aspects of AI.
My advice to future project teams in CS 321 is to ensure that you choose an efficient
leader who is capable of handling people and project issues. It is also very important to establish
a good relationship with your team members to avoid conflicts. Planning things ahead of time is
also helpful because it will allow you to have more time to proofread, solve problems, and
review your progress.
I truly enjoyed the entire development process of this project. I have personally never
experienced working in teams because most of my Computer Science projects are done
individually. The most challenging part of this team project was to convey information and tasks
to team members who had different approaches on how they wanted information to be given to
them. From this project, I have learned how to manage, associate, communicate, and cooperate
in the best way possible to a team. It allowed me to enhance my skills in team development, as
well as working with different types of people. I believe this team project was a great experience
for me, as it will help me prepare to work with different people in my future endeavors in the
field of Computer Science.

Potrebbero piacerti anche