Collaboration and Program Simulation in Programming Learning



Programming learning is a difficult process. To become a good programmer, a student must acquire a series of capabilities that go well beyond knowing the syntax of a programming language. This is normally the easiest part, since experience has shown that the most important problem for many students is their low ability to develop an algorithm that solves a given problem efficiently. The application of basic concepts and the design of simple algorithms can be difficult obstacles for many students. These difficulties are not specific of any programming language or even of the programming paradigm used (procedural, object oriented, etc). Several authors have studied those difficulties in order to propose some possible solutions. Learning materials, student learning styles and backgrounds have been often referenced as causes for student failure. To face these difficulties and improve learning, we have considered program animation using visual representations and support for collaboration among students and teachers.
The dynamic nature of programs suggests that their operations and interactions are, in general, better described by means of dynamic visual representations. With that in mind, the Portuguese group participating in this project developed two educational environments: SICAS to support procedural programming learning and OOP-Anim to help basic object oriented programming learning.
The materialization of Collaborative Learning using computer environments leads to the CSCL paradigm. In these environments, the dialogue between users during their activity, the joint work and the resulting product are the elements that sustain, promote and cause learning. In particular, the Real Time Collaborative Programming allows distributed geographically programmers to work concurrently and collaboratively in the same programming task in order to design, code, debug, test and document. The Spanish partners in this project developed two collaborative tools: PlanEdit to support structured discussions between students and College, a real time collaborative development environment.
Our discussions resulted in the idea to integrate the four above mentioned tools, with the objective to create a larger platform that can support collaborative planning and development of programs and simultaneously allow the student to simulate programs and interact with their visual representation.
In this paper we describe the resulting platform, its foreseeable use, the benefices we think students will get and some ideas for further development.


Computer Science Education

Cited by

No citations found