From ankh.iia.org!uunet!sparky!not-for-mail Mon Aug 29 21:37:22 1994
Path: ankh.iia.org!uunet!sparky!not-for-mail
From: jcallowa@nando.net (James Calloway)
Newsgroups: news.announce.conferences,comp.soft-sys.powerbuilder,comp.soft-sys.sas,comp.sys.next.software
Subject: 1994 Software Developers Competition medal criteria
Followup-To: poster
Date: 23 Aug 1994 07:58:32 -0500
Organization: NandO.Net -- News & Observer Internet Public Access
Lines: 460
Sender: rick@sparky.sterling.com
Approved: rick@sparky.sterling.com
Distribution: world
Expires: 9 Oct 1994 8:00:00 GMT
Message-ID: <33crpo$srr@sparky.sterling.com>
Reply-To: jcallowa@nando.net (James Calloway)
NNTP-Posting-Host: sparky.sterling.com
Keywords: competition, database, RTP, medal, criteria
Xref: ankh.iia.org news.announce.conferences:1346 comp.soft-sys.powerbuilder:3436 comp.soft-sys.sas:5193 comp.sys.next.software:4651


        The following six-part message contains information about the gold medal
categories for the 1994 Developers Competition. The competition will be held
Oct. 6-8 in Durham, North Carolina. This information is being posted on
this newsgroup to solicit input on the criteria selected.  We welcome feedback
and are doing this specifically to insure that the competition is as fair
to all the different languages as possible.

       Additional information can be found obtained by anonymous ftp at

    ftp://ftp.nando.net/pub/droege

         in zipped form (dcmp94.zip) or at

    ftp://ftp.nando.net/pub/droege/unzipped

         in ASCII text.

Also information has been posted on the web at

    http://www.nando.net

And of course you may email us directly:

    Thomas Droege <71333.3015@compuserve.com>

- Tom Droege
1994 Developers Competition

            1994 Developers Competition - Gold Medal Criteria
                         General Guidelines

       This year the Developers Competition will evaluate five specific
areas of interest and award Gold, Silver and Bronze medals to the best
teams.  These guidelines answer specific questions about the "Gold
Medal Rounds".

1.     Medals will be awarded in the following categories:

       Graphical User Interface (GUI)
       Rapid Application Development (RAD)
       Client/Server
       Object Oriented Programming (OOP)
       MultiMedia

2.     Each medal round has its own set of judging criteria.

3.     Each team may select 1 or 2 medal rounds to compete in.

4.     Qualification for the medal rounds is determined by your ranking
       in the "general" competition.  In order to qualify for the medal
       round, your finish in the general competition must rank within
       the top 6 teams in your category.  When you qualify, the gold
       medal judge will contact you to review your application for the
       gold medal criteria.

       For instance, if after the first round of judging the teams
       competing in the Client/Server Category were ranked 2nd, 5th,
       10th, 20th, 25th, 26th, etc... in the general competition, those
       teams would advance to the medal rounds.  Any other Client/Server
       teams, even if they could score a perfect 100 on the
       Client/Server criteria would NOT qualify.

5.     The Gold Medals consist of one ounce of pure gold stamped with
       the logo of the 1994 Developers Competition.  The category will
       be engraved on the medal.  Only one gold medal will be given to
       each of the 5 winning gold medalist teams.  A second, gold
       plated, silver medal will be given to each of the 5 winning gold
       medalist teams.  Second and Third place teams will each receive
       two silver and two bronze medals respectfully.

The specific criteria for each of the gold medal rounds follow:


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
              1994 Developers Competition - Gold Medal Criteria
                           Graphical User Interface

1.  Graphical Design: (Window design, Screen design)

____ 0-8 Pts.        Practical & Efficient - Show how the GUI design used
                     is Practical in its presentation and show the Efficient
                     use of the full screen and use of user windows.

____ 0-8 Pts.        Consistency - Demonstrate how the user interface is
                     Consistent and flows through from screen to screen.

