0% found this document useful (0 votes)
10 views

Adam Coursework

Uploaded by

adam11042006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Adam Coursework

Uploaded by

adam11042006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 65

1

‘LearnWise’
By Adam Messis
28/08/2023

CONTENTS

ANALYSIS........................................................................................3
An outline of the problem......................................................................................3
Project management – How I managed the project throughout the year:..............................4
Introduction...................................................................................................... 5
About LearnWise:................................................................................................ 5
Gantt Chart....................................................................................................... 8
Stakeholders.................................................................................................... 11
How the problem can be solved by computational methods............................................12
Thinking abstractly............................................................................................12
Thinking ahead................................................................................................. 13
Thinking procedurally......................................................................................... 14
Thinking logically............................................................................................... 15
Thinking concurrently......................................................................................... 16
Conclusion....................................................................................................... 16

RESEARCH......................................................................................16
Interview with Saad Akram to get an idea of starting requirements...................................16
Interview script................................................................................................. 18
Review of interview............................................................................................19
Research into inspiration – ‘general knowledge quiz’ app...............................................20
How do the different features effect the engagement with app ‘general knowledge quiz’?.......28
Features that will be used for the app......................................................................29
Interview........................................................................................................ 29
Interview script: 29/10/2023.................................................................................30
A review of the interview: 29/10/2023.....................................................................32
Features for the proposed solution..........................................................................33
Hardware........................................................................................................ 35
Software......................................................................................................... 36
Success criteria................................................................................................. 37

DESIGN..........................................................................................41
2

Systems diagram

.................................................................................................................... 41
Why am I using this approach to help design my problem?..............................................41
Explanation on each module.................................................................................42
Usability features.............................................................................................. 47
Login/Sign-up................................................................................................... 47
Resetting password............................................................................................48
Forgot password................................................................................................ 49
Creating an account (Sign-up)................................................................................50
Main page/Home............................................................................................... 51
Stats page....................................................................................................... 52
Choosing categories............................................................................................ 53
Question layout................................................................................................. 54
Choosing the correct answer.................................................................................55
Completing the quiz........................................................................................... 56
Leaderboard/Points............................................................................................57
Settings.......................................................................................................... 58
Choosing incorrect answer....................................................................................59
Quiz over........................................................................................................ 61

ALGORITHMS..................................................................................61
Implementation................................................................................................ 63
3

ANALYSIS

AN OUTLINE OF THE PROBLEM

Applications such as quiz apps are essential in making learning in the digital sphere
of education dynamic and enjoyable. In order to meet the problems of user
involvement and the demand for dynamism in educational tools, this project serves
as an example of the union of careful design and flexible approaches. Over the
course of the next six months, a journey will be embarked on to create an
innovative AI-driven quiz application. A project management method known as the
agile methodology will be employed where we will break down each process of the
project into manageable chunks to ensure steady progress towards our goal. The
chunks in this methodology are known as sprints and they are as follows:
4

PROJECT MANAGEMENT – HOW I MANAGED THE PROJECT

THROUGHOUT THE YEAR:

Sprint 1: Project Brainstorming (2 weeks)

In this first sprint, we identified that there was a lack of AI education tools using
GPT. We decided to create an AI-driven quiz app that uses the GPT-3.5 model to
produce unique, exciting questions based on the user’s interactions.

Sprint 2: Research Analysis (3 weeks)

We spent this entire sprint trying to understand what technologies are needed for
the project. Python was high on our list, especially PySide6 as it helped bring our
application's user interface to life. At the same time, we explored how we could
best integrate an AI model especially an LLM (Large Language Model) such as GPT
into something educational like quizzes.

Sprint 3: Planning Design

To prepare for building out the app, I used PySide6 to outline its user interface. I
had an idea of where users should start when they log in and where they should
end up after receiving the quizzes. This kind of design planning was vital if we
were going to create a user-friendly experience.

Sprint 4: Development 1 (Research)

This sprint was all about finishing up technical research before starting
development. For example, I wanted to make sure using PySide6 went as smoothly
as possible or figure out how exactly GPT-3.5 could interact with our app without
breaking it.

Sprint 5: Development 2 (Development)

Having done the technical research and knowing what was required of me during
the development phase, it was time to develop the app. I wrote Python scripts
that would allow integration between GPT-3.5 and our app so users could receive
quizzes at their fingertips. The GUI went through a multiple test but ended up
being built with PySide6 for an easy-to-use experience.
5

Sprint 6: Testing and Evaluation

In this sprint, I made sure to test the app in all kinds of scenarios possible. Unit
tests on Python code and user interface tests on PySide6 were performed.
Feedback from peers helped make it more usable. The most time-consuming part
of this sprint was bug hunting, where a lot of bugs had to be ironed out.

Sprint 7: Refinement Phase (3 weeks - submission)

The final sprint is completing all the unfinished tasks in the previous sprints whilst
refining all the completed parts. Testing feedback was used to refine the
application as much as possible. I worked on ensuring that the AI-generated
quizzes would be accurate and relevant for users, this was done by tweaking the
prompts given to GPT3.5.

INTRODUCTION

In this era of digital learning, where there are tools for everything, it’s
surprising that A-level students don’t have more tailored resources. And now,
as technology continues to evolve, we can start to fill this gap. Introducing
LearnWise! An innovative quiz app for A-level students to help them revise
smarter, not harder.

