Distance learning has become the most popular way of lifelong learning, and it is widely applied not only to school’s courses but also to enterprise’s training projects. The performance objectives of learning a programming language include the following: let the learner familiar with the programming language and training for the abilities to correct syntax errors in source code; developing the skills to fix the bugs in a program by debugging tools; and improve the logic analysis and reasoning ability of problems solving. However, most of he programming skills are cultivated heavily rely on experiment practices, so learning by practicing, learning by debugging, and learning by samples are the most popular learning strategies for learning a programming course.

Learners will incrementally develop their programming skills by repeatedly practicing the programming cycle of writing a program, compiling the program, debugging the program, and testing the program. In this paper, we propose a JAVALAB system which provides three types of learning activity, simulation, quiz-and-feedback, and on-line programming, to meet the needs of programming course. JAVALAB uses XML web service as a glue to integrate Java hands-on practices with distance learning. JAVALAB can support the scenery of learning by practicing, learning by debugging, and learning by samples. In JAVALAB, a learner can do hands-on practices as well as learning activities in asynchronous distance education system. JAVALAB allow a learner to write, compile, debug, and test his Java applet on the Web. The learner is encouraged to write his code snippet according to the programming guide, JAVALAB then combines the code snippet with the frame code, and then invokes Java compiler to compile the source code. After that, the learner can try to correct the syntax errors in his code snippet according to the error messages returned, or test the program if the program is compiled without any error message. JAVALAB combines traditional programming experiments with distance education, it can provide learner with a more efficient and convenient way to proceeding a distance Java programming course. Key Words distance learning, Java applet, XML Web services

Download JAVALAB – A Java Tutorial and Programming Laboratory System