180 likes | 317 Views
Using Virtual Programming Lab for Web-based Distance Education. Harris Wang Athabasca University Canada. Overview of the talk. In this talk, I will Discuss why teaching programming is important but a challenging task in distance education What the existing solutions are
E N D
Using Virtual Programming Lab for Web-based Distance Education Harris Wang Athabasca University Canada
Overview of the talk In this talk, I will • Discuss why teaching programming is important but a challenging task in distance education • What the existing solutions are • what our solution is • How to use our A-VPL in Web-based distance education
Outline • Challenges in teaching computer programming in distance education • Existing solutions • Design goals of our solution • VPL - Virtual Programming Lab • Using VPL in programming courses • Discussion and further direction
Importance of programming courses • Programming skills are essential for students in computing and related areas • Help understand computers and computing • Key survival skills for people in the IT industry • Prerequisite of many senior computing courses • A skill that is well sought and can make one a billionaire. That’s why programming courses are in the core of almost all computing program curricula
What are challenges in teaching/learning programming in DE? • Learn to program is not an easy thing for beginners • Find an error in a coding can be very challenging for beginners • In-person face-to-face tutoring is important for students • In DE in-person f2f tutoring is not usually available • Especially in asynchronous teaching/learning mode
Existing solutions • Virtual Computing lab developed and deployed at NCSU (http://vcl.ncsu.edu/) • web-based Virtual programming laboratory using Java and JavaScript, by Dincer and Fox at Syracuse University: no collaboration or communication • WebVPL, by Cao, Chan, Cao, and Yeung: no web-based editing, no collaboration or communication
Existing solutions (cont.) • A Virtual Programming Lab plug-in for the Moodle, released at University of Las Palmas de Gran Canaria (Spain, http://vpl.dis.ulpgc.es/): it does not support interactive file sharing or discussion between students
Design goals of our solution (A-VPL) • Web based • Multi-language support: HTML, JavaScript, C++, and Java • File management: program source code sharing • Class management: tutors and students in classes • Project management • Real-time tutoring/coaching and peer-support, most importantly
The design of A-VPL • It has two modes • Programming mode used as a virtual programming lab • Administrative mode used to manage accounts and classes
The design of A-VPL- programming mode • It has four major visual components: • A virtual classroom showing the lab • A list of class participants • A chat area for class participants to communicate • A list of projects and files created by the student or assigned for the class by the tutor Of course, there are menu items used to control
Architecture of A-VPL Three layers: • Layer 1: Web server • Layer 2: Software agents: lab admin, messaging admin, project admin, class admin, user admin • Layer 3: Databases: labs, projects, classes, students, tutors, messages
Using A-VPL in WBDE • User to request an account • Admin approve the request, and may assign to a class with a tutor • The student can choose a language to program • The student can create a project to work on, or may be already assigned a project by the tutor
Using A-VPL in WBDE (cont.) • Files are created or uploaded for each project, and student can program in the editing area, and run to test • If there is problem, the student can call (in the messaging area) for help • Others in the lab can then respond to the call. If needed, the student can share the code with the helper so they can be on the same page, and both know what the other is talking about
Discussions and conclusions • A-VPL is only a virtual programming lab, it doesn’t facilitate grading, and learning management in general • Put chat and messaging system with the VPL so people can talk in the context is a great feature • Chat system can be improved by utilizing HTTP push technology instead of polling, to avoid delays • Make A-VPL a plug-in for existing LMS such as Moodle will be the next step in the research