ABOUT LEARNWISE:

LearnWise is an exam revision tool built exclusively for A-level students. It


started as a LearnWise and we then called it ‘LearnWise ’and was created after
recognizing the lack of specialized quiz apps available in the market today. It
aims to provide a platform where students can easily access comprehensive and
tailored revision resources.
6

When designing the app, we put ourselves in the shoes of the student. We
wanted to create a space that wasn’t just visually appealing but that also
optimized productivity. That’s why LearnWise has such a calming brown colour
palette — to reduce eye strain and fatigue during long study sessions.

We believe that each student learns differently at their own pace. And so,
we’ve made sure our quizzes are adaptive. The sophisticated AI backend takes
into account your learning style and speed, and then generates personalized
quizzes accordingly.

Finally, even though LearnWise is mainly centred around quizzes it still sets
high standards in educational app design overall. We want users to know that
it’s not just some gimmick filler but rather something that will supplement
traditional methods and truly enhance their learning journey

LearnWise is a quiz app for A-level students that serves as a single point of
reference for exams. The reason behind making this app was the lack of quiz
applications specifically designed for A-level students. LearnWise will fill this
gap by coming up with an inclusive revision platform that seeks to smoothen
and make the preparation process among students expecting their tests. This
app’s design is easy to use and understand; it was created with one goal in
mind which simplifies revising so much that even those who hate doing it find
themselves loving every bit of the experience while using such an amazing
piece of software like this – not only does it simplify things but also helps
people know more about what they are supposed do before sitting for their
exams hence becoming smarter too.

LearnWise was created mainly as a user-centred quiz application, where users’


comfortability during usage and their willingness to participate frequently were
highly regarded. Lighter shades of brown dominate all visual aspects within the
app because they are believed to be eye-friendly colours to the user as it has a
calming effect
7

LearnWise is not just a normal educational app but rather an adaptive learning
tool that uses intelligent algorithms to personalize itself according to individual
users’ knowledge levels and learning paces. The creators wanted something
different from other apps out there which often require users figure everything
on themselves; this one recognizes your needs then gives you what works best
based on how fast or slow you can grasp things – its like having many teachers
in one package! Moreover, apart from providing information, LearnWise also
makes sure that learners remain engaged throughout their studies so they don’t
get bored easily and quit halfway through because lets face it nobody likes
studying without any fun involved whatsoever. As such, it employs various
interactive elements such as quizzes with multiple choices questions whose
answers change every time they are retaken until correct ones are selected
thereby keeping students interested in what otherwise would be dull material
covered during those long hours spent revising alone at home when all friends
have gone outside playing games or watching movies together.

LearnWise is not only designed to help students pass exams but also to foster a
love for learning in them. It operates by making the whole process interesting
so that even after one has finished revising, he or she will still want more
knowledge – this was achieved through its adaptive feature which ensures that
as soon as you start answering questions correctly on your current level then
immediately new ones which are slightly harder than before appear thus
maintaining a constant challenge throughout all stages of study; therefore no
matter how much content there may be available within any given subject area
kids never get enough of it since every time they think they know everything
already something else pops up challenging their assumptions once again!
8

GANTT CHART

This Gantt chart shows the key stages of our project. Analysis and Design were
3 months each, then Research took another 3 months, and Testing and
Evaluation were given 2 months, it is a plan that can help us see our way. I
simplified and grouped the sprints into these categories in the Gantt chart.
9

FUNCTIONAL REQUIREMENTS ANALYSIS:

Functional Requirements:

- Allow users to sign up and log in.

- Have a user-friendly interface for creating quizzes as well as editing and


taking them.

- Generate multiple-choice questions through AI algorithms.

- Track user progress on quizzes along with scores achieved per quiz.

- Enable users to view their quiz history as well as performance over time.

- Admin panel for managing quizzes (creating/editing), managing users


(creation/deletion) and organizing quiz categories (creating/editing).

NON-FUNCTIONAL REQUIREMENTS:

- Security: Use secure authentication mechanisms that will protect user data
from unauthorized access or misuse by third parties who may want to gain
control over such information hence putting it at risk.
10

- Performance: Make sure that the application can handle multiple


concurrent users without significant slowing down thus giving all people equal
opportunities when they want to engage themselves with this great application
which will be very helpful in many ways especially academically.

- Scalability: design system so it won’t break under heavy traffic loads; should
be able to accommodate large number of new users joining over time as well as
more quiz content being added every day thereby increasing work load on
server side too but still continuing functioning properly even if there are many
requests coming through at once which could potentially overload some parts
of infrastructure causing them fail completely thus rendering whole uselessness
factor against humanity itself since we need smarter systems now more than
ever before due advancements made within various sectors concerning
technology related matters so far achieved up until now!

- Usability: Create an intuitive interface that would be easy for users to


navigate through; should also have visually appealing design which will make it
attractive to users as well enhance their experience during interaction with
such an app.

ERROR HANDLING REQUIREMENTS:

- Display helpful error messages when registration fails, login fails, quiz
creation fails or quiz taking fails.

- Log errors and exceptions so that they can be easily tracked down by
administrators who might want to know what went wrong where and why
11