____ 0-8 Pts.        Icons - Demonstrate how the Icons are self documenting
                     and useful to the users.

____ 0-5 Pts.        Controls - Are adequate Controls implemented to
                     facilitate ease of use.  Show how  the variety of
                     control options available have been put to good use.

____ 0-5 Pts.        Pull Downs - Show how the Pull Downs represent all the
                     needed functionality necessary for the application.
                     Have important options been left out.

____ 0-5 Pts.        Dialog Boxes - Demonstrate the Dialog Boxes being
                     implemented in a useful manor.  What kind have been
                     implemented(Modal/Modeless)?  Are any cascading?

____ 0-5 Pts.        Colors - Are Colors pleasant and professional to the
                     normal user.

____ 0-5 Pts.        User Customization(Colors,Sizes,Fonts,Etc.) - Can user
                     change parameters easily.

2.  Error Handling:

____ 0-5 Pts.        Error logging - Demonstrate how this is  done in a
                     easily understood and self documenting manner.

____ 0-5 Pts.        Single input error - When showing  a single input error
                     is error responded to or is just an OK box displayed.

____ 0-8 Pts.        Multiple errors - Show how multiple errors resolved
                     (range dependencies etc.)

3.  Menu:

____ 0-8 Pts.        Consistency of choices - Demonstrate how Menu choice
                     is consistent from item to item and menu to Menu.

____ 0-5 Pts.        Accelerator keystrokes - Show the Accelerator
                     Keystrokes available.  Do all the functions have
                     accelerator keystrokes associated with them.

4.  User Feedback:

____ 0-5 Pts.        Visual - Demonstrate clear self documenting feedback.

____ 0-5 Pts.        Audible - Demonstrate a distinguishable tone for the
                     user.

5.  On-line Help:

____ 0-5 Pts.        Context Sensitive - Show how easy it is to switch to
                     help when needed.

____ 0-5 Pts.        3rd party tools that do a better job - Demonstrate how
                     any 3rd party utilities have been used.  Have 3rd party
                     tools been used to fill in the places where they could
                     do a better job.



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                1994 Developers Competition - Gold Medal Criteria
                          Rapid Application Development

The RAD (Rapid Application Development) Gold Medal Round will be based
on successful implementation of additional new tables and reports that
will be provided Friday morning.

It is basically "more of the same" requirements that are provided in
the general specification.  You can count on 3 more tables and 2 more
reports that must be developed and integrated into the rest of the
application.  A script will be provided in the morning to demonstrate
each of the following criteria.

1.  Data Entry and Maintenance (25 pts).

____ 15 pts.         Show the Data Entry and Maintenance capabilities for
                     each of the 3 new tables.

____ 10 pts.         Demonstrate the integration of the new tables with the
                     rest of the application as described in the
                     specifications.


2.  Relational Capabilities (25 pts).

____ 5 pts.          After editing the records as shown in the script
                     demonstrate that the Relational integrity has been
                     maintained.

____ 5 pts.          Delete the records indicated.  Show the results of the
                     cascading delete.

____ 15 pts.         You will need to add, edit and maintain child, parent
                     and many-to-many records with relational relationships.


3.  Reporting (30 pts).

____ 15 pts.         Report #6

____ 15 pts.         Report #7


4.  User Interface / Subjective Criteria (20 pts).

____ 10 pts.         Does the RAD part look as professional as the rest of
                     the application or does it look "rushed".

____ 10 pts.         Is the screen design, user interface, help features,
                     documentation as complete as the rest of the
                     application?



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  1994 Developers Competition - Gold Medal Criteria
                                    Client/Server

____ 15 pts.         Demonstrate that the processing is divided between the
                     desktop and server.  Start the client program while the
                     server is stopped.  Illustrate the client program does
                     not work.  Start the server program independently of
                     the client. Illustrate the client program now works
                     properly.

