Implementation of a smart lab for teachers of novice programmers

Communication between students and their instructors in the lab is a limited commodity. With limited access to the tutor, students can sometimes spend a long time trying to fix simple errors, continually revisiting and repeating the same errors. Instructors, on the other hand, find themselves explaining the same mistakes over and over again. It is often not clear to them how well individual students are progressing toward meeting the task objectives. This paper introduces a new implementation of Smart Classroom technology for introductory programming computer laboratories. The Smart Lab is intended to make the computer lab a better educational environment for both students and instructors. In the Smart Lab instructors are provided with information about each student's progress as they perform programming tasks, enabling the instructors to readily respond to individual student's problems and assess the overall progress of the class. Two different evaluation approaches were used to test the new implementation: an expert review session and a lab study. The evaluation found that the Smart Lab improved instructors understanding of their students' problems enabling them to provide timely and appropriate feedback. It also provided instructors with better understanding of their students' programming strategies and compilation behaviours.

[1]  Chen Di,et al.  An Introduction to the Technology of Blending-Reality Smart Classroom , 2008, 2008 International Symposium on Knowledge Acquisition and Modeling.

[2]  D. Arnow,et al.  WebToTeach: an interactive focused programming exercise system , 1999, FIE'99 Frontiers in Education. 29th Annual Frontiers in Education Conference. Designing the Future of Science and Engineering Education. Conference Proceedings (IEEE Cat. No.99CH37011.

[3]  Angela Carbone,et al.  Assisting Students with Typical Programming Errors During a Coding Session , 2010, 2010 Seventh International Conference on Information Technology: New Generations.

[4]  James D. Slotta,et al.  A new framework for smart classroom research: co-designing curriculum, research and technology , 2009, CSCL.

[5]  Robert McCartney,et al.  A multi-national study of reading and tracing skills in novice programmers , 2004, ITiCSE-WGR '04.

[6]  Rebecca T. Mercuri,et al.  Identifying and correcting Java programming errors for introductory computer science students , 2003, SIGCSE.

[7]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[8]  Mark Guzdial,et al.  A multi-national, multi-institutional study of assessment of programming skills of first-year CS students , 2001, ITiCSE-WGR '01.

[9]  Judithe Sheard,et al.  Analysis of research into the teaching and learning of programming , 2009, ICER '09.

[10]  Thomas R. Flowers,et al.  Empowering students and building confidence in novice programmers through Gauntlet , 2004, 34th Annual Frontiers in Education, 2004. FIE 2004..

[11]  Angela Carbone,et al.  An exploration of internal factors influencing student learning of programming , 2009, ACE '09.

[12]  Matthew C. Jadud,et al.  Methods and tools for exploring novice compilation behaviour , 2006, ICER '06.

[13]  SimonBeth,et al.  A multi-national study of reading and tracing skills in novice programmers , 2004 .

[14]  Gail E. Kaiser,et al.  Retina: helping students and instructors based on observed programming activities , 2009, SIGCSE '09.

[15]  António José Mendes,et al.  Problem Solving in Programming , 2007, PPIG.

[16]  David Hovemeyer,et al.  Experiences with marmoset: designing and using an advanced submission and testing system for programming courses , 2006, ITICSE '06.