This assignment was developing GUI program to display places list that is showing the status of visiting requirement or adding a new places to visit. Users can see the status message, and change the status whether the place has visited or not by simply clicking the buttons of each places. They can sort places by title, country, and priority as well. Also, when users want to add a new place, they can just fill up the text fields, and click the 'add place' button. Error messages will be displayed whenever the users make input errors. They also can clear text fields by simply clicking the 'clear' button. .
The entire project took me 6 days to complete. Based on WakaTime, I spent around 26 hours in total including all the trials and errors. The day I spend was shorter, but the hours taken were longer than the previous assignment. And according to the graph, I spent more than a half of the total hours in two days. It means that I did not distribute my work well. Based on this experience, I will do better at planning when I do the similar project in the future.
The most satisfied part of this assignment was to create a GUI program (by using kivy) that was quite more interesting than the assignment1 which does not need the graphical interface. Although my program was not very perfect, it was really interesting to create a simple app that can interact with users. To be honest, it was not really easy, but I have learned a lot how to create graphical user interface, how to use the classes, how to organize the functions, and perseverance from a bunch of trials and errors.
the solutions. After I completed the assignment1 successfully, I was a bit proud of myself and earned some kind of confidence because I made it for the first python work. It was a great motivation for programming, however, at the same time I was a bit unaware of the next assignment will be way harder. At the same time, since some holidays and other assignments, I started this assignment quite late. Thus I could not have time to think deeply and plan precisely for the build this project. Therefore I was not able to complete this assignment to be looked like what I desired, and it remains a lot in my mind.
In my development process, the sequence of coding worked well. From previous assignment, I have learned that the sequence of developing functions are very important. Thus I tried to think which functions should be developed first and which should be the next. Especially, since we had to use classes for this assignment, they should be completed first to be used. Therefore I started from developing classes, then the functions in order, I was able to face less errors.
For the next project like this, I think the completeness and time planning could be improved. As mentioned above, since I started this project pretty late, I was not able to plan the working time and distribute work day by day. I just worked whenever I have time, so sometimes I worked too less and sometimes I worked too much so I felt exhausted. And I'm sure that it affected the completeness of the project as well. Since I have learned these from this assignment, I will more concern about the time managing and improve the completeness for the better project development.
Resources that I used was lecture slides and kivy demos and practicals. Firstly, I was not really sure about the concept of using classes that was really important for this assignment. Thus I reviewed lecture slides carefully until I get the concepts. Then, actually kivy demos were the most helpful resources to complete this assignment. Although the lecture slides are explaining by words, sometimes I was not sure about how to apply. Since kivy demos were showing a various use and methods, it was really useful. For example when I try to show message when a button is clicked, I found a demo that has the same feature as an example, so that I was able to apply it easily. Recent practicals also helpful to create and use classes that was required to this assignment. I scanned the file structures and functions then I tried to apply it into my assignment.
The main challenges were unorganized python information and lack of usage skills. It was the first time to learn a programming language this semester, so I have learned a lot of new knowledge. However at the same time, all the bunch of information were not organized well in my mind these days, besides I was not sure how can I apply the coding knowledge that I have learned. Therefore, during I work on this assignment, I reviewed lectures and practicals again and again until I get the point, and sometimes I searched to watch other tutorials explaining the parts that I was not really sure about. So my progress was not so speedy in the first few days, however after that I could speed up a bit and finished my assignment.
It was the first time that I used class code. By using it , now I can code more efficiently rather than before.