Cyber Crop-bots
GitHub Page: https://github.com/abhi-386/ACIC_2021_Midterm
Website: https://abhi-386.github.io/ISTA429Midterm/
Report: https://docs.google.com/document/d/1MCLDuSoEgxVEk9BChzzN8zxuc2Mf6TtiNUkkKQ56_IQ/edit?usp=sharing
Team Members:
Melanie Grudinschi: Python, Matlab, R, Linuix, Jupyter Notebooks
Hayden Payne: R, Python, Unix/CLI, HPC, C++, JavaScript, data management, plant science knowledge
Sebastian Calleja: Python, R, general data wrangling and plant science knowledge
Nik Pearce: Python, Java, C, MIPS, Unix, R, OO concepts/designs, SQL
Abhishek Agarwal:
Languages & Database: Python, Java, Visual Basic, C, R, JavaScript, MySQL, Shell Script
Tools: MATLAB, Android Studio, RStudio, Eclipse, Octave, Jupiter, Git
Primary Contact/spokesperson: Sebastian Calleja
scalleja@email.arizona.edu
contact via email or slack
Potential Weaknesses:
Machine Learning
HPC
Algorithm Development
Rules:
Develop reflexive habits.
As a team, we all abide by this rule to develop reflexive habits. Each member of our team has some informative background details, which will be helpful in our project. Beyond that, every other Monday, our TA organizes a workshop that includes learning shells, Jupyter notebooks, and other basic essential topics. Such seminars help us keep in touch with the basics and learn about the new stuff contained in these workshop topics.
Communicate the project management plan early and often.
Our team abided by this rule due to efforts made by Hayden. She created an initial team document to organize the team’s goals and plan moving forward. This skeleton document helped keep the team on track during the duration of the project. We could have done better at assigning team roles and responsibilities earlier on.
Speak the same language.
To grow and excel as one team, we need to communicate in a common language. Our team consists of members from different backgrounds, but we all share English with each other. Being in a group, each member’s question is respected and allowed to speak about the project. If one member faces a problem regarding the project, other members are willing to help solve the problem.
Design the project so that everybody benefits.
As a team, we look forward to designing a project so that everybody benefits from it. Being a mix of engineering and plant science students, we all possess distinct contributions that each member offers to their field. We comment on our code and separate it into different blocks for individual debugging whenever we write our code. This practice helps us to share our code, and others could benefit from it. Every result in our program is labeled and well explained as well.
Fail early and often.
Our team realized this rule very early on when it was found that code created and run by one team member could not be run by another team member. This was because one team member was running the code on Jupyter Notebook locally and the other team member was running the code using the HPC. Realizing these problems early on helped us solve them and move on successfully.
Share collaboration tools.
Our team abided by this rule by communicating effectively with instant messaging through Google Chat. This allowed us to share ideas, documents, and questions. We used Google Docs to collaborate on documents and work simultaneously. Finally, our team used Github to manage version control and updates to our files.
Manage your data like the collaboration depends on it.
The team followed this rule by sharing Juptyer notebooks through our team chat. The team was notified when major changes were made and what those changes were. Also, the code and data were stored in Github where everyone could easily access it and see where changes were made. The FAIR (findable, accessible, interoperable, and reusable) principles were used because everyone had access to the Github which was easily findable in an email invite sent to them. Everyone could operate on the files in the hub and reuse them whenever needed.
Write code that others can use and reproduce.
Our team follows this rule to increase productivity and reduce redundancy. We are all working on individual Jupyter notebooks so that we can effectively use one’s code. Before we grouped to start working on the dataset. Sebastian generously created a Jupyter notebook, which loaded the data frame from the dataset and created a visualization of our data with different variables.
Observe ethical hygiene.
Our team followed the rules of the competition but did not look too closely into other ethical guidelines and laws. Our team was aware that the data and problem itself and did not pose large negative harm risks since it did not include any human or facial recognition aspects. Our team could have followed this rule more closely by reviewing the ethical guidelines on the National Science Foundation website.
Document your collaboration.
Our team mostly followed this rule by completing the team evaluation at the end of the project. We documented everyone's individual contributions. Our team could have improved upon this rule by evaluating how well we worked together as a team and stating what worked well and what did not. An evaluation of how each meeting went could also improve our collaboration documentation.