Pen Based Computing
Assignment 1


Monday, February 4, 11:55pm on Sakai
Please see the Submission Instructions on the Assignment Page

The goal of this project is for you to get comfortable using the Tablet computer, Windows Presentation Foundataion, C#, Visual Studio, and anything else you might not have a lot of experience with.  WPF can be a bit daunting at first, but with a little practice, you'll get the hang of it.

In this assignment you will build a Windows Journal style application that lets the user input, manupulate, save and load ink.  This assignment has a set of basic required functionality as well as a number of optional extensions.   Because this is the first time I am teaching this class, I am going to try to keep the basic requirements modest, however, I do hope that you will try the optional extensions because they are what make the assignment really fun!

Also as with most assignments, I will tell you what your application needs to do, and it's up to you to decide exactly how to implement it.  Feel free to talk with anyone else in the class about your design and strategy, although this particular assignment should be coded individually.

Basic Functionality

Your application should support the following functionality:

Application Functionality [15 points]

Ink Functionality [30 points]

For the basic application, the simplest implementation here is fine.  It's OK to have 7 different buttons, one for each of the above functionalities.

Data Requirements [5 points]

Recognition Functionality [20 points]

Advanced Functionality [up to 15 points extra credit]

For additional credit, implement any or all of the following extensions (fyi, implementing 1 well is enough to get full credit on this assignment):

Sophisticated Controls

Take advantage of the sophisticated styling and data binding features of XAML to provide slick drop-down radio button menus that change their appearance according to what mode the button is in (a la the pen selector in Windows Journal)

More Recognition

Support a broader range of recognition.  Recognize shapes and convert them into their 2D (or 3D) equivalents.  Map other gestures to commands.

Data Collection

Support an option to save the ink as an MIT XML document (the format we discussed in class, described here).  Allow the user to input N symbols of a given class and save the ink as labeled ink data.

Writeup [30 points]

Create a README document that contains the following:

What to submit

Submit all of your C#, XAML and Visual Studio project files (i.e., everything I need to run your code--and look at it), and your README through the Sakai page.

Grading

Approximately 70% of your grade will be based on functionality.  30% will be based on your design and your writeup.  This breakdown is indicated by the points above.  The extensions are worth up to 15 points of extra credit (but the real reason to do them is because they are fun!).