Tuesday, November 27, 2007

Week 13 : 11/20/2007 - 11/30/2007 ( Writing CS 297 report)

Writing the CS 297 report.
I am thinking of including the following

1. Abstract
2. Problem Definition and Use-cases(a couple of them )
3. Current implementation ( Web-Cat, labrat,Curriki)
4. Things I did ( extended labrat for upload, check.properties etc)
5. Repository use-cases and schemata
6. Conclusion

Tuesday, November 20, 2007

Week 12 : 11/13/07 - 11/19/07( Design of the repository UI mock ups)

This week focussed on the use-cases and design of the repository UI.

1. Designed the repository UI for various use-cases involving uploading, downloading, categorizing, remove, fork and critique of assignments.

Tuesday, November 13, 2007

Week 11 : 11/06/07 - 11/12/07( labrat installation on oslo, labrat-web fixes, schema definition)

This week focused on the following activities.

  1. Installation of Labrat on OSLO

Installed the labrat tool and the web interface for the tool on oslo.

2. Fixes

Made the following fixes

  • Added a unqiue salt so that every upload of the same set of exercises will generate different unique directory names
  • Fixed the "More" button on the first page of the wizard. I had to return "null" from the action handler to remain in the same page. I was returning "" , thinling that a "blank" return will do the same.
  • Added the export functionality to the check.properties file of each exercise. Clicking on the "Export" button will bring up the check.properties file.

3. Pondered over the schema definition for the original problem i.e. authoring and sharing of exercises. I have written up a write up on this and have sent the document as an attachment.

Tuesday, November 6, 2007

Week 10 : 10/30/07 - 11/05/07( Revised Implementation of check.properties generation)

Generating check.properties

This week focussed on the revised implementation of the check.properties generation

As discussed, this process will have a wizard interface.

1. When an exercise is uploaded, labrat-web will look for a check.properties file



2. Contents of Page 1 -General of the wizard
Generating check.properties for exercise - ExP6_5

Q1.Main class of the assignment     DataAnalyzer.java
                                                                   DataSet.java
                                                                DataSetTester.java

Q2 File Name     Editable
DataAnalyzer.java     []
DataSet.java     []
DataSetTester.java    []


Q3 [] Is this a GUI Application?

Navigation Flow
------------------

If the box is unchecked then it is forwarded to Page 2 which displays "console" properties.


3. Contents of Page 2 - "console" of the wizard



Generating check.properties for exercise - ExP6_5
[ ]Run this program
[ ] with this input [ -------------------------]
[ ] with input(s) provided in file(s)
[ ] without inputs

Command line [--------------------------------]
Classpath [-----------------------------------]


[ ] compare output to content stored in file(s) [-------------------]
[ ] capture output to report


ISSUES

1. I had problems with generating this UI

[ ] with this input [ -------------------------]

It is kind of difficult to produce a text box next to a radio button. The closest I got to in generating this UI was this jsf snippet

<html:selectOneRadio layout="pageDirection" value="#
{exerciseUpload.currentExercise.studentDir.mainclassRunOptions}" >
<core:selectItem itemValue="1" itemLabel="with this input ">
[<html:inputText size="50" value= "#{exerciseUpload.currentExercise.studentDir.runMainClassInput}" /> ]

</core:selectItem>


</html:selectOneRadio>


2. This UI element

[ ] capture output to report

doesn't have a corresponfing property. The check.xml(labrat tool) basically checks if the *.out is present. If not it is just copied to a report file.

Does it need to be in the UI ?

3. This UI element

[ ]Run this program
[ ] without inputs

doesn't have any corresponding property in check.properties. Again check.xml checks if the property test.run.inputstring is set. If it hasn't been set then a blank string id assigned to this property.

Does it need to be in the UI ?


Navigation Flow
------------------
When this page is submitted, the wizard will check for the existence of *Tester*.java or *Test.java. If any of these files exists, it will forward to the "tester" properties page which is page 3 of the wizard.


4. Contents of alternate Page 2 - GUI of wizard


Generating check.properties for exercise - ExP6_5

[ ]Run this Program DataAnalyzer.java
DataSet.java
DataSetTester.java
Command line [----------------------------------------]


Navigation Flow
------------------

When this page is submitted, the wizard will check for the existence of *Tester*.java or *Test.java. If any of these files exists, it will forward to the "tester" properties page which is page 3 of the wizard.

5. Contents of Page 3 - "tester"

Generating check.properties for exercise - ExP6_5

[ ] Run tester program
o Horstmann Style test ("Expected: ")
0 JUnit test

Navigation Flow
----------------

If the option "Horstmann Style .." is selected, then the wizard checks for the existence of file *.in, which are input files for the tester. If the file is not found an error is thrown.

Issues
--------

1. I think the user should be given a chance to generate the input and output files instead of throwing an error.


6. Contents of Page 4 - "output" capture and compare


Generating check.properties for exercise - ExP6_5

Select the type of comparison to use.
0 line
0 word
0 number

Enter the tolerance factor when comparing numbers [-------------------]

Navigation Flow
-----------------
The wizard generates the check.properties at this stage and forwards to the "view results" page.


7. Contents of Page 5 - View results page

Assignment Upload Status:

Check.properties file was successfully generated. Save this file for future use.

View Result
ExP6_5URL for the assignment is given below:

http://localhost:8080/labrat-web/exercise_submit_files.faces?directory=3a9sglth0e1ri3wd6izigveya&problem=CS40%2FExP6_5

If you want to register for easy uploading of exercises in future - Register


The generated URL will be published to the student for submitting the assigment.


Setting up labrat and labrat-web on OSLO

Tried to connect to oslo but it didn;'t connect through telnet

Microsoft Telnet>
Microsoft Telnet> open oslo.cs.sjsu.eduConnecting To oslo.cs.sjsu.edu...Could not open connection to the host, on port 23: Connect failed
Microsoft Telnet> open oslo.cs.sjsu.eduConnecting To oslo.cs.sjsu.edu...Could not open connection to the host, on port 23: Connect failed

Microsoft Telnet> open oslo.cs.sjsu.eduConnecting To oslo.cs.sjsu.edu...Could not open connection to the host, on port 23: Connect failed

Microsoft Telnet>