Overview
Introduction
Programming Assignment aSsessment System (PASS) is an automatic system that tests the correctness of computer programs submitted to it. PASS was developed with the primary aim to improving the teaching and learning of computer programming. It encourages students to practise their programming skills and provides prompt and useful feedback to their programs. As PASS was deployed, it has also become instrumental in alleviating the tedious and time-consuming task of manually grading student assignments in programming courses. It has received very positive student responses and comments.
PASS is developed at Department of Computer Science, City University of Hong Kong.
See the Road Map of PASS
Background
In recent years, the number of undergraduates studying computer science or related disciplines has been increasing rapidly. Programming is definitely one of the major skills required in these disciplines. Most of the advanced computing courses presume that students are capable of mastering a range of programming languages such as C, C++, Java, etc. To satisfy these needs, students have to engage a substantial amount of time in building up and mastering their programming skills. Practical exercises and assignments are invariably an integral part of programming courses. In order to create a progressive learning platform, assignments should be graded carefully but quickly so that students can improve from useful and timely feedback. Moreover, to encourage students to practise their programming skills, it is necessary to have a repository of programming exercises at various levels for them to work on. Furthermore, students would need prompt feedback on whether the programs they write are correct or not.
Against this background, a Web-based progressive learning environment was conceived in the year 2003. Under such an environment, the system is responsible for all the tedious tasks that were previously handled by the instructors. In a learning cycle, the instructor posts assignment information together with some testing samples to the system. The class will be able to download the instructions and attempt the problem. Students can make use of the online sample test cases to test their work, or they can submit their programs to the system and let the system trial run for them. Students should submit their final programs to the system by the predefined deadline. Then, with the click of a button, the system will start the grading process, and the instructor will be able to read the assessment report from the system in less than a day. Assessment results and feedbacks can then be sent to students by the instructor. Comments can be generated by the system when test cases are carefully designed. The Web-based progressive learning platform would encourage students to explore their interests in programming, algorithms and related topics through short learning cycles.
Current status
Since its first deployment in 2004, PASS has been regularly used in many undergraduate courses related to computer programming. Currently it supports the automatic testing of programs written in several variants of C, C++ and Java. By the end of July 2009, PASS has been updated to Version 3.1 and has served more than 4000 students in a total of 30 courses in computer programming, data structures, and data mining. So far, it has handled more than 160,000 program submissions and test executions.
Since September 2008, PASS has been maintained by the Computer Science Lab, Department of Computer Science, City University of Hong Kong.
Acknowledgement
Funding
The development of PASS has been supported by Teaching Development Funds/Grants (project numbers 6980041, 6980064 and 6000118) from City University of Hong Kong, and a supplementary fund from Department of Computer Science, City University of Hong Kong.
People
- Dr. Marian Choy, Dr. C. K. Poon, Dr. Y. T. Yu, Dr. Philips Wang, Dr. Victor Lee, Dr. Sam Ng
- Celine Chong, Usman Nazir, P. F. Tam, Sam Lam, Leo Yuen
- Isaac K. L. Yeung, C. M. Tang, Dennis Liu, Maria Lam, Roy Au, Eric Chan
- Technical staff members of Computer Science Lab, Department of Computer Science, City University of Hong Kong

