Inspiration
Many students suffer from procrastination. There are just too many assignments in the courses to organize effectively! Unorganized assignments can build up over time and increase stress and anxiety. So we created a program that can organize your tasks for you, based on your free time on each day of the week.
What it does
The program can keep track of courses, assignments, and exams. It can also let you know the best way to organize your week by producing a schedule of what you should get done each day. It will give you the most balanced work week by trying to ensure that the percentage of your time that is assigned for homework is roughly the same across every day.
How we built it
We created the program in Python, using only datetime and time as external modules. There are four classes, which are Assignment, Course, Day, and Exam. We will parse each line of user input and respond correctly and manipulate the data. The data is written to a .txt file at the end of file execution.
Challenges we ran into
We had a few minor troubles such as not realizing that Python's object list is shared among every object unless we initialize the lists inside of the constructor. We also had to design a way to parse from a file and to write back to files afterwards. We used special characters to separate sections of the data and then used .split() to correctly turn the compacted data back into usable lists.
What we learned
Some of our group members were not as familiar with how to use Python, and many mistakes were made and remembered. Our group also had no experience with working with multiple people and using Github, we had to learn very quickly within these 25 hours. We also realized that parsing functions can become very messy without the use of class methods, and this made debugging and fixing our code a little bit harder than necessary.
What's next for School Work Time Manager
With more time and experience, we could definitely create better algorithms to determine the best way to schedule the user's tasks. Furthermore, we could complete one of the ideas we brainstormed which was to import the user's calendar and directly export these tasks so the users can see it on the go. We would also like to add desktop notifications for not only the pomodoro timer but also alerts for when the user should start a certain task.
Log in or sign up for Devpost to join the conversation.