DeweySort v1.0

The  Dewey Decimal Classification  is one way a library can classify and manage its collection of materials. Being able to quickly and easily sort books labeled with Dewey call number tags is not only is a handy skill to have when working in a library but also keeps the aging mind sharp and agile.
To both of those ends, I wrote a MS Windows application that lets a user practice sorting Dewey call numbers. The program is call DeweySort and is shown and described below.

This Windows application is a one screen program that loads 4000 Dewey call numbers and then lets the user select random subsets of those call numbers to practice sorting. Sorting is accomplished through mouse drag and drop. The program will let the user check the sorting results, display sorting errors and even provide a stopwatch like timer for sorting speed tests.  The areas of the application are described below.

A:  The load buttons let the user select how many call numbers to load into the sorting window. The buttons can be pressed multiple times, meaning pressing “Random 10” three times will load 30 random call tags.
B: The range options let the user the type of random selection. Wide range means the selection will be made across all 900 categories and will result in many different call numbers (shown in the image above). Narrow range (see the image below) selects a tighter range of call numbers, resulting in many similar numbers which can be much more difficult to sort.

C: This is the main sorting window where the user will drag and drop items into the correct order.
D: The Check Results  and Show Errors buttons check the current sort window for accuracy. The text display area will inform the user of their current status.
Clicking and holding down the Show Errors buttons will also highlight the items in the main sort area that are not in correct order. Releasing the Show Errors button will remove the highlights.

E: The simple stopwatch timer will let the user practice speed sorting. The same set of call numbers can be reshuffled and resorted over and over for speed improvements.
F: Advanced users may want to sort many call tags and placing a large number of call tags in the sorting area may cause scroll bars to appear. The Font button is used to select smaller font for the sort area if desired. Other users may sort less items but prefer larger font for visibility.
Application Code
The software is written in C# using Visual Studio 2008. The data for the application is read in from a text file containing 4000 Dewey call numbers spread across all the 10 Dewey main categories.  The operation code and the data file are made available as open source, with no restrictions on GitHub at digitalstew/DeweySort 
Possible Modifications
The application can easily be modified to load and teach sorting of many other kinds of data with modifications to the code and the data file. The full Visual Studio project solution is also provided as a ZIP file on GitHub and can be freely used and modified without restrictions.