____ 10 pts.         Illustrate the ability to access data using different
                     client programs.  For example, run your application in
                     one window and run Interactive SQL in a separate
                     window.

____ 10 pts.         Illustrate usage of SQL in your application.  Run it
                     interactively.  Show a code fragment which uses SQL.

____ 10 pts.         Create an index independent of the application and then
                     run your application.

____ 10 pts.         Grant/revoke security privileges to access specific
                     tables of data. Demonstrate the program working with
                     and without security privileges.

____ 5 pts.          Demonstrate the usage of stored procedures and/or
                     triggers with your application.

____ 15 pts.         Illustrate in a program fragment how your application
                     uses transaction processing.  Commit and rollback are
                     used with proper checking of error status codes.

                     your system.  Show how when you attempt to delete a
                     parent row which has corresponding children, the server
                     rejects the deletion.

____ 5 pts.          Does your client/server implementation support ODBC?
                     supplied with your server. Show status of who has

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                1994 Developers Competition - Gold Medal Criteria
                            Object Oriented Programming

1.  Encapsulation

____ 0-4      Produce a list of the classes used in your design.

____ 0-4      For each class (chosen by the judges) identify the access
              functions (messages), instance variables, and class
              variables (if any) defined for that class.

____ 0-4      For each chosen class identify the implementations (methods)
              associated with the access functions (messages).

____ 0-4      For each chosen class show that the code text that describes
              the programmer's interface to the class (or library, or
              module) is textually separate from the code text that
              describes its internal implementation details or secrets.

____ 0-4      Design decisions encapsulated by class definitions should
              be motivated by rational criteria.  For example, they should
              hide decisions likely to change over time, or vary between
              versions of the system.

____ 0-4      Choose a class that encapsulates a specific design decision.
              What design decision is encapsulated?  What advantages
              accure from encapsulating that decision in a class
              definition?

2.  Inheritance

____ 0-4      Produce a diagram of classes used in the system illustrating
              the inheritance relationships between the classes.

____ 0-4      Identify which classes were derived from pre-existing class
              libraries.

____ 0-4      Which classes were newly defined to create this system?

____ 0-4      Demonstrate the use of inheritance in your system.  Change
              a class definition and demonstrate that the change is
              reflected in an object of an inheriting class.

3.  Style

____ 0-4      Describe what naming conventions exist in the prexisting
              classes and libraries you use.

____ 0-4      Describe what naming conventions you use.

____ 0-4      Naming conventions conform to standards used in the
              preexisting code incorporated into the system.  (Points
              assigned by judges upon inspection of code text chosen by
              the judges.)

____ 0-4      Readability and adherence to professed conventions (as
              determined by the judges).

4.  Reuse

____ 0-4      What pre-existing software class libraries were reused to
              construct the application?

____ 0-4      What new class libraries, APIs and documented interfaces
              appropriate for reuse were created?

____ 0-4      Reusability (as subjectively determined by the judges).
              Would other programmers choose to reuse the facilities
              provided by this code over alternative libraries or
              rewriting?

5.  Persistent Objects

____ 0-4      Is management of reading and writing to persistent storage
              centralized in a persistent objects class?

____ 0-4      Is a persistent objects class used for database data?

____ 0-4      Are persistent objects used for application specific data
              such as objects representing user profiles?

____ 0-4      Are persistent objects used for saving and restoring the
              user's desktop context?

6.  Conceptual Clarity

____ 0-4      The classes and objects chosen should correspond to a
              conceptual model that is easy to comprehend.  This model
              should help judges predict how the system will respond to
              specific commands.  (Points assigned based on judge's
              subjective evaluation of the clarity and accuracy of you
              explanation.)