thereby ensuring smooth running of this application even when things don’t
work out as expected thus making necessary adjustments where applicable
until everything starts working again just fine without any further issues arising
thereafter which could affect its reliability towards intended purpose since
everything has been done correctly according plan currently worked upon by
different parties involved here including developers but one thing i am sure is
that nothing good comes easy thus let’s continue giving our best shot always!

SYSTEM ARCHITECTURE:

- Database Design and Architecture:

- Use SQL database (e.g., MySQL, PostgreSQL) for storing user data along
with quiz content as well as results achieved in each quiz taken by a specific
user.

- Designing the database schema using ERD (Entity Relationship Diagrams)


which will help define relationships between various entities like users,
quizzes, questions and answers.

STAKEHOLDERS

The graphics in the game will have a contemporary style, reflecting modern life
and developing technology. While there won’t be any spoken dialogue, background
music will create a calming atmosphere for users as they navigate through the
questions. The app will feature a language selection tab, allowing users to choose
12

from multiple languages to minimise miscommunication. It will primarily be


accessed via smartphones, offering the convenience of usage anytime and
anywhere with a stable internet connection. The decision between an online or
offline app is pending, with considerations for accessibility and user engagement.
While an offline game eliminates the need for an internet connection, it may have
limitations such as the absence of live scores and leaderboards. However, it can
attract more users who lack internet access.

The app will be user-friendly, with a comprehensive tutorial covering various


aspects like navigating through topics and moving to the next question. Each quiz
will include a score counter and information on time limits and streaks. This
accessibility aims to cater to a wider audience, particularly targeting ages 15-18.
Saad Akram, a 19-year-old computing enthusiast with prior quiz experience,
embodies a character representing the target audience. Regular feedback and
interaction with individuals like Saad will inform ongoing improvements to the
app's design and functionality.

HOW THE PROBLEM CAN BE SOLVED BY COMPUTATIONAL

METHODS

This problem finds a natural fit with computational solutions, making a computer
an ideal candidate for its resolution. The nature of a quiz leans itself well to
abstraction, allowing for the embedding of multiple conditions within the
application. Furthermore, the straightforward algorithms that can be formed for
quiz scenarios enhance the productivity of a computer. Various examples have
been presented to show the importance of using a computer program with
computational methods to effectively tackle this challenge

THINKING ABSTRACTLY

The process of deciding what elements are crucial for the quiz app and what can
be excluded is why abstraction is an ideal strategy for this task.
13

Abstraction for ‘LearnWise’

 Simplify the quiz by eliminating all three dimensions and keeping it to only two
dimensions.

 Add a calming aura.

 Eliminate any unnecessary sounds and buttons and use simplified sound effects to
indicate specific information to the user.

 Introduce a bar at the top of the screen during gameplay to provide the player with
a visual reminder of their performance.

 Include a menu to grant users the capability to switch quizzes or change options
from the settings tab.

THINKING AHEAD

This involves thinking ahead and having a clear idea of what you want to achieve,
which enables you to plan effectively, providing a structured approach to solving
the problems.

 I plan to utilise Python as it is renowned for its effectiveness in creating quiz


applications.

 App inputs will probably involve using a mouse or fingers for navigation,
along with various buttons to activate specific app states, such as the 'pause'
state.

 The app’s outputs will consist of sound effects and music.


14

 Include a scoring system to provide users to strive for, such as achieving a


new high score.

THINKING PROCEDURALLY

This is similar to thinking ahead as this gives the problem a structure making it
easier to work with as now you can work at the problem bit by but making the
whole process more efficient.

Procedurally

Breaking down the problem

First name of the app

Then players

This will determine how the app will be played and if there is a two-player version
of the app. If the app is one player there will only be one person answering the
questions. If the app is two players, both players will be answering questions
against each other.

Control

These are necessary to interact with the app. The player should be able to use the
mouse to clock on things in the app to interact and a few buttons to allow the app
state to change e.g. playing to menu by pressing the settings button.

App state

These app states will create an illusion of depth for the app as it will give the app
some structure. There will be a login screen to introduce the app: this will then
switch to the menu app state this will then allow the user to choose between
player one app state and player two app state. Furthermore, if certain conditions
are met, the app state will change to game over.
15

Score:

This will give the app some sense of achievement. Different amounts in score will
trigger different events e.g. if the user answers a specific streak of questions they
will receive the added time, if the score per round is too low a ‘game over’ state
will be triggered, or if the player has just achieved the right score to go to the next
round.

Insert top-down module here:

Under players will be one one-player game.

Under control will be the touch system

Under the app state will be the menu

Under scoring will be the high score

Under one-player game will be two player game

Under touch, system will have buttons for app states

Under the menu will be game over

Under perfect score will fail to achieve a certain score

Under game over will be start-up screen

Under that will be players one and two

The app has been broken down into four main problems, by thinking procedurally,
that should be solved for the app to have basic functionality.

THINKING LOGICALLY

This helps me think about what way I could solve the logical aspect of my problem.

When the menu button is selected, the app will switch to the menu game state. If
a question is answered, a branch will be activated meaning points will be added to
the player's scoreboard. As the quiz is running there will be a constant iteration
running, checking certain conditions which will cause a branch to change the game
16

