CSE 3461 User Interfaces

Fall Term 2005

 

Changes/corrections in red.

Assignment 2 (due Sunday November 13, 2005 @midnight in groups of 3)

Implement a JFC/Swing application that implements a simple text editor with input using a soft keyboard.  A soft keyboard is an on-screen keyboard with input typically from a stylus or finger.   Since the workstations in the lab do not have touch-sensitive displays, the basic input mode for this assignment will involve manipulating the on-screen tracker with a mouse to “press” keys on the soft keyboard.  The layout and arrangement of the keys on the soft keyboard should be approximately the same as with a telephone keypad; e.g., as one might find on a typical mobile phone.

Notes:

1.         Your application should be robust with a good user interface. Make appropriate use of the various GUI components and features supported in JFC/Swing. Consider the organization, presentation, interaction, and over-all usability of your program.

2.         Your source code should be well organised and documented.

3.         You must do this assignment in groups of three.

4.         Do not use the york package.

5.         Your programs must compile and run in the Prism lab.

6.         Be sure to read and follow the instructions given below on what to submit, and the format for the top of the readme.txt file.

7.         The assignments will be awarded letter grades, according to the university's letter grade standard. A program that simply fulfils the requirements described here will be awarded a 'C'. To get a higher grade, we want to see "an excellent job and originality" in your assignment solutions.

8.         Name your program 'a2.java'. Submit it in Prism with 'submit 3461x a2 a2.java' where 'x' is your section (e.g., A or B). Additional files, if required, may be submitted using the same command, with the filename as the last argument. (Use 'man submit' for further details on using the submit command.)

9.         Also submit a text file named 'readme.txt' in which you describe the motivation behind your software design. Why did you use the JFC/Swing and HTML components that you did, and why did you organise them that way? Briefly justify your design. If your implementation includes any special features, make sure you describe these and provide appropriate instructions.

10.   The readme.txt file should also contain a record of your group meetings. Include the date and time of each meeting, the people present, and the topics discussed. If other forms of communication were used (e.g., e-mail, phone), indicate the type and extent. Also include in your readme.txt file a record of the tasks assigned and performed by each member of the team.

11.   Note: the first three lines of the readme.txt file must contain the following four comma-delimited fields, with nothing following the fourth field.

      LoginID, StudentID, LastName, FirstName(s)
      LoginID, StudentID, LastName, FirstName(s)
      LoginID, StudentID, LastName, FirstName(s)