Learning to Program with COALA, a Distributed Computer Assisted Environment

Learning to program is an important subject for students of Computer Science. Mentoring these students is a time-consuming and complex task. In this paper, we present a learning and tutoring environment that integrates task/solution delivery, assessment support and tutor's annotations, by extending Eclipse to a "Real World Integrated Development Environment". We will present a distributed system that uses Tuple Space architecture to integrate Eclipse with an evaluation module and a hand-writing annotation feature.

[1]  Crescencio Bravo,et al.  Analyzing Work Productivity and Program Quality in Collaborative Programming , 2008, 2008 The Third International Conference on Software Engineering Advances.

[2]  Dean Sanders,et al.  Assessing the quality of programs: a topic for the CS2 course , 1987, SIGCSE '87.

[3]  A.N. Kumar Using online tutors for learning - what do students think? , 2004, 34th Annual Frontiers in Education, 2004. FIE 2004..

[4]  Heinz Ulrich Hoppe,et al.  Tuple Spaces as a Flexible Integration Platform for Distributed Learning Environments , 2007, ICCE.

[5]  Anabela Gomes,et al.  Learning to program - difficulties and solutions , 2007 .

[6]  Stuart K Garner Learning Resources and Tools to Aid Novices Learn Programming , 2003 .

[7]  Ana I. Molina,et al.  A System to Support Asynchronous Collaborative Learning Tasks Using PDAs , 2005, J. Univers. Comput. Sci..

[8]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[9]  Miguel Gea Megías,et al.  Leveraging the Linda Coordination Model for a Groupware Architecture Implementation , 2006, CRIWG.

[10]  Peter Brusilovsky,et al.  Mini-languages: a way to learn programming principles , 2004, Education and Information Technologies.

[11]  Janet Ward Schofield,et al.  Teachers, Computer Tutors, and Teaching: The Artificially Intelligent Tutor as an Agent for Classroom Change , 1994 .

[12]  Tobin J. Lehman,et al.  T Spaces : The Next Wave , 2004 .

[13]  Jeremy Roschelle,et al.  Coordinating Networked Learning Activities with a General-Purpose Interface , 2007 .

[14]  Caitlin Kelleher,et al.  Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers , 2005, CSUR.

[15]  M. Felisa Verdejo,et al.  PlanEdit: An Adaptive Problem Solving Tool for Design , 2002, AH.

[16]  Peter Brusilovsky,et al.  ELM-ART: An Intelligent Tutoring System on World Wide Web , 1996, Intelligent Tutoring Systems.

[17]  Martin Wolpers,et al.  Kbs hyperbook - a data-driven information system on the web , 1998, WWW 1998.

[18]  Timothy Koschmann,et al.  Paradigm shifts and instructional technology : An introduction , 1996 .

[19]  Amruth N. Kumar,et al.  Learning Programming by Solving Problems , 2002, Informatics Curricula and Teaching Methods.

[20]  Eva Hornecker artec Coupling Physical Artifacts and Abstract Representations , 1998 .

[21]  Miguel A. Redondo,et al.  Fuzzy algorithm representation for its application in intelligent tutoring systems for the learning of programming , 2007, EATIS '07.

[22]  Kirsti Ala-Mutka,et al.  A Survey of Automated Assessment Approaches for Programming Assignments , 2005, Comput. Sci. Educ..

[23]  Martina Schollmeyer Computer programming in high school vs. college , 1996, SIGCSE '96.

[24]  Susan Bergin,et al.  Automated assessment in CS1 , 2006 .

[25]  Benedict duBoulay,et al.  Some Difficulties of Learning to Program , 1986 .

[26]  Mordechai Ben-Ari,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[27]  Ana I. Molina,et al.  Designing Collaborative User Interfaces for Ubiquitous Applications Using CIAM: The AULA Case Study , 2008, J. Univers. Comput. Sci..

[28]  Amruth N. Kumar,et al.  A tutor on subprogram implementation , 2005 .

[29]  Jeffrey J. McConnell,et al.  Active learning and its use in computer science , 1996, ITiCSE.