A proposed tutoring system to support the learning of computer programming: Case Study

Author(s):  
Mohammed Alghamdi ◽  
Dhiya Al-Jumeily ◽  
Abir Hussain ◽  
Aine Mac Dermott
2017 ◽  
Vol 7 (2) ◽  
pp. 125 ◽  
Author(s):  
Thomas Staubitz ◽  
Ralf Teusner ◽  
Christoph Meinel ◽  
Nishanth Prakash

Programming tasks are an important part of teaching computer programming as they foster students to develop essential programming skills and techniques through practice.  The design of educational problems plays a crucial role in the extent to which the experiential knowledge is imparted to the learner both in terms of quality and quantity. Badly designed tasks have been known to put-off students from practicing programming. Hence, there is a need for carefully designed problems. Cellular Automata programming lends itself as a very suitable candidate among problems designed for programming practice. In this paper, we describe how various types of problems can be designed using concepts from Cellular Automata and discuss the features which make them good practice problems with regard to instructional pedagogy. We also present a case study on a Cellular Automata programming exercise used in a MOOC on Test Driven Development using JUnit, and discuss the automated evaluation of code submissions and the feedback about the reception of this exercise by participants in this course. Finally, we suggest two ideas to facilitate an easier approach of creating such programming exercises.


Author(s):  
Roberto Melendez-Armenta ◽  
Genaro Rebolledo-Mendez ◽  
N. Sofia Huerta-Pacheco ◽  
Gregorio Fernandez-Lambert

Author(s):  
Alessio Gaspar ◽  
Sarah Langevin ◽  
Naomi Boyer

This chapter discusses a case study of the application of technology to facilitate undergraduate students’ learning of computer programming in an Information Technology department. The authors review the evolution of the didactic of introductory programming courses along with the learning barriers traditionally encountered by novice programmers. The growing interest of the computing education research community in a transition from instructivist to constructivist strategies is then illustrated by several recent approaches. The authors discuss how these have been enabled through the use of appropriate technologies in introductory and intermediate programming courses, delivered both online and face to face. They conclude by discussing how the integration of technology, and the switch to online environments, has the potential to enable authentic student-driven programming pedagogies as well as facilitate formal computing education research or action research in this field.


Sign in / Sign up

Export Citation Format

Share Document