____ 0-4      Access functions (methods) defined should exhibit useful
              mathematical properties that simplify reasoning about
              programs that use them.  (e.g. Inverses (open / close),
              Idempotence ( reset() ; reset()), Commutivity (open(a) ;
              open(b)) = (open(b) ; open(a)).  Identity ( concatinate
              ("abc", ""); ).  Choose three algebraic properties (not
              restricted to this list) and describe how they apply to
              specific assess functions (messages) you have defined.

____ 0-4      What is your policy for allocating and freeing resources
              to guard against resource exhaustion?  How would one inspect
              the code text to verify that this policy is adhered to?
              (e.g.  For every new, we identify the corresponding delete.)

____ 0-4      What is the name of your program?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
               1994 Developers Competition - Gold Medal Criteria
                                   Multimedia

1. Capture/Import Still Color Images, Display Images (30 pts).

(1)(3)(5)     Show images inserted into records captured from a real-time
              source such as an electronic camera or camcorder.

(1)(3)(5)     Show images inserted into records from scanned photographs
              (photographs provided) use scanner to scan image.

(1)(2)(3)     Show at least three (3) formats of image files that can be
              imported and inserted into records.  1 for each (max 3
(2)           points), 2 points if images can be imported from PhotoCD's.

(1)(3)(5)     Show how images can be resized and/or cropped to fit a
              standard record size and shape. 5 points if application
              resizes automatically.

(1)(3)(5)     Show images being displayed in conjunction with their
              associated records.

(1)(3)(5)     Show how the image can be zoomed from a partial screen to
              full screen or more.

2.  Display and Selection by Thumbnail Images (5 pts).

(2)           Show a set of records for browsing by displaying a set of
              "thumbnail" images from their attendant records.

(3)           Show once an image is selected that the associated record
              is displayed and the image zoomed simply by pressing a
              single key.

3. Capture/Play Sound (15 pts).

(1)(3)(5)     Show sound can be recorded and attached to records from a
              microphone.

(1)(3)(5)     Show sound can be recorded and attached to records from a
              tape cassette or from a CD player. (tape cassette provided)

(1)(3)(5)     Show that captured sound files can be recalled with their
              associated records and played.

4. Capture/Play Video (20 pts).

(1)(3)(5)     Show video sequences can be recorded and attached to records
              from a VCR (VHS video tape provided).

(1)(3)(5)     Show that captured video sequences files can be recalled
              with their associated records and played.

(1)(3)(5)     Show single frame captures are possible.

(1)(3)(5)     Functionality, show easy VCR like controls for playback,
              pause, rewind and fastforward.

5. Desktop Publishing and Laser Reports (20 pts).

(3)           Demonstrate how the program can output a Postscript file.
              (Either output to a postscript printer or use a text editor
              to show postscript header information in file).

(1)(2)        Show reports produced with headers/footers and page numbers.

(1)(2)        Show reports that include graphics and photographic images.

(1)(2)(3)     Show how the program controls the reproduction quality
              (halftone screen lines/inch) to match output requirements.

              Show a "laser printer quality" report that includes the
              following:
(2)           Proportional fonts.
(2)           Line drawn boxes.
(2)           Shaded and non-shaded boxes.
(2)           Proportionally printed and centered captions.
(2)           Boxes connected with lines and arrows.

6. Data Collection by OCR (5 pts).

(1)           Show data collection using Optical Mark Reader from a
              preprinted Optical Mark Reader form.

              Show data collection using OCR technology from the
              following:
(1)           Capture from a hand written form
(1)           Capture from a typed form
(1)           Capture from a printed form
(1)           Capture from a fax

7.  Graph information (5 pts).

(3)           Show an 'on screen' display with a graphic representation
              (i.e. line, bar or pie chart) of a relevant data set.

(2)           Show a printed report with a graphic representation (i.e.
              line, bar or pie chart) of a relevant data set.

Maximum points will be awarded for meeting all criteria using supplied
original data, photographs, tapes etc.  Partial credit will be awarded
if substituted data is used to show the multimedia functionality or
display.

(1)(3)(5)            (1) point for demonstrating any ability.
                     (3) points for doing so without closing application.
                     (5) points for doing so without leaving application.

