Programmer Dvorak typing tutorial

Programmer Dvorak is a modification of Dvorak keyboard layout which moves the characters that programmers usually need closer to the fingers (and moves digits a bit away). It also re-arranges digits in certain order, putting odd numbers on the left and even ones on the right (this is actually how digits in original Dvorak layout were positioned).

Programmer Dvorak layout (image taken from Wikipedia)

Original QWERTY layout was initially designed to prevent the keys of old typewriters from jamming. The keys have been placed in random, inefficient way for one sole purpose - to slow down a typist. Dvorak layout was invented in 1936 by August Dvorak after years of research. August Dvorak has also published a book, Typewriting Behavior, which is in-depth analysis of the process of typing.

A very nice and funny description of the history of QWERTY and Dvorak layouts is given in a comic book, Dvorak Zine

This typing tutorial covers base Dvorak layout and, in addition to that, parts of the layout that are Programmer Dvorak - specific (characters and symbols). For base Dvorak course this tutorial uses magnificent ABCD lessons written by Dan Wood. This base course include 29 lessons. Lessons 30 - 52 cover Programmer Dvorak layout aspects (lessons for typing digits and special characters such as &[(%# etc. - everything from Number row).

This site is a free software, its source code can be found on GitHub under GNU General Public License, version 3. Programmer Dvorak typing tutorial utilizes a jQuery plugin which allows to create arbitrary typing tutor user interfaces. This plugin is also a free software

Please send your comments and suggestions to denis[dot]k1985[at]gmail[dot]com, I'll really appreciate it!

Authored by Denis Kniazhev

Base Dvorak course (created by Dan Wood, original is here)

Lesson 1: Introducing U and H: Home row, Index fingers Lesson 2: Introducing E and T: Home row, Second fingers Lesson 3: Comprehensive: E, H, T, U Lesson 4: Introducing O and N: Home row, third fingers Lesson 5: Comprehensive, including O and N Lesson 6: Introducing A and S: Home row, fourth fingers Lesson 7: Comprehensive, including A and S Lesson 8: Introducing I and D: Index finger stretching in the home row Lesson 9: Comprehensive, including I and D (entire home row) Lesson 10: Introducing P and G: First fingers reaching up Lesson 11: Comprehensive, including P and G Lesson 12: Introducing . and C: Second fingers reaching up Lesson 13: Comprehensive, including . and C Lesson 14: Introducing , and R: Third fingers reaching up Lesson 15: Comprehensive, including , and R Lesson 16: Introducing ' and L: Fourth fingers reaching up Lesson 17: Comprehensive, including ' and L Lesson 18: Introducing Y and F: Index fingers stretching up Lesson 19: Comprehensive, including Y and F (full upper/home rows) Lesson 20: Introducing K and M: Index fingers reaching down Lesson 21: Comprehensive, including K and M Lesson 22: Introducing J and W: Second fingers reaching down Lesson 23: Comprehensive, including J and W Lesson 24: Introducing Q and V: Third fingers reaching down Lesson 25: Comprehensive, including Q and V Lesson 26: Introducing ; and Z: Fourth fingers reaching down Lesson 27: Comprehensive, including ; and Z Lesson 28: Introducing X and B: Index fingers stretching down Lesson 29: Comprehensive, including X and B

Programmer Dvorak extension for Number Row

Lesson 30: Introducing (, * and =: Number row, index fingers Lesson 31: Introducing } and ): Number row, second fingers Lesson 32: Comprehensive: (, *, =, }, ) Lesson 33: Introducing { and +: Number row, third fingers Lesson 34: Comprehensive, including { and + Lesson 35: Introducing [ and ]: Number row, fourth fingers Lesson 36: Comprehensive, including [ and ] Lesson 37: introducing & and !: Number row, fourth fingers Lesson 38: Comprehensive, including & and ! Lesson 39: introducing $ and #: Number row, fourth fingers Lesson 40: Comprehensive, including $ and # Lesson 41: Introducing 1, 9 and 0: Number row, index fingers Lesson 42: Comprehensive, including 1, 9 and 0 Lesson 43: Introducing 3 and 2: Number row, second fingers Lesson 44: Comprehensive, including 3 and 2 Lesson 45: Introducing 5 and 4: Number row, third fingers Lesson 46: Comprehensive, including 5 and 4 Lesson 47: Introducing 7 and 6: Number row, fourth fingers Lesson 48: Comprehensive, including 7 and 6 Lesson 49: Introducing % and 8: Number row, fourth fingers Lesson 50: Comprehensive, including % and 8 Lesson 51: Introducing ~ and `: Number row, fourth fingers Lesson 52: Comprehensive, including ~ and `