Difficulties in solving ill-defined problems: A case study with introductory computer programming students

Author(s):  
Andrea Mendonca ◽  
Clara de Oliveira ◽  
Dalton Guerrero ◽  
Evandro Costa
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):  
Mohammed Alghamdi ◽  
Dhiya Al-Jumeily ◽  
Abir Hussain ◽  
Aine Mac Dermott

Author(s):  
Adilson Vahldick ◽  
Maria J. Marcelino ◽  
António J. Mendes

Casual games are characterized for their fast learning curve. Casual games tasks usually are short and have increasing difficulty. This seems an interesting approach to learn and practice introductory computer programming concepts for students that face difficulties. Many of serious games intended to support computer programming learning are commercial and aimed at children. Also only a few of those described in the literature are available to teachers. This chapter describes the development of a new game that aims to support introductory computer programming learning and its pilot study with three undergraduate introductory classes. The chapter proposes a set of design principles that might be useful in the development of casual games to support computer programming learning. These principles resulted from the experiment and include game features that were considered important to engage students and to improve some students' computer programming skills.


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