DIY GUI: Cue Cards

GUI Repo on Github.

Have you ever been in a test, or job interview, and received a question where you think "I should know that", but come up completely blank? I know I have. As I approach graduation, I have begun to remember that feeling. I picked up a lot of knowledge over the course of my program, and it can often be difficult to remember some detail right off the top of my head.

Knowing that most job interviews will involve some amount of demonstrating knowledge of theory, and knowing that I really don’t want to write out dozens of cue cards, I needed a solution to help me avoid forgetting, while making it easy for me to save and track questions.

Looking through hundreds of data science questions online is helpful, but often questions and answers are directly beside each other, or they are written in a voice that isn’t my own and that can make it harder to remember.

Knowing my own personal problems, the solution seemed obvious. I decided to whip up a quick GUI (Graphical User Interface) to act as my cue cards. I could use online sources to get questions and question ideas, but edit questions and answers if need be.

Since I am already familiar with Python and QtDesigner, it made sense to build the GUI with it. QtDesigner comes packaged with Anaconda (access it by writing designer into the Anaconda Prompt).

I haven’t bothered to bundle the application into an .exe, as it’s still a work in progress. However, this beta version will still work if called correctly.

HOW TO USE

In the Anaconda Prompt, navigate to the folder containing main.py. Once there, type the above to run the GUI.

This is the admin screen, which will allow you to create a new profile, create a new question base, or load past profiles and question bases. Right now, I am bundling the application with a Data Science Theory question base.

To load, just select the user profile/question base, and click the Load button beside it.

Once loaded, note that the User and Question Base labels will be populated with the selected profile and question base. Also note that the categories list is populated once we load a question base.

User profiles and question bases are stored in JSON files in the data folder. They are lightweight and load very quickly.

The reason for the user profiles is to track a user’s stats when answering questions. This way, you can check how well you are doing overall, as well as see any categories that might need improvement.

Adding new questions to the question base is easy. Just click on Write New Question, and it will bring you to the following screen.

Make sure you add at least 1 category before moving on.

Let’s go ahead and quiz ourselves. You can start a quiz with all question by just clicking Start Quiz. To focus in on fewer subject areas, you can select different categories to quiz yourself on. Just note that if you select the <ALL> category it will override the other selections.

If you want to limit the number of questions in the quiz, just specify in the text box prior to starting.

There is no sophisticated answering mechanism. You’re just going to have to speak it out loud, or write it down, before you click Show Answer.

Once you see the answer, you will have to hold yourself accountable, and select either Incorrect or Correct prior to moving on. This will help for your own personal stats and growth, so no cheating!

You can always go back and view your stats by clicking on the See User Stats button.

Ouch, looks like I still need some practice!

And that’s it. Just a simple tool to help me, and maybe you, prep for an interview.

This is a work-in-progress right now, but if you are interested in using it feel free to fork the Repo to get started! I will be adding new questions as I go along, so check back every so often.