|
Abstract:
|
Managing and grading programming assignments always takes a lot of effort including accepting submissions, checking timestamps of files, grading and publishing grades. PAMS is a web-based system that is designed for the purpose of automating the entire procedure of managing and grading programming assignments. With the help provided by PAMS, grading programming assignment becomes incredibly easy for instructors. The only thing that instructors need to do is setting up an assignment by providing information such as assignment name, due date, cutoff date and testing cases, and letting PAMS take care of the rest. PAMS collects the submissions from students before cutoff date, compiles and executes the programs, and then verifies for the correctness of the results. Students could check their grades after PAMS finishes grading. PAMS interacts with users by a web interface. Using PAMS requires just a browser with internet access.
My project is a perfect tool for instructors who need students to submit programming assignments. Since there is no similar tool could provide similar functions which are managing student information and grading C programming assignments, PAMS actually fills in this gap.
Designing PAMS follows the latest Java EE 6 specification which includes JavaServer Faces 2.0, Java Servlet 3.0, Enterprise JavaBeans 3.1 and Java Persistence 2.0. The JavaServer Faces provides rich web interface by Ajax components. Enterprise JavaBeans contains business logic which are database transaction control and grading logic. The Java Persistence maps the database relations to Java objects that can be used by Enterprise JavaBeans. Virtual machine technology is utilized for the grading component in PAMS. MySQL provides the backend database support for PAMS. For current version of PAMS, only C programming assignments can be graded automatically; however, PAMS does provide API for calling Java compiler and testing Java Class. Grading programming assignments written in other languages is the future work for PAMS. |