Virtual laboratory platform for computer science curricula

Experimenting in computer science course is challenging due to the limitation of site, equipment and special experiment tools. In this paper, based on the analysis of the experiments features of computer science curricula, such as, Principle of Computer Organization, Digital Image Process, Digital Signal Process etc., we design two kinds of virtual lab platforms and develop corresponding virtual lab systems for the courses in computer science curricula. In the first virtual lab, every experiment instrument in real lab is visualized as a Java component. In the other kind of virtual lab, the algorithm students learn in the course is packed as a Web Service component by C, C++ or Java. In both platforms, those components are listed in the system. Students is able to select Java components or Web Service components as the experiment they want to do need and integrate them by building connections between them. Then, the students can set input for the experiment in the input component. After click the button of rum, the result will be display for the students in the platform. In the two kinds of virtual lab, students can also write the code in the platform. After it is submitted, those codes will be transferred as a component by the platform and be added in the component list. Then they can use them as the components provide by the platform. So, they can test if the algorithm they write is correct. Both platforms are developed by Java Applet and can be run by a browse. By using our system, students can experiment at any time and any place via the Internet. Teacher is also able to do experiment in the classroom. Base on the platforms, 6 virtual lab systems have been developed and used by more than 5 universities in China. Those virtual lab systems have been received favorably by teachers and students.