state to the ‘game over’ game state. There will also be a constant iteration being
run to check when a question is answered.

THINKING CONCURRENTLY

This is useful for thinking about how to make my solution more efficient when the
solution is in use. The app will be updating its score and drawing questions from
the OpenAI API at the same time.

CONCLUSION

The previous examples have demonstrated that the features of my problem can be
solved via computational methods making it suited for a computer program. These
methods are useful for giving the problem some structure so it can be more easily
solved hence making the problem suited to the computer program.

If the problem is successfully solved using a computer program, the stakeholders


will be able to play the app where they can answer questions, which will be
updated in real-time, giving them a certain number of points. This is aimed to be a
form of entertainment for the stakeholders.

RESEARCH

INTERVIEW WITH SAAD AKRAM TO GET AN IDEA OF

STARTING REQUIREMENTS.

Interview 23/10/2023
17

This interview is designed to find the basic requirements from the user. This will
then provide guidance as to what type of quiz app will be created.

The main three headings for this are: what makes a good quiz app; is two-player
mode wanted and what type of visuals are wanted for the app?

A series of detailed questions have been constructed under each of these


headings, covering various aspects to ensure that the requirements are as specific
as possible.

Question layout:

What makes a quiz good?

 Does the presence of sound effects impact your experience while taking a
quiz?
 In your opinion, do visuals play a role in shaping the quiz-taking experience?
 Should a score system be implemented in the app?
 Is the implementation of a scoring system in the app something you find
important?
 Considering the target audience, how much realism should be put into the
app?
 For the ‘LearnWise’, how many questions should there be per round?
 For interacting with the ‘LearnWise’, how would you want to interact and
engage with the app?

Is two-player mode wanted?

 Would a two-player version make the original app better or worse and why?
 How do you feel about competitive quizzes?
 If a two-player option was used in 'LearnWise,' what specific format of the
game would you prefer?

What sort of visuals would you want for the app?

 If any features providing a sense of realism were to be used in "LearnWise,"


what features would you consider essential?
18

 What type of app style would you like?


 What theme would you prefer for the app's background?
 Would you want any animations when having a correct answer or finishing
the quiz?

INTERVIEW SCRIPT

WHAT MAKES A GOOD QUIZ APP?

Does the presence of sound effects impact your experience while taking a quiz?

Yes, because when the sound matches, it makes the visuals more impactful.

In your opinion, do visuals play a role in the quiz-taking experience?

Yes, increased visual effects enhance the quiz experience and encourage more
participation in answering questions.

Should the implementation of a score system be included in the game?

Yes, it gives a goal and indicates your performance within the game.

Considering the target audience, what level of realism should be put into the app?

Given the app's genre, the layout doesn't require realism. This could help the
target audience understand that they are not dealing with actual exam questions.

In interacting with 'LearnWise,' how would you want to interact and engage with
the app?

I will utilise my mouse to navigate through the app and address the questions
presented in it.

IS A TWO-PLAYER MODE WANTED?

Would a two-player version of the app make the original better or worse and why?
19

It would enhance the app as you can play against them and compete to see who
gets the best score.

How do you feel about competitive quizzes?

Competitive quizzes require more time to set up and play. A one player quiz can
be loaded quickly and played.

If a two-player option was used in 'LearnWise,' what specific format of the game
would you prefer?

Both players can have different questions, and the goal is to see who scores the
highest in a set time.

WHAT SORT OF VISUALS WOULD YOU WANT FOR THE APP?

If any features providing a sense of realism were to be used in "LearnWise," what


features would you consider essential?

When the questions appear, there should be a little number deducing how many
marks that question will be, which is similar to how an exam paper is.

What style do you envision for the app?

I would like the app style to be in a calming format as it will ease users and not put
them under pressure.

What theme would you prefer for the app's background?

As the topics gets harder, the background could change but there should be a
setting for the user if they do not want the background to change.

Do you desire any animations when achieving a correct answer or upon completing
the quiz?

Yes, as it will make the app more exciting and will give the user some sort of
achievement for completing the quiz.

REVIEW OF INTERVIEW
20

A review of the interview: 23/10/2023

This interview aimed to understand the preferences of the stakeholders to enhance


the app's enjoyment factor. The stakeholders and I ultimately agreed that visuals
play a crucial role, particularly in terms of gameplay, contributing to the overall
uniqueness of the app.

For the visuals and sounds, we chose to use subtle animations and sound effects.
Additionally, all the art will format calming visuals. The app aims for a level of
realism where users respond to timed exam questions, except without the
associated pressure of an actual exam.

For the user experience, we decided to include a level system that will link in with
a score system to give the player a sense of achievement in the quiz. We also
decided to include the two-player game mode to make the quiz more appealing to
a wider range of people are there is more content being given and they can play
the quiz with their friends making the app more fun as it adds a competitive aspect
to it. Finally, it was decided to use the fingers as the control, or if the user was
using a laptop, then they will be using a mouse.

Finally, we settled on utilising the mouse and keyboard as the control method, as
the application will first be introduced on laptop first and then if successful will be
moved onto a mobile device, where the controls will be utilised using fingers as
the control method. We have decided to implement the mouse and keyboard as
the primary control method for the initial release of the application, targeting
laptop users first. This is because of the familiarity and ease of the user of use that
these input devices offer for navigating through the quiz content.

