|
ExamPro is an exam creation, grading, and administration
application. I have had a lot of fun creating this series of
applications. I am especially pleased with EP++ - an extremely reliable
application with many features. For the ExamPro site, click
here. For GEPS
(Grades and Exams Productivity Suite), an alternative to the ExamPro
series, click here.
This application is the first in the series for ExamPro. This
application is object-oriented, but was written in Visual Basic 6.0 - so
it doesn't work properly in its current environment. View
Image 1.
View Image
2.
This is the first application that I wrote in Visual Studio.NET. I
tried to duplicate ExamPro in the new IDE. The application runs well,
but added few features from ExamPro. View
Image
1. View
Image 2. View
Image 3. View
Image 4. View
Client Image (logon prompt).
This application is, in my opinion, one of the best applications I
have developed in any programming language. This application uses a
linked list of objects for its data backbone. Perhaps one of the best
features of EP++ is the network connectivity backbone. The application
serializes objects (tokens) and sends them back and forth with a file
dedicated to each connection and a file dedicated to incoming
connections. A class hidden to both the client and server handles all
traffic, errors, connectivity, and data management. There is an exposed
method to process received tokens, and there are exposed methods to send
tokens and check for token notifications (tokens can trigger an "event"
which is handled as a notification). The tokens are also handled as a
linked list (did I mention that I really went overboard with linked
lists, objects, recursion, and serialization with this?) EP++ has been
designed for maximum security without going to a database environment or
using win socks. Most of these security features can be overridden by
the server administrator; however, the security features include: data
tokens that can only be "faked" by a person with access to the
application code or its shared components (and a good amount of software
engineering knowledge) or somebody that loves binary and has way too
much time on their hands, and SID certificates (student information
disks / security information disks) that act as a front-end verification
system to SSRs (server side records that hold grade and student
information). Note that SID certificates and SSRs have been used in all
versions of ExamPro, but that EP++ brings to play a new level of
security in these features. In the event that a password and
certificate have been compromised, the SID may be re-keyed or even
deleted without affecting the student record. Through SID-SSR binding,
creating management groups and managing those groups becomes easy. You
can also enable SID constraints such as a machine name so that only
someone accessing the application from a specific machine can succeed.
All invalid logon attempts are logged on the server. If the server
administrator feels that a dictionary attack is being made on the
server, the administrator can simply "deactivate" the server - an
integrated option that forces the server to ignore all communications
with everyone and everything. The server can be configured as a
certificate authority or as an archive server. If you have hard drive
corruption, no problem! Backups are being done in the background all the
time - just run the recovery agent - it'll even tell you who was in the
system when the backup was made! EP++ includes a complete statistical
analysis package - on the server and client. Clients can view past
exams (server permitting) and a grade analysis. There are many more
features of EP++. I, of course, have working code of the server,
client, shared components, and recovery agent (the archive server and CA
server are supported natively in EP++ server). Although server
configuration is - to say the least - a bit complex, EP++ was designed
to be easy to implement in a wide variety of environments for a wide
variety of needs. EP++ works great in a terminal server environment;
EP++ client does not require administrative anything to run on a
machine; EP++ client will run on the .NET framework VM (it'll work on
old NT machines as well as on the latest ones with Windows XP or Windows
2003 server - just not Windows 95 or something like that); etc - all you
do is "tailor" the server to your environment and your needs, and you're
ready to go! Server Images:
1,
2,
3,
4.
Client Images:
1,
2,
3.
There is more information on ExamPro at the
ExamPro Site. |