Before I got started, I had to understand exactly what were the requirements and the logic behind the student-randomizer that we were creating
One thing I did before starting with the frontend was come up with my own randomizer. With this, I was able to get a good idea on how I could begin with my work
Once, I got the logic behind the backend, I proceeded to work on the frontend. The beginning was relatively simple as I had to just make a method for inputting the list of students. From there, however, I really struggled with finding a way to output a randomized list of students.
I took a break from the frontend, and worked on the Constructor and the GetMapping for the webpage that I was responsible for. With this, I got further insight into what I had to do to get the output, as I worked with a tester method
With this new-found information I got by experimentation and online-tutorials, I finally came up with a method to print an output on a webpage, and I did it through 2 methods: A table and display cards (because it is fancier)
Relevant commits:
0b5adda0728ec6b5bd6f5cc41e93a5160447f43f
1eec4126b1bca475c090e969fef4452299560e7b
57f0254f8af6ae84d2eea256b2f66c2ef1adbf56
96b26905271d9d54fc25986a01eec0c80d0c29be (While this one is under Calvin, I came up with the logic for this program)
3a0d3dbf961bf3e464e35ad4cd5a231848f9eb75 (Build upon Calvin's work)
overall project reflection:
One thing I really learned from this project was Model View Controlling, which is basically just connecting the front end to the backend. In the past two trimesters, I had either taken jobs of working on the frontend (1st tri) or backend (2nd tri) individually, but this trimester, I wanted to experiment with the region in which both of them combine. This was applicable to our project as we would have an inserted Database, Arraylist, or list of names into an input box (frontend), which was then utilized to randomize and come up with the student objects in each group (backend). From there, the main challenge for me was finding a way to dynamically connect it to the output (frontend and backend combination) as I had to find ways to connect Java and HTML together. With help of Harry Li's knowledge of HTML and my experience with JAVA throughout the year, I am proud of the final result I came up with.
N@TM reflection:
link to photos
N@TM was an interesting experience as I got the chance to engage in a discussion about my project with people who might have not had any coding experience before. I thought this was really cool as I had to learn to adapt and find ways to explain technicals in such a way that anybody could understand. At N@TM, I also got to view the various intelligent ideas that other groups came up with. One group I was especially interested in was the group that came up with a website for the nonprofit Coding4Kidz. I thought they did a really good job with their design and their usage of API and I believe that it can help revive the currently-obscure nonprofit organization. I also viewed the art work of other teams and immediately began thinking of ways that I could incorporate a coding/technological project out of the works.
Things To Work on in the future:
I had completed much of the assigned tasks that were given to me, but there are some things that there needs to be completed for the future.
There needs to be a connection between the Database and the randomizer. This could be done by storing all the students under a table in the database into a list or Arraylist, then connecting via HTML.
A Cool feature would be to have options for periods then the database categorizes by period to randomize everything with the period number chosen.
Something that I would like to see someone do was have a table layout then show the student names on those tables
This will be hard, but once role-based authentication is complete, then there should be a teacher-specific role in which they can save past groups in the case of a group project.
While I did all the jobs that I did, I think that I could have been more efficient. I believe that while I got the features together, I didn't complete the main task, which involved the database connecting to the program. -1 for this
Could have done more with java to make the groups changeable at the teacher's will. -1 for this
Overall, I believe that the job I had was one of the main jobs that the group had and while I struggled till the final day, I did everything the group needed, thus earning a full score for myself
My individual tech contributions were related to HTML & Java (utilized a sorting algorithm, wrote a unique java algorithm with a "Student" object to fulfill requirements, HTML understanding grew, and found a way to connect Java programs to HTML)
Overall individual grading: 28/30
scoring explained here
Links to code
Technical Process/Documentation
Why did this algorithm take me so long?
Relevant commits:
0b5adda0728ec6b5bd6f5cc41e93a5160447f43f 1eec4126b1bca475c090e969fef4452299560e7b 57f0254f8af6ae84d2eea256b2f66c2ef1adbf56 96b26905271d9d54fc25986a01eec0c80d0c29be (While this one is under Calvin, I came up with the logic for this program) 3a0d3dbf961bf3e464e35ad4cd5a231848f9eb75 (Build upon Calvin's work)
overall project reflection:
One thing I really learned from this project was Model View Controlling, which is basically just connecting the front end to the backend. In the past two trimesters, I had either taken jobs of working on the frontend (1st tri) or backend (2nd tri) individually, but this trimester, I wanted to experiment with the region in which both of them combine. This was applicable to our project as we would have an inserted Database, Arraylist, or list of names into an input box (frontend), which was then utilized to randomize and come up with the student objects in each group (backend). From there, the main challenge for me was finding a way to dynamically connect it to the output (frontend and backend combination) as I had to find ways to connect Java and HTML together. With help of Harry Li's knowledge of HTML and my experience with JAVA throughout the year, I am proud of the final result I came up with.
N@TM reflection:
link to photos N@TM was an interesting experience as I got the chance to engage in a discussion about my project with people who might have not had any coding experience before. I thought this was really cool as I had to learn to adapt and find ways to explain technicals in such a way that anybody could understand. At N@TM, I also got to view the various intelligent ideas that other groups came up with. One group I was especially interested in was the group that came up with a website for the nonprofit Coding4Kidz. I thought they did a really good job with their design and their usage of API and I believe that it can help revive the currently-obscure nonprofit organization. I also viewed the art work of other teams and immediately began thinking of ways that I could incorporate a coding/technological project out of the works.
Things To Work on in the future:
I had completed much of the assigned tasks that were given to me, but there are some things that there needs to be completed for the future.