Professional Documents
Culture Documents
Dhulikhel, Kavre
A Project Proposal
On
“Typing Tutor”
[ENGG 102]
Submitted by:
Submitted to:
i
Bonafide Certificate
Project Supervisor
________________________
Academic Designation
ii
Abstract
In this new era, people are shifting towards technology. Electronic gadgets have become
inseparable from day-to-day life. In every organization of this world we can see “Computer”
being used as a basic component to run it smoothly. It is necessary to use computer as efficiently
as one can, to enhance the overall performance of the organization. Considering this, we have
developed a project that boosts-up the typing speed of a person.
Typing Tutor is a user-interactive application. The objective of the app is to provide user with a
platform to practice, test and enhance their typing skills. It is a simple rather useful application
which becomes of assistance to the user in their day to day activity. The application provides
user-friendly UI and is convenient to use even to the new users.
i
Table of Contents
Abstract........................................................................................................................................................i
Table of Contents........................................................................................................................................ii
List of Figure...............................................................................................................................................iii
Chapter 1: Introduction...............................................................................................................................1
1.1. Background......................................................................................................................................1
1.2. Objectives........................................................................................................................................1
1.3. Motivation and Significance............................................................................................................2
Chapter 2: Related Works/ Existing Works..................................................................................................3
Chapter 3: Design and Implementation.......................................................................................................4
Chapter 4: Discussion on the Achievements.............................................................................................10
Chapter 5: Conclusion and Recommendation...........................................................................................11
5.1. Limitation............................................................................................................................................11
5.2. Future Enhancement..........................................................................................................................11
APPENDIX..................................................................................................................................................12
References.................................................................................................................................................12
Bibliography...............................................................................................................................................12
ii
List of Figure
iii
Chapter 1: Introduction
1.1. Background
The big number of different advances in gesticulation, direct manipulation and speech
recognition methods cannot change the fact that typing is the most widespread kind of human -
computer communication. Psychologists have been studying typing for over hundred years now,
as this ability has steadily entered our everyday life. Computer skills are required in every
educational institution and work. As email communication and instant messaging gradually
turned out to be the most extensive form of personal and business communication, a skill of
typing fast without errors improves the professional representation of an individual and also
saves his time.
Typing is the basic command to run a computer and your typing speed plays vital role while
working in computer to save time. Here we have presented a Typing Tutor Project to measure
user’s typing speed and to enhance their typing speed. Users can test and improve their typing
speed using this application.
This project aims to solve the complications related with typing by providing users with an
environment for practicing, testing and improving their typing speed.
1.2. Objectives
Primary Objectives
• To develop a typing tutor.
• To create an executable file of Typing tutor for practical use.
• To provide users with an environment to help increase their typing skill.
Secondary Objectives
• To continue the project in future with extra salient features.
1.3. Motivation and Significance
As all of the team members were interested on a project that can help the user to develop their
typing skills, we’ve chosen Typing Tutor. Realizing the obvious truth, i.e. while using
Smartphone, Computer & Laptop most of people are lagging behind due to their typing speed so,
here in this project we’ve tried to provide people a platform to test and improve their skills.
These days, typing can seem like it is not such an important skill as it once was. For example, we
are becoming increasingly used to talking to our machines with the advances being made by
Google Now, Cortana, and Siri.
But typing remains a fundamental skill, and it is still one of the most important computer skills
you can learn. Learning to type fast and accurately will help you in many ways in life, and it
should be considered an essential skill for anyone who sees themselves working with a computer
in some capacity. If the users are provided with an environment to help them enhance their
typing speed, it’ll be really helpful to them.
2
Chapter 2: Related Works/ Existing Works
There are many applications that have been developed to help users to improve their typing. The
recent development in this field is the development of Typing Master 10.1 which was released on
January 8th, 2019 and other similar applications are listed below;
Ultrakey 6 - (Bytes of Learning, 2003) It has more than 700 typing exercises. It can work on
both Macs and Pcs. On the other side, it’s rather expensive and is not licensed for schools or
companies. The graphics are dated. This type of project is not affordable for a country like ours.
As stated earlier, our project basically targets those who are new to computer.
Type Racer - The award-winning online typing competition, Type Racer, allows people to race
each-other by typing quotes from books, movies, and songs. It is the first multiplayer typing
game on the web. Since launching in March, 2008, millions of people from all over the globe
have completed hundreds of millions of races on typeracer.com, improving their typing speed by
as much as 50 words-per-minute.
Typing Test -It is a program that helps to see how fast user can type and it compare result with
another user’s score. One huge benefit: The more user use this typing game, the faster they will
be able to type as the typing test uses the top 200 words of each language. If user is able to type
the most frequent words faster, they will be able to type everything else faster as well!
3
Chapter 3: Design and Implementation
There are two modes in Typing Tutor: Play mode and Practice Mode. Within the play mode,
there are 3 levels of difficulty namely Easy, Medium and Hard. Respective time is allocated for
each level (Easy: 5 sec, Medium: 20 sec and Hard: 30 sec). Typing the given word or sentence
correctly would increase the score by 1. If the user fails to type correctly or within the allocated
time, the life is reduced by 1. Continuous 10 right answers would give you an extra life provided
that your life is less than 3. As the game is over, if your score exceeds the previous high score, it
will be the new high score.
Practice mode would allow the user to type for 2 minutes. During these 2 minutes, texts are
displayed on the screen and the user have to type them correctly. At the end of 2 minutes, the
typing speed of the user is calculated in words per minute (wpm).
Here are a few screenshots of our design that we have put in our project.
Levels
4
Easy Mode
Medium Mode
5
Hard Mode
Some of the algorithms that we used in our program are listed below as:
6
Algorithm for Text Change:
Step 1: Start
Step 2: Display the data when CTRL button is pressed.
Step 3: Initiate a timer function that has a 5 sec delay.
Step 4: Display another text/data after 5 sec.
Step 5: Call the timer function each time the data displayed is changed.
Step 6: End.
7
Algorithm for Life:
Step 1: Start
Step 2: Set LIFE to 3 initially.
Step 3: Decrease the value of life by 1 when user gives wrong input or
delays for 5 sec.
Step 4: Increase the value of life by 1 when user gives correct input
continuously for 10 times.
Step 5: End.
8
9
Chapter 4: Discussion on the Achievements
We had divided the process of project development into 3 phases: beginning phase, coding and
developing phase and finally correction phase.
Beginning phase was about a month long that covered the tasks of proposal submission to basic
framework development. During this phase, we developed a very basic program just to get
things started that resembled our final project. The second phase was the coding and
developing phase and it was the longest phase amongst all. It was within this timeframe where
we studied the use of Qt, developed initial prototypes and various modes and developed a GUI
Environment capable of interacting with the user. We also implemented it to systems other
that the one in which it was build and it ran successfully. It took us almost 2 months to get to
this point. The final phase was the correction phase where error analysis and correction
followed by final testing was done. We cross checked the program and solved all the errors that
came through. The documentation of the project work i.e. the report writing was also done
during this phase. We finished the project by the end of this phase as we expected to do. This
phase was the shortest of all and it took us around 15 days to complete the tasks in this phase.
The Gantt Chart for the tasks that we performed during the project development is as follows:
10
Chapter 5: Conclusion and Recommendation
We’ve created a typing tutor using Qt Creator platform and designed an executable file. We’ve
created a game section and a practice section but we were unable to modify the game
section such that words fall in drop down order. Instead, we’ve created a game section
where a user gets 3 lives. Overall, we’ve provided with an environment to the users to
test and improve their typing skills.
5.1. Limitation
We put our utmost effort in developing this project and this being our first attempt in developing
a project there are few bugs and limitation of this project.
● The typing tutor we’ve created is in the form of executable file so it can only work
offline.
● There are limited amount of words in the database (about 1500).
11
APPENDIX
References
https://stackoverflow.com/questions/5854581/polymorphism-in-c
https://www.w3schools.com/cpp/cpp_classes.asp
https://www.tutorialspoint.com/cplusplus/cpp_signal_handling.htm
https://www.slideshare.net/dibakarroy9461/c-typing-tutor-by-debakar-roy
Bibliography
12
13
14