Wednesday, April 25, 2012

Programmer's Pursuit Reevaluation

After some months of development, balancing school, teaching, and work, and two weeks of illness, I am forced to admit that I will not be able to complete Programmer's Pursuit before the end of the semester.  Many of the components of the game are working, but of those many are still unrefined and have difficulties fitting together.  Although this is disappointing, I have every intention of continuing work on the project over the summer.

Programmer's Pursuit was intended to provide the students in my ICS 111 class with an entertaining way to review the course material.  The game would have included a facsimile of a Computer Science midterm.  While I certainly cannot complete Programmer's Pursuit before the semester ends, I believe that I can create a workable (if somewhat unpolished) sample exam for the students to use in preparation for their final exam.  Since many of the students have expressed their desire for a practice exam, I expect that this will provide the students with something that they want and that will prove of use to them.

Aside from helping the students, I intended to use Programmer's Pursuit as a means of continuing the use of various software engineering tools.  As usual, I have Eclipse for my IDE.  The source code for this exam application is on Google Project Hosting largely as a backup in case something should happen to my computer, though the ability to track issues will prove useful soon.  I have reverted to using SVN largely due to my familiarity with using it, though I will certainly continue to work on learning Git once I have more free time.  Ant remains my build tool, though the files that I am using with it are much reduced in functionality.  I am only using JUnit, Jacoco, and CheckStyle for my testing; PMD and FindBugs have been temporarily removed.  I am using CheckStyle instead of PMD or FindBugs mostly because I was able to discover how to modify the appropriate configuration file for CheckStyle to fit my stylistic preferences. 

The link to the project site for the ICS 111 Practice Exam is:
http://code.google.com/p/ics111-practice-exam/

The practice exam is currently functional.  Questions may be multiple-choice or fill-in-the-blank (for short-response questions).  The user is presented with each question in sequence and can navigate between questions using the Previous and Next buttons at the bottom or through typing in the number of a particular question and clicking the Go button in the lower left. 






Once the student has completed the exam, he or she may click on the End Exam button in the lower right portion of the window.  This produces a prompt to confirm that the user wishes to stop.



Clicking Cancel returns the user to the exam.  Clicking OK goes to a results page that contains the score that the student received and lists any incorrect questions with the user response and the correct answers.







There are a few more features that I have to work on; in particular, I want to add a button that opens up a list indicating which questions have not yet been answered and a button to access supplementary materials for particular questions.  As some may note, the exam questions shown in the images here and that are in the code on the project site at the moment are all on HTML; this was because my testers for the layout are not familiar with Java but do somewhat understand HTML.

3 comments:

  1. Have you thought about changing the L&F of your program? In my opinion, the default L&F doesn't look great at all. Here's a quick tip:

    http://www.denshaotoko.com/2011/09/java-tip-of-day-3-setting-look-and-feel_6595.html

    If you change it to the Windows L&F, you wouldn't know that your program was developed in Java.

    Great post, dude!

    Cheers,
    BJ

    ReplyDelete
    Replies
    1. Thanks for the suggestion; I will look into doing that (and actually practiced applying the Windows L&F for another program at work yesterday). The default L&F is very similar (if not identical) to the appearance of jGRASP, which has its advantages and disadvantages for the ICS 111 students: on one hand, they should be familiar with it after nearly a semester; on the other, they will have linked that style to all of the mental and emotional trauma associated with being a student of Computer Science.

      Delete
  2. If you take a look at my company's product, LiveAction (http://www.actionpacked.com), you wouldn't have thought it was developed in Java. I thought it wasn't, but it actually is.

    Feel free to check out more Java tips here: http://www.denshaotoko.com/search/label/engineering%20log

    Are you going to take the Java 6 certification exam?

    BJ

    ReplyDelete