WebHat : Web based Homework Assistant Tool
WebHat is a computer science homework assistant tool. Computer science TA announces homework information and previous homework grades on the WebHat. Course student can validate their homework submitting history on the WebHat.
- Developers : Wei-Chung Hu, Ye-Chi Wu, Ming-Lun Lee, and Lee-Wei Mar
- Status : Active
- Language : Python
- License : LGPL
- Thirdparty Tools : TurboGears, Subversion, Trac, TortoiseSvn, SmartSvn, MySQL-Python
- Database : MySQL
Functionality
The DBSE Lab. has been contributed in NCKU EE undergraduate programming learning for over eight years. Experience told us the conventional assignment delivery on class, assignment uploading via FTP, and manual homework file management cost lots of effort from T.A. Moreover, the students perform passively on uploading their assignment and having trouble in assignment version control.
Therefore, we build WebHat, a system that integrates Subversion, Trac, and backend student assignment evaluation tools for T.A. The version control system, Subversion, is used to replace the role of conventioal FTP and to enhance the version control capability. Student's personal Trac provides issue tracking facilities and wiki based community learning platform. Both the adoption of Subversion and Trac make it possible to build many assignments and student behavior evaluation tools in the backend.
Table below illustrates the functionality brought by WebHat.
System Architecture
The entire homework assisting process includes two asynchronous iterations.
In the first iteration, the student checks the announced assignemnts on public announcement pages, do the programming practice, and commit their assignments to Subversion server via SVN client software, such as TortoiseSvn or SmartSVN. Some fundamental evaluations will be performed automatically for the students, such as compilation, simple test case execution, and required programming quality evaluation. Therefore students can understand the defects in their committed assignments and refine their assignments before the deadline.
T.A. in the second iteration will checkout the students' assignments and perform the evaluation. Usually the second iteration will be performed once after the assignment deadline, and the results will be the final score of each student's assignment.
Practical Performance
Diagram below issustrates the number of assignment commit for homework-1, homework-2, and homework-3 in this semester (Introduction to Computer Science, Fall 2008). The average numbers of assignment commit are 3.64 for homework-1, 2.82 for hoemwork-2, and 3.58 for homewokr-3.