Giter VIP home page Giter VIP logo

gre-calculator's Introduction

GRE Calculator

Personal project to develop and design a calculator application that looks and functions like the classic on-screen calculator used on the Quantitative Measures section of the Graduate Records Examinations (GRE).

About The Project

GRE Calculator

The Quantitative Measures section of the GRE is taken on a computer, and the only legal calculator allowed for use during this section of the exam is an on-screen calculator provided as part of the GRE software. In some current versions of the GRE, this on-screen calculator has been reworked to have a fresh look and appearance. However, other versions of the GRE still rely on the classic calculator program, as displayed in the following image:

ETS GRE On-Screen Calculator

In addition to the appearance, several 'functions' of the classic calculator take some getting used to, and can be a hurdle while otherwise focusing on exam preparation.

At the time of this project, the only known ways to access this particular calculator and practice using it were by:

The goal of this project was to create a tool that could replicate the look, feel, and function of the 'classic' calculator to be openly available, such that the calculator could be installed and utilized outside of the GRE, POWERPREP practice exams, or Magoosh mock exams.

Note: This tool only supports the Windows platform at the moment.

Built With

  • Kivy: a Python framework for developing user interface applications

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

In order to use the GRE Calculator, you must first have Python and pip installed on your system. If you need assistance installing these prerequisites, see the folowing steps:

  • Python is a programming language. The majority of this project's code base is written in Python. Download the latest version of Python and install onto your local machine.

  • Pip is the package installer for Python. Once Python is installed, open your local machine's command line and use the following command to utilize Python to install Pip:

python get-pip.py -g
  • Git is a version control system. In this project, Git is used to clone (copy) the most up-to-date project files from GitHub to your local machine. Download the latest version of git and install on your local machine.

Installation

  1. Open the command line on your local machine.

  2. Enter the following command to use Git to clone this repository to your local machine.

git clone https://github.com/asa-holland/GRE-calculator.git
  1. Enter the following command to use Pip to install this repository's dependencies.
pip install -r requirements.txt

Usage

Run the GRE Calculator by opening command line, navigating to the installation folder and running: python main.py

The GRE Calculator can be used with all standard calculator functions, as well as:

  • "MR" (Memory Recall), "MC" (Memory Clear) and "M+" (Memory Addition) buttons can be used to recall and store a number from the GRE Calculator memory, or clear the memory of any existing values.

GRE On-Screen Calculator Memory Demonstration

  • "C" (clear) and "CE" (clear entry) buttons to clear all input to the GRE Calculator and clear the last character or operation inputted into the GRE Calculator.

GRE On-Screen Calculator CCE Demonstration

In addition, the following 'features' have been added to match the feel and function of the Classic GRE Calculator:

  • Digits and mathematical operations input using the user's keyboard do not enter onto the GRE Calculator display, only on-screen clicks of the GRE Calculator app provide input.
  • Display view of the GRE Calculator only displays 7 digits. If a number is evaluated that contains greater than 7 digits, the GRE Calculator will crash and display an output ERROR.

GRE On-Screen Calculator Use 2

  • The GRE Calculator always remains the top window and cannot be minimized.

GRE On-Screen Calculator Use 1

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Asa LeHolland - @AsaHolland404 - [email protected]

Project Link: https://github.com/asa-leholland/GRE-calculator

Acknowledgements

  • YashKhandelwal8 from GeeksForGeeks wrote a nice article on building basic calculator functions from scratch using Kivy. This project derives initial functions from this article.
  • Jakub Bláha wrote the KivyOnTop repository on GitHub. This was shamelessly copied and incorporated into this project to keep the GRE Calculator window above those of all other applications.
  • othneildrew for creating the template README file that was used as the starting point for the README for this project.

gre-calculator's People

Contributors

asa-holland avatar

Watchers

 avatar

gre-calculator's Issues

Enable Transfer Display button to move calculator window as intended.

In the classic GRE Calculator, the window can be moved only by holding down the 'Transfer Display' button and dragging the window. While the windows topbar has been removed in this application, preventing the calculator from being moved in standard window fashion, the Transfer Display button has not been built in. I do not know how to do it!

To anyone who may be willing to tackle this particular problem, the following links may be helpful:
StackOverflow: Move Kivy window by label drag - Kivy, Python
Kivy: top and left attributes of Window class

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.