Programming is an activity centred primarily around the keyboard which is not necessarily the optimal input device for all users. Little research has taken place into alternative input devices for programming despite huge advances in handwriting and voice recognition for natural language. This project explored using a pen as the primary input device for programming. A variety of different methods for using the pen were designed, developed and evaluated. Existing variable and method declarations were used in the handwriting recognition to improve its accuracy. Additionally code generation techniques were explored to minimize the volume of writing required. These features were then integrated into Microsoft Visual Studio 2005, a commercial IDE, to enable the evaluation of a pen driven environment complete with all the features expected of a modern day IDE. Categories and Subject Descriptors D.2.6 [Software Engineering]: Programming Environments General Terms Human Factors Keywords Pen D...