The Capstone Festival gave my peers and I an opportunity to showcase the what we have learned throughout the program, and there were so many amazing projects! This is why I am beyond honored that my project was one of two selected as Project of the Year! My spouse and I celebrated with sushi and boba.
I am so excited that I could conclude my CS degree program with a project that promotes social good AND receive recognition for it from the professors and my peers.
This week is focused on wrapping up the project and getting usability testing finished. I was able to complete the course scheduling wizard and counselor portal for looking up student wishlists. I’ve deployed the demo site here: http://kazemicode.org/suhi/
While I am still waiting on some more feedback from Counselor users, I got a lot of valuable feedback from Student users:
On mobile devices, the collapsible nav bar was not displaying an icon to expand the menu (Fixed)
When I deployed to a remote server, links on the Graduation Requirements were broken (Fixed)
For anonymous users, private temporary storage for the session doesn’t behave as expected (For now, student testers will log in to an authenticated tester account until I can get this sorted)
Students would like the ability to add more than one core subject class (e.g. two science classes), so I am currently exploring different solutions for this — likely to be added after the capstone class.
All in all, I’m proud of what I’ve accomplished as Drupal and PHP are both new to me.
This week I had planned on finishing the scheduling wizard, but I noticed the catalog search feature was not returning all the intended results. After looking into this issue, I determined that the search was only utilizing the course title to fetch results and not utilizing the index I created using “graduation requirements” taxonomy (e.g., mathematics, science, etc). So, for example, when the user searched for “math”, it would not return math classes like “AP Calculus” because “math” is not part of the title. After exploring Drupal’s Search API documentation, I was able to remedy this issue by explicitly mapping an index to the taxonomy’s description rather than the taxonomy object itself.
I also spent a bit of time diving deeper into theming in Drupal, which is a bit less straight forward than writing CSS. In Drupal, you can use Twig files–template files that have an inheritance hierarchy. I was able to refine the appearance of my main web application with a mixture of custom Twig files and CSS.
I also created custom Twig files and CSS for the custom module that drives the Scheduling Wizard.
I have also resumed work n the logic of the Scheduling Wizard, which I hope to be finished with before the end of the working week so I can begin usability testing this weekend. What has slowed me down in this aspect is that there seem to be so many ways of doing one thing in Drupal and it can be challenging to find well-documented examples (and weeding through ones that may be deprecated).
Since I am completing the capstone project independently, I did not have a chance to implement the ideas covered in the article about effective meetings. However, I will be meeting with my client in the next couple of weeks (they have been stretched for time since they have transitioned to distance learning during COVID-19).
My plan is to front load the objectives (usability testing) and to provide a document that outlines the tasks ahead of time so that the majority of the meeting with the client can be allocated to the actual usability testing process and debriefing.
The key to avoiding such time-wasting meetings, however, is to determine whether a meeting is even warranted by planning with the end goals in mind. If a meeting is warranted, then it should ensure appropriate participation. One way to prepare participants is by sending the appropriate information ahead of time so that meeting time isn’t wasted as a “read-in” or a lengthy PowerPoint presentation where one person is talking and others are not participating. Checking in with participants between meetings to ensure they are doing the requisite “pre-work” will help all participants come to the meeting prepared.
If all participants come prepared, the meeting time can be maximized for collaborative work. Attendees will feel more energized and motivated because they will be taking an active role rather than a passive role (as with meetings where information in thrown at them either in packets of documents or via a presentation).
Documentation of meeting minutes is a critical step as it keeps everyone accountable and acts as a single source of truth. If everyone is held accountable for their action items, this will contribute to more effective meetings and higher productivity.