Open PaarasPurohit opened 10 months ago
Shreyas Sarukar grading Varaprasad Nibhanupudi | Name | Team+Indi+Teacher | Runtime | Issues | Key Commits | Analytics |
---|---|---|---|---|---|---|
Varaprasad Nibhanupudi | X+0.9+X | Runtime and Runtime Fibo | Iteration Review, Project | commit 1, commit 2, commit 3 commit 4 | Frontend, Backend, Profile |
Requirement | Tangible(s) |
---|---|
Video, includes Web demo of key contribution to the project, 1 minute | Video |
Issue(s) that show plans/progress to team objectives | Iteration Review (the rest I was absent for), however, I created a GitHub project to track what we were doing throughout our project |
Highlights of key commit(s) in Issues, summarizes code contributions | Shown below. I was the pseudo-backend/devops, and I did the frontend-backend connection, as well as the bogosort and insertion sort algorithms. I also set up the system by which we would have inheritance for our sorting methods |
Review GitHub analytics for key commits each week during the project, shows consistent participation for 3 weeks | Screen Shots Below |
Backend
Frontend
Creating the Inheritance Framework:
Insertion Sort Code
Bogo Sort Code (I really wanted to try it so I did it, we planned for it to be implemented but it never was
API Controller
Throughout this project, I learned how to improve my collaboration skills with other team members, as well as work on some parts of Java I wasn't technically proficient in. Throughout last trimester, our project, while ambitious, had been muddled by miscommunication, supply chain issues, and more, which led to a project that was under what we wanted to complete. Thus, this trimester, I vowed to try and complete the project we set out to. For the first week however, this wasn't true. I was slacking off and not really using my weekends to my fullest. But midway through I changed that. I started setting more consistent schedules for myself (which I used to hate) and adhered to them. I made time for coding, even asking my father for advice on how he plans coding with breaks. Through this, I became much more efficient in my coding, and I even looked into sounds that could help my study, like brown noise. This project has helped me greatly in improving my time management and communication skills.
This project also helped me understand Spring. Many of the people I had worked with before often used tools like ChatGPT or the internet to understand how Spring worked. While that was fine for the time being, I knew that if I was going to be coding Spring, I had to do it myself (I really like coding by hand as opposed to ChatGPT). So I spent time dissecting each part, each decorator, each method, to see what they did, and eventually I was able to grasp how the sorting methods were used. Through this I also gained an appreciation for the framework surrounding spring, including the POM files, which are truly amazing at reducing installation times, and the JWT security and CORS. I definitely appreciated being able to set what origin our Spring application could accept.
Nevertheless, I still used ChatGPT to an extent in my project, as I have for other internships, and I found that it has been extremely useful. Throughout this project, while I seldom asked ChatGPT for code, I still used it heavily as a debugging tool, similarly to many of my peers. I found that it's not just great for giving answer, it also is great because it points out areas that you may not have seen, and you can use your human intuition to gather what may be the issues there. I used ChatGPT to bounce off ideas, and see what I could do to solve an issue.
Throughout this project, I've learned many things, including the value of many tools we use, to many soft skills that I'm sure to take into our passion projects. But while still I have improved, it is imperative that I take these skills into the passion project with full force, and I don't let them go, lest I have to deal with the consequences and time loss of having to deal with them.
Individuals Video, Issue(s), Commits(s):
Requirement | Tangible(s) |
---|---|
Video, includes Web demo of key contribution to the project, 1 minute | Video |
Issue(s) that show plans/progress to team objectives | Iteration Review, Mini-Project Check-In, Team's Review Ticket created by me, Ideation Key Commits, Individual Check-In. |
Highlights of key commit(s) in Issues, summarizes code contributions | I solely did the frontend and did bubble sort, as well as worked on the API controller. Images of key commits are found below. |
Review GitHub analytics for key commits each week during the project, shows consistent participation for 3 weeks | Frontend GitHub Analytics and Backend GitHub Analytics |
Frontend Analytics:
Backend Analytics:
Reflecting on our project's initial challenges, it's evident that we encountered a rocky start in the first week. However, the silver lining was our ability to rebound and learn crucial lessons along the way. The paramount takeaway from the initial phase was the absolute necessity of consistent and open communication within the team.
In response to the communication challenges faced during ideation, we've decided to adopt a more inclusive approach. Instead of zeroing in on a single idea, our strategy now involves generating 3 to 5 viable concepts. This way, we can present the options to Mr. Mortensen, fostering a collaborative evaluation process to determine the most promising direction. This approach aims to mitigate complications regarding the purpose of each idea and whether that purpose holds significance.
Despite the hurdles in ideation, there were notable achievements in other aspects of the project. The meticulous assignment of roles within the team proved instrumental in streamlining our workflow. Ensuring that all designated features were completed contributed to our ability to deliver a finished project by the stipulated due date.
However, as we assess areas for improvement, it's evident that certain technical aspects could be refined further. The front-end, in particular, left room for enhancement. The styling was rudimentary, with the use of basic div elements for the sorting animation. This minimalistic approach, while functional, resulted in a visually unappealing presentation, and the page experienced disruptions during the animation phase.
On the backend, our communication regarding the system's operations could have been more seamless. A more transparent and consistent flow of information would have enhanced the team's understanding of the backend processes, fostering a more cohesive and synchronized development environment.
In summary, while we managed to complete the project adequately, there is a clear acknowledgement that there is room for improvement. The lessons learned, particularly in the realm of communication and collaborative decision-making, will undoubtedly serve as valuable foundations for future projects. As we reflect on this experience, our commitment to growth and improvement remains steadfast, and we are poised to leverage these insights to elevate the quality of our work in subsequent endeavors.
Name | Team+Indi+Teacher | Runtime | Issues | Key Commit(s) | Analytics | Video |
---|---|---|---|---|---|---|
Tanay Patel | 0.8 + 0.83 + ? = 1.63 + ? | Runtime + Fibo | Iteration Review, Project | Fix Data Storage Merge Sort | Backend, Profile | Link |
I mainly worked on 2 projects, one which was a cookie clicker game and one which was a weather app, both of which got scrapped due to them not quite meeting what Mr. Mortensen was looking for.
Implemented the merge sort algorithm for use in sorting the data, showing us how merge sort is the fastest of the algorithms we looked at by using the time complexity as well.
This one was mainly fixing how the data was being stored after we take the request from rapidAPI. Before we weren't accessing some data within the Weather object.
Issue 1: A big issue that we faced was trying to change from taking the list in the url to switching to the request body. Paaras spent a while trying to get that figured out, it was a simple fix, just switching to RequestBody instead.
Issue 2 Using thyme leaf to help fix the error with the data nested within the Weather object not showing up.
During this trimester, a significant challenge arose related to time management, specifically involving an unforeseen diversion into the cookie clicker project. Looking back, it became evident that a crucial lesson emerged regarding the importance of judiciously selecting projects that align seamlessly with established requirements. Despite investing substantial effort into developing the entire backend for the cookie clicker, we subsequently realized that it did not meet Mr. Mort's specifications.
This experience highlighted the need for comprehensive project planning, underscoring the significance of a more strategic approach to project selection from the outset. Clear communication and a thorough understanding of project requirements are crucial to avoiding such detours.
In terms of coding, my learning curve experienced notable growth, particularly in the area of data management. I deepened my understanding of saving data from external requests, drawing on prior experience in a similar context. The process became more streamlined due to increased familiarity with dependencies and a more nuanced approach to parsing JSON data. This development marked a tangible improvement in efficiency, showcasing the practical benefits of hands-on experience and iterative learning.
Team Review ticket containing key Team and individual contributions
Technical Contributions
Collaboration and Communication
Proactive Problem Solving
Individual Reviewer: Vinay grading Tanay
Individuals Video, Issue(s), Commits(s)
[x] Review GitHub analytics for key commits in each weeks during the project, shows consistent participation for 3 weeks 0.75-Tanay was an active contributor throughout the 3 weeks
Freeform comment.
(0.75+0.75+0.75+0.75)/3.6 = 0.83
Overall, Tanay showed that he worked very hard to complete the project in the 3-week sprint. The project looks very cool, and he showed that he was an instrumental part of making it look and work that way. I think that he is in a good place to improve his understanding of key Java concepts
Individual Review "Rohin" grading "Paraas"
Individual should show that they were key contributor and example to team. This includes their participation in ideas, plans, creating individual issues, providing code commits to project, crossover grading participation, being on task and positive example in the classroom. Individuals Video, Issue(s), Commits(s)
Video, includes Web demo of key contribution to project, 1 minute Issue(s) that show plans/progress to team objectives Highlights of key commit(s) in Issues, summarizes code contributions Review GitHub analytics for key commits in each weeks during the project, shows consistent participation for 3 weeks Per check. 0.55 not attempted/no check 0.7 attempted, incoomplete, but some runtime 0.8 mastery and runtime 0.9 above and beyond.
Positive Comments Video Demonstration
Created a 1-minute video showcasing a web demo of significant contributions to the project. Planning and Progress Documentation
Contributed to Iteration Review, Mini-Project Check-In, Team's Review Ticket (self-created), Ideation Key Commits, and Individual Check-In to demonstrate planning and progress toward team objectives. Key Code Contributions
Solely responsible for the frontend development, including the implementation of Bubble Sort and contributions to the API controller. GitHub Analytics Review
Regularly reviewed Frontend GitHub Analytics and Backend GitHub Analytics, demonstrating consistent participation over three weeks. Effective Communication and Documentation
Active involvement in various documentation aspects, including team reviews, check-ins, and planning, reflects a commitment to effective communication within the team. Technical Proficiency
Sole responsibility for frontend development, especially the implementation of Bubble Sort, showcases technical proficiency and individual coding skills. Consistent Participation
Regular engagement in reviewing GitHub analytics for both frontend and backend indicates sustained commitment and contribution throughout the project. Overall Evaluation Comprehensive Involvement
Active participation in planning, coding, and documentation highlights a well-rounded contribution to the team. Demonstrated Leadership
The initiative to create the Team's Review Ticket indicates leadership and a proactive approach to project documentation and evaluation. Alignment with Team Objectives
Tangible contributions align with team objectives, showcasing a clear understanding of project goals and active efforts to achieve them.
Individual Review Shreyas Sarurkar grading Varaprasad Nibhanupudi
Individuals Video, Issue(s), Commits(s)
[x] Review GitHub analytics for key commits in each weeks during the project, shows consistent participation for 3 weeks
Per check.
0.55 not attempted/no check
0.7 attempted, incoomplete, but some runtime
0.8 mastery and runtime
0.9 above and beyond.
Freeform comment.
I gave this 0.9 because I saw plenty of improvement of collaboration and contribution to team development, as we can see he has steady commits as well as github boards to stay in touch with his team. He also has a lot of explanation on his development through the project. It seems that he has improved from last trimester and has been consulting with his team much more to get his project done. He also has a very deep understanding of the code and the advanced principles. I really liked the volume of easy-to-read yet in-depth info on his journey through his project
Throughout this project, I learned how to improve my collaboration skills with other team members, as well as work on some parts of Java I wasn't technically proficient in. Throughout last trimester, our project, while ambitious, had been muddled by miscommunication, supply chain issues, and more, which led to a project that was under what we wanted to complete. Thus, this trimester, I vowed to try and complete the project we set out to. For the first week however, this wasn't true. I was slacking off and not really using my weekends to my fullest. But midway through I changed that. I started setting more consistent schedules for myself (which I used to hate) and adhered to them. I made time for coding, even asking my father for advice on how he plans coding with breaks. Through this, I became much more efficient in my coding, and I even looked into sounds that could help my study, like brown noise. This project has helped me greatly in improving my time management and communication skills.
This project also helped me understand Spring. Many of the people I had worked with before often used tools like ChatGPT or the internet to understand how Spring worked. While that was fine for the time being, I knew that if I was going to be coding Spring, I had to do it myself (I really like coding by hand as opposed to ChatGPT). So I spent time dissecting each part, each decorator, each method, to see what they did, and eventually I was able to grasp how the sorting methods were used. Through this I also gained an appreciation for the framework surrounding spring, including the POM files, which are truly amazing at reducing installation times, and the JWT security and CORS. I definitely appreciated being able to set what origin our Spring application could accept.
Nevertheless, I still used ChatGPT to an extent in my project, as I have for other internships, and I found that it has been extremely useful. Throughout this project, while I seldom asked ChatGPT for code, I still used it heavily as a debugging tool, similarly to many of my peers. I found that it's not just great for giving answer, it also is great because it points out areas that you may not have seen, and you can use your human intuition to gather what may be the issues there. I used ChatGPT to bounce off ideas, and see what I could do to solve an issue.
Throughout this project, I've learned many things, including the value of many tools we use, to many soft skills that I'm sure to take into our passion projects. But while still I have improved, it is imperative that I take these skills into the passion project with full force, and I don't let them go, lest I have to deal with the consequences and time loss of having to deal with them.
Pros | Cons |
---|---|
We got to code code code | We wish I could have done a project with purpose |
We improved on my collaboration and communication skills | We lacked issues and project tracking or accountability aside from github projects |
We was able to learn a lot about the Spring backend, something I did very seldom | I didn't follow instructions at time and we wasted time with a project that didn't |
t meet requirements. | |
We finished our original work rather quickly | We didn't have great planning |
XXXX | We didn't go as in depth as we could have |
From a team perspective, this didn't feel like the best project. Listed below are each of our team member's individual reflection and retrospectives. Included what was wrong is what they coudl have done better, and what our team members could have done better
Paaras’ Take: One thing Varaprasad could’ve done better is explanation of technicals. During the project, I asked him about some concepts and some tasks that he wanted me to complete, and the way he explained them included jargon, overcomplication, and vague details. Another thing he could've done better was communicate to a greater extent over the times he was not at school. I completely understand that being sick is something inevitable, but we are in a computer science class, meaning that we are able to communicate over Slack and other means. Being ill shouldn't bar communication. Although there were definitely some improvement points, he did all of his work with high quality, ran the team even when leadership wasn't always his job, and was overall a great team member to work with.
Tanay's Take: I think Varalu could've benefitted from some better communication within the team. He clearly had very strong ideas, but he sometimes didn't articulate them well to the rest of his team, leaving us to fill in the blanks. He is not kinda cute tho ngl
Taking in everybody's reflections upon my skill and what I can work on, I see that communication is not my strongest suit. I think communication also comes from my issues with time management, something I have taken strides to improve constantly over my time in CSA. I have a bunch of lists preloaded on my computer to go off for reminders, and I have been taking my time scheduling out my day, including physical health, homework, and most importantly code blocks. I have been talking to my dad, a manager himself, how he blocks out time and been taking advice from him to do stuff. Improving on these two skills is great headway, but I must make sure that I keep this into the rest of my projects.
Something we wanted to do with the project but couldn't end up doing with the project was some of the Fibonacci. Rushing, we couldn't fix up a lot of the Fibonacci HTML styling that maxes it slightly less than aesthetically pleasing. Thus, we wish we could have done more with that.
Team Review "Scrum Master A" grading "Scrum Master B":
Varaprasad Nibhanupudi
Tanay Patel
Paaras Purohit