RESEARCH INTO INSPIRATION – ‘GENERAL KNOWLEDGE

QUIZ’ APP.

Main features of the app include:


21

Quiz logo
presented when
user opens the
app.

Play button
displayed, which
then takes user to
login/sign up page.
22

Calming colour
scheme theme.

Login page for


users that
already have an
account

If user doesn’t have


an existing account,
they can sign up this
‘create user’ option.
23

Selection of
various topics.
User can test
themselves with
questions
specifically based
on chosen topic.
24

Login streak to
motivate user to
stay on the
podium and
answer more
Podium based questions.
off user’s
points and
login streak.

Scores from
previous
weeks are
also stored.
This helps
user keep
track of their
progress.
25

Leaderboard
based off points
system. Adds
competitiveness
and more
excitement to
quiz app.
26

User is able to
change audio and
sound
preferences in
settings section.
Additional
settings options,
more specifically
for layout of
questions and
hints.
An option to ask 27
for a hint when
user is stuck on
question.

Question
clearly stated
above the
multiple
choices.

4 choices are
given (A-D).
This row shows
Only 1 of
how many
these would
points you have
be the correct
earned for the
answer.
question, how
many points you
already have
and an option to
exit the
question.
28

HOW DO THE DIFFERENT FEATURES EFFECT THE

ENGAGEMENT WITH APP ‘GENERAL K N O W L E D G E Q U I Z ’?

App logo

Displaying the logo at the start of a quiz app is essential for brand recognition,
professionalism, and user engagement. The logo serves as a visual identifier,
creating a positive first impression and it contributes to the app's aesthetics. The
logo plays a crucial role in marketing and promoting brand recognition, ultimately
enhancing the app's success.

Colour scheme

A calming colour scheme can positively impact the engagement of a quiz app in
several ways. The calming effect of blue tones can create a pleasant and inviting
user experience, helping users feel at ease while interacting with the app. This can
contribute to increased focus and a more enjoyable experience.

Menu/Categories

The design of the menu and question categories plays a crucial role in user
engagement with a quiz app. A well-structured and visually appealing menu, along
with clear question categorisation, enhances navigation ease and provides a user-
friendly interface. This not only makes it easier for users to find content but also
contributes to a positive overall experience. The efficient organisation of questions
encourages users to explore different categories, promoting increased interaction
with the app.

Leaderboard

A leaderboard can enhance user engagement by introducing elements of


competition and motivation. The competitive nature of leaderboard rankings
29

motivates users to aim for higher scores, providing a sense of achievement and
driving continued use of the app.

Settings

The settings of a quiz app can provide customisation options and enhance the
overall user experience. Settings allow users to tailor the app to their preferences,
encouraging a more personalised and enjoyable interaction.

Question page/Visuals

A well-organised layout, featuring the question and multiple answer options, shows
a clear layout and challenges users in decision-making. The inclusion of a hints
button provides user with help when needed, preventing frustration and
encouraging the user to attempt the question before moving onto the next.

FEATURES THAT WILL BE USED FOR THE APP

INTERVIEW

Interview: 28/10/2023 Plan

Question layout:

Visuals/Sounds

 What animations do you want for the questions page?

 What sort of theme do you want for the app?


 Do you want the points to appear for each question?
 What sounds should a correct and incorrect answer make? 

Game play

 Do you want a limited number of lives?


 How would you lose lives?
30

 Would you like a life count at the bottom of the screen?

 Do you want a pause and menu button?

Points system and leader board

 How many points would you like the questions to be worth?


 Should the points vary based on difficulty of question?
 How will the points be displayed on leader board?

INTERVIEW SCRIPT: 29/10/2023

Visuals/Sounds
What animations do you want for the questions page?
 I want the progress bar to move along with each correct answer.
 I want the hint button to pop up when stuck on a question.

What sort of theme do you want for the app?


A calming theme throughout, this would mean less pressure or distractions when
choosing an answer to the question.
31

Do you want the points to appear for each question?


Yes, would encourage to keep on answering more questions to earn more points.

What sound should a correct and incorrect answer make?


When a correct answer is chosen, there should be an upward and rewarding sound.
However, when wrong answer is chosen there should be an eerie sound played
distinctively to show that the answer was incorrect.

Game play
Do you want a limited number of lives?
Yes, maybe up to 3 lives.

How would you lose lives?


When I answer a question incorrectly.

Would you like a life count at the bottom of the screen?


Yes, it will add more excitement to the quiz and will allow me to make more
careful decisions so that a next life isn’t lost.

Do you want a pause and menu button?


Yes.

Points system and leader board


How many points would you like the questions to be worth?
I would like the questions to range from 10 to 20 points based on the difficulty of
the question.

Should the points vary based on difficulty of question?


Yes, easy questions at around 10 points and harder questions at 20 points.

How will the points be displayed on leaderboard?


It could be displayed as a rank from highest score to lowest score.
32

A REVIEW OF THE INTERVIEW: 29/10/2023

During this interview, we have pinpointed the key features of the app.

Questions page
 Progress bar will move along with each correct answer.
 The hint button will pop up when stuck on a question.
 Calming theme throughout for each question page.
 Points will be displayed directly underneath each question.
 When correct answer is chosen, there will be an upward and rewarding
sound.
 When wrong answer is chosen there will be an eerie sound played.

Quiz indicators.
 There will be 3 given lives.
 A life will be lost with each incorrect answer chosen.
 Life count will be displayed at the bottom right of the screen.
 Pause and menu button will be displayed at the top right corner.

Points
 Questions will be either 10 points or 20 points based on difficulty.
 Leaderboard will display rank from highest to lowest score.
33

FEATURES FOR THE PROPOSED SOLUTION

These are the primary chosen features for the app.

Features Justification
Login page The login page allows users to access
their account. Once logged in, users can
view their progress/stats.
Forgot password screen Provides users with a way to regain
access to their account without them
having to worry about their progress
being lost.
Reset password screen This allows user to update their
password for security purposes or regain
access to their account.
Sign up screen Allows new users to join the app and
have their progress saved.
Category selection Indicates which topics are available for
user to select based on their
preference. Users will have a more
tailored experience.
Colour scheme/Visual comfort Comforts users when interacting with
the app as the lighter colours make
them at ease.
Leaderboard This will indicate rankings and the
points rewarded to the user. The more
questions they answer correctly, the
34

higher they will be on the leaderboard.


Pause button This gives the user the chance to
temporarily stop their current quiz
session without losing progress.
Home button Users will be able to easily navigate
back to home page where they can
change their topic for the quiz.
Hint button Gives additional assistance and clues to
user when they find themselves stuck on
a question. This offers support and
encouragement.
Three lives total This will make quiz more competitive
and challenging. It limits users to a
certain number of attempts they can
make when choosing their answer.
Progress bar With each correct answer, the progress
bar fills up a portion, indicating how
well the user is doing for their chosen
topic.
Sounds There will be a rewarding sound played
for the correct option chosen and then
there will be an eerie sound played for
incorrect option chosen. Gives user a
clear indication on how they’ve
answered each question.
Quiz complete screen When user finishes any quiz topic, this
screen will pop up to indicate that user
can then move onto a next category.
Points system This will add a competitive and
rewarding aspect to the app. These
points will be accumulated on the
leaderboard.
Statistics screen Provides users with insightful
35

information on number of incorrect/


correct questions. This will help users to
track their progress and improvements
over time.

HARDWARE

Item Justification
Keyboard Required so the user can enter their
credentials
Mouse Allows the user to navigate through the
quiz and answer questions

Speakers/Headphones Allows the user to hear the sound


effects in the app

2 Mb of hard drive space The background is roughly 4kb,


therefore i will not need that much
memory. The question sounds will
36

require some space to run as well.


2Gb Ram The average computer holds 2gb’s of
ram, which is most likely going tobe
enough for the quiz to run

SOFTWARE

Item Justification
QT Pyside6 Allows the user to play the quiz without
having to download QT Pyside 6
themselves
A platform which is any of the These are the platforms that will
following:Windows effectively use the hardware to run the
Android quiz
Flash
OS X
IOS
HTML5
Linux
WP7/WP8
37

SUCCESS CRITERIA

Requirement Justification Reference

The app will be Due to my programming limitations Interview 23/10/2023


single player and the timeframe given for
completing the end product, I
won’t be able to incorporate the
multiplayer feature into the app.
Forgot password This will grant the user another Proposed solution
page will show up chance to have access to their
when selected account
option on login/sign-
up page. Once this is
completed, they will
be redirected back
to login/sign-up
38

page.
Login/Sign-up pages This is so all their information is Proposed solution
that will direct user stored in an account and the data
to category page will not be lost
once they
access/create their
account
Selecting maximum This is to not overwhelm the user Proposed solution
of three categories and have more tailored questions
Three lives total Users will have another chance at Interview 29/10/2023
completing the quiz which will
encourage persistence and users
will learn from mistakes
Stats page should Users can track their performance Proposed solution
display overall overall which will give them
percentage of motivation and goals to strive
correct and towards. This will also give a
incorrect answers. competitive element to the quiz
High score, especially in a leaderboard setting.
questions answered,
total correct,
longest streak and
current streak will
also be displayed
here
Main page will Offering three clear and distinct Proposed solution
display three options on the main page simplifies
options: play, view the user interface and will not
stats and log out overwhelm the user
Progress bar This is so users can see visual Interview 29/10/2023
gradually moving up immediate feedback on the
until fully green. progress. As users select correct
This is dependent on answers, they can see the progress
39

each correct answer bar advancing.


selected.
When questions are This additional context helps users Interview 23/10/2023
answered correctly, understand the concepts behind
the correct option the correct answer, enhancing
will have a their learning experience. It also
highlighted green helps clarify the correct answer
border. Extra and gives a positive reinforcement.
background
information is given
on why their answer
is correct
Quiz complete page This will allow users to track their Interview 23/10/2023
will display the progress of the quiz just taken, get
following options: users taken to the next category
Stats, next category which will keep the users engaged.
and retry. This will The retry option give users to
pop up after quiz retake the quiz if they want to
has been completed improve their score or reinforce
and for user to their learning.
proceed onto next
topic.
Home/Main page Buttons located in easily accessible Interview 29/10/2023
and Pause buttons positions, allows quick access to
shown on the top return to main page or pausing the
right of screen. quiz. This provides greater control
and flexibility during user
interaction with the app
Settings will display The settings menu offers users a Proposed solution
selected language, customized experience by allowing
whether hints should them to select their preferred
be on or off, sound language, toggle hints, adjust
preferences and sound settings, and access the
40

access to the leaderboard. This tailored


leaderboard. promotes engagement through
Settings can be personalized preferences.
tailored based on
what user prefers.
Life count displayed Displaying this ensures users are Interview 29/10/2023
on bottom right of constantly aware of their
screen remaining chances.
Leaderboard will This will promote engagement and Interview 29/10/2023
display a rank based motivates user to get higher
on points rewarded points, providing a sense of
achievement and community within
the app.
Sounds for incorrect Provides quick feedback, making Interview 29/10/2023
and correct answers the interaction more engaging.
Users receive instant confirmation
of their responses, gives sense of
accomplishment or for user to
reconsider their choice.
To use calming The lighter shades of brown will Interview 23/10/2023
colour scheme help users feel relaxed and
peaceful while using the app. Less
distractions when users are
answering questions.

DESIGN
41

SYSTEMS DIAGRAM

WHY AM I USING THIS APPROACH TO HELP DESIGN MY

PROBLEM?

Starting with a top-down module design really helps me pinpoint what I need
before I begin coding. This approach involves breaking down the problem into
smaller parts, enabling a more focused examination of each aspect. By doing so, it
becomes possible to use computational thinking skills such as "thinking ahead" to
determine inputs and outputs. Additionally, "thinking logically" aids in identifying
decision points and assessing their impact on other parts of the solution. This
structured approach lends efficiency to the development process, allowing for
systematic progress towards a working solution.
42

EXPLANATION ON EACH MODULE

Leaderboard

Points added

Points will be added to last score. Position of the user on the leaderboard is based
on whether the score is high or low. If the user has a high score they’ll be
displayed as the top 3 or move up to a higher rank than previous placement.

New top high score

Upon quiz completion, the user's score is checked against the current top high
score. If the user's score exceeds the current top score, the database is updated
with the new high score. The app displays the updated high score on the
leaderboard, ensuring it's visible and aligned with other scores.

Display leaderboard

This will display the leaderboard and rank of users from highest to lowest points
will be shown.

Paused

Un-paused

When the pause button on the top right corner of screen is pressed the quiz will
change from a paused state back to the playing state.

Login/Sign-up

Access account or create account


43

By accessing their account, the user would have to log in. If they have forgotten
their password, they will have the option to select “forgot?” to sort out the issue.
If they do not have an account, they will be able to sign-up, then redirected to
sign-up page to create one.

Reset or forgot password

After selecting either of these options, the user will be able access their account
again. When selecting “forgot” they will be asked to enter their email/username.
When selecting “reset” they’ll be asked to enter another password and to confirm
the password that they have chosen.

Back to login/sign-up once sorted

User will be redirected back to the login/sign-up page.

Home

Display: play, view stats and log out

When user has successfully logged into their account, the home page will appear
with the three following options: play, view stats and log out. The "Play" option
directs users to the category page. "View Stats" enables users to access their
statistics. Lastly, the "Log Out" option allows users to securely log out of their
account.

Views stats

This can be viewed before pressing “play”. This will provide performance feedback
on percentage of incorrect and correct answers in format of a graph and
summarised scores next to it.

Move to category page

After selecting the categories, the application proceeds to transition to initiate the
first category quiz chosen by the user. This triggers the retrieval of quiz questions
and content associated with the selected category. The application then presents
the quiz interface to the user.
44

Quiz over

Quiz over display

Once three lives are lost, the application transitions to the "Quiz Over Display"
state.

Start-up

Title of app

The code will start in the start-up state and will display the title of the app with
the app logo.

Visuals3

Correct answer

Highlighted green

Green border around correct option selected by user will be shown. Above the
correct option there will be another indication stating “Correct!” with a green
background.

Points earned

Points are earned after every correct answer given by user. This will also be stated
when quiz indicates user has correctly answered the question.

Incorrect answer

Highlighted red

Red border around correct option selected by user will be shown. Above the
incorrect option there will be another indication stating “Incorrect!” with a red
background.

Life lost
45

User is given 3 maximum lives. If user picks incorrect answer, then a life will be
deducted. In code, this would be a variable called "life" set to a value of 3.

Progress bar

Turns green when quiz complete

When user answers questions correctly and quiz category is nearly finished, then
progress bar will gradually turn fully green.

Stats page

Graph with % of incorrect and correct

The data shown on this page will change and update according to users interactions
with app and their achievements in overall quiz categories.

Sound

Correct

Upward and rewarding sound

When user selects correct option, an upward and rewarding sound will be played
and they will be able to move onto the next question.

Incorrect

Eerie sound

When user selects an incorrect option, an eerie sound will be played and user will
either be shown they got the question wrong or be directed to a quiz over page if
they’ve used up all their lives.

Points system

Question worth
46

Questions can go from 10 to 20 points, rewarded if user gets answer correct.

Life system

Life removal

A life is removed with each incorrect answer given. User can only make 3 mistakes
before “quiz over” is displayed.

Questions

Correct answer

Points earned

Points are earned and added onto score shown in stats and leaderboard. Progress
bar also moves along and eventually becoming green.

Quiz complete

This will be displayed after user successfully completes quiz category. They will be
directed to move onto next category.

Incorrect answer

Quiz over

This will appear once all lives are used up.

Option to retry, to go home page or next category

Retry option will let user retake the quiz, they will be returned to beginning of
quiz. The option to go back to home page/main page will be provided if user wants
to view stats or log out. Next category button allows user to move on, the lives will
be regained when new category has started.
47

U SABILITY FEATURES

L OGIN /S IGN - UP

App logo
displayed on
right side of
screen.
Provides first
impression of
brand.

Clear login page and guides user to either


to select login or signup. Forgot password
is also displayed for user and will redirect
them to forgot password screen.
48

R ESETTING PASSWORD

This will let Placed in the


user to return middle of
to main page. screen, making
They will be it clear and
able to login easy for the
with new user to access.
password.

User can easily reset password.


Allows user to control and
customise their interactions with
the app.
49

F ORGOT PASSWORD

User only needs


to enter
User can username or
easily go email to
back to recover
login page password, less
after this hassle.
issue has
been
sorted.
50

C REATING AN ACCOUNT (S IGN - UP )

Minimal
information
needed for
user to
create
account.
Quick and
easy way to
get started
with app.
51

User can also


check any
updates on the
leaderboard.

M AIN PAGE /H OME


Settings
option
provided to
allow user
to customise
before
proceeding
to play

Play: User can proceed to play the quiz and will be directed to the categories page

View stats: Users will be able to find out how well they are doing before starting a new quiz

Log out: Users can log out of their pre-existing account and log in to a different account
instead
52

S TATS PAGE

Clearly
indicates
user’s
progress.
Motivates
them to
improve and
highlights
their
accomplishm
ents.
53

C HOOSING CATEGORIES

Spaced layout of categories for user to think about what to select. This easy
selection allows user to tailor their own quizzes based on things topics they may
be struggling on. They have to select up to 3 to start the quiz.
54

Q UESTION LAYOUT

Question displayed at top of the screen. Calming colour scheme


to put user at ease when going over questions and multiple
choices.
User can easily
pause the quiz
or return to
home page.

User can see


how well
they’re doing as
One of these
they attempt
options are
each question.
correct. This
Progress bar
will be
would motivate
revealed once
user to keep
user has
going.
selected
correct
option.

Lives: User can keep track of how many attempts


they have left.

Hints: Placed next to lives so that user doesn’t give


up even if they’re on their last life.
55

C HOOSING THE CORRECT ANSWER

Gives user
extra
information on
why their
option was
correct.
Green
border
indicates
user has
answered
correctly.

User can move swiftly


onto next question.
56

C OMPLETING THE QUIZ

User can easily go back to main page if


they do not wish to move onto next
category.

User can
User will be access
able to view same
their stats topic
for each questions
chosen again for
category more
practice.

Once a quiz category


is finished, the user
can move onto the
next
57

L EADERBOARD /P OINTS

Rank of top 3 displayed above.


First place is for user with
highest number of points
58

User would be able to see where other


players around them are on the leaderboard.
This adds a competitive element.

S ETTINGS
Click this button to leave
the current screen or close
the application.
59

The user can customise their settings by changing language to what


they desire: if they want hints to be on or off, if they would like
sound to be implemeted in the quiz or if they want to view the
leaderboard.

When user gets


answer wrong, an
explanation on why
C HOOSING INCORRECT ANSWER they got it wrong and
what the correct
answer should be.
60

Red border
indicates
user has
answered
incorrectly

User can either move onto next


question or if they have used
up their lives then the quiz
would be over.
61

Image of the cross shows


Q UIZ OVER a clear indication of quiz
being over

User would be able to retry User could move onto next


the quiz category before category. Their lives
moving onto the next. would be reset back to
They could also three.
easily go back
to the main
page/home.

ALGORITHMS

Opening quiz app


62
63

IMPLEMENTATION

To view the database, download db browser,

- Explain what qrc is


- Explain how you imbed png images into qt designer interfaces
- Explain the issue that we have in the accompanied screenshot

- We have an issue with importing a qrc file. This as a result, when running the
program, we cannot see the images and the icons.
- We then used this command ‘pyside6-rcc resources.qrc -o resources_rc.py’ which
converts the qrc file to a python file.

When we ran this in the terminal, we had an issue. Basically, owl.png was in the project
directory but the project directory was located in our documents folder and not in the desktop
folder.
64

Now we changed the location to the owl file, which is in our resource folder, and then we
rerun the terminal command and it worked.

Follow the user flow,

Make your own user flow again now but only include the screens that have been developed,
show their relationships with lines and number them.

Include the image here in the document, and then explain what each number (screen) does.
1. Starts with login window upon opening the app, here there are 4 functions a user can do:
- Input their login details (they must have been previously registered)
- Reset their password
- Sign up if they do not have an account

2. IF user presses signup button in Login Window, then the window will change to Register,
here the user can signup. Also talk about all the kinds of error messages and validation
messages that the UI uses to give feedback to the user’s based on what they are doing.
65

You might also like