Developing authentic problem solving skills in introductory computing classes

The ability to solve problems is the key to developing software, and it is an ability that can be difficult to learn. Introductory Computer Science students are often taught syntax and semantics, along with simple problems designed to develop logical, structured thinking, but authentic problem-solving skills are rarely developed at these early stages. In this paper we describe an approach to introductory computer science education that addresses student engagement through integrating cooperative learning techniques and authentic problem solving processes throughout each aspect of the curriculum. Over a period of 4 years, the introductory computer science course at the University of Adelaide has been modified to support a cooperative learning style. A three-stage methodology has been implemented in place of traditional lectures to achieve this. The process focuses on observing the application of programming techniques, observing problem solving techniques and then applying cooperative problem solving exercises in the classroom. The results from this change in teaching methodology have been an increase in attendance rates at lectures and practical sessions as well as improved learning outcomes as measured by exam results. Student experience surveys show students have greater motivation for learning and believe they have a better understanding of concepts since the changes have occurred.

[1]  R. Burns,et al.  Study and Stress among First Year Overseas Students in an Australian University , 1991 .

[2]  David D. Riley Teaching problem solving in an introductory computer science class , 1981, SIGCSE '81.

[3]  David Ginat Misleading intuition in algorithmic problem solving , 2001, SIGCSE '01.

[4]  S. Sonnentag Expertise in professional software design: a process study. , 1998, The Journal of applied psychology.

[5]  Naomi Rosh White,et al.  Tertiary Education in the Noughties: The Student Perspective. , 2006 .

[6]  David Ginat Learning from wrong and creative algorithm design , 2008, SIGCSE '08.

[7]  E. Paice,et al.  Collaborative learning , 2003, Medical education.

[8]  V. H. Allan,et al.  Teaching computer science: a problem solving approach that works , 1997, SCOU.

[9]  Craig McInnis,et al.  Trends in the first year experience in Australian universities , 2000 .

[10]  Donald E. Knuth,et al.  Structured Programming with go to Statements , 1974, CSUR.

[11]  Thomas R. Flowers,et al.  Teaching problem solving, computing, and information technology with robots , 2002 .

[12]  James R. Delisle,et al.  The Quality School: Managing Students without Coercion , 1995 .

[13]  David J. Barnes,et al.  Introductory Problem Solving in Computer Science , 1997 .

[14]  Robert J. Crutcher,et al.  The role of deliberate practice in the acquisition of expert performance. , 1993 .

[15]  C. W. Tate Solve it. , 2005, Nursing standard (Royal College of Nursing (Great Britain) : 1987).