Skip to content

A CPM typing trainer oriented towards programming language syntax as opposed to traditional English words.

Notifications You must be signed in to change notification settings

PMW9905/Code-Per-Minute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Code Per Minute - Typing Trainer for Programmers

Code Per Minute is a JavaFX & CSS GUI application with the intent of providing users with an effective way of improving typing speeds in any programming language. It utilizes both OOP and a JavaFX-oriented Model-View-Controller architecture to effectively display and manipulate UI elements.

A critical aspect of learning to type faster is pattern recognition. While modern typing tests do a great job of covering common words and phrases, programming syntax is often very removed from traditional english/language. As such, gains in wpm on sites such as 10fastfingers.com and nitrotype.com may not carry over as well into c++ or Java.

Code Per Minute exist to solve this problem. By orgaizing typing tests by language and category, CPM allows the user to easily practice subsets of a particular language, thus building muscle memory and pattern recognition for programming-specific syntax. A user may even create their own language files/categories to further expand their learning and practice.

In-Application Screenshots

Main screen in dark theme: Screenshot of Darkmode

Main screen in light theme: Screenshot of Lightmode

Results screen: Screenshot of Lightmode

Adding Languages

To add custom languages, first create a txt file that will contain the syntax you wish to add. To create a category within the language file, first write a "~" followed by the name of the category. All keywords/syntax that you wish to be contained in this category should be placed on new lines, with no "~" prefix. This process can be repeated for any number of categories and keywords/syntax you desire.

Example:

~Data Creation / Manipulation 
int num = 0;
char character = '\0';
double decimal;

~Java Keywords
abstract
assert
boolean
break 

Once you have created your language file, navigate to the languagefilePathways.txt file. Create a new line and add your language in the format of: Language_Name:Language_File_Pathway

Example:

  • Java:src/javaKeywords.txt

After that, you're all good to go! Simply launch CPM. It will read languageFilePathways.txt and configure your language automatically.

About

A CPM typing trainer oriented towards programming language syntax as opposed to traditional English words.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published