Developing Authentic Problem Solving Skills in Introductory ...

136 downloads 20479 Views 35KB Size Report
Introductory computer science courses often teach students syntax and semantics along simple problems designed to develop logical, structured thinking.
Highlights • Introductory computer science courses often teach students syntax and semantics along simple problems designed to develop logical, structured thinking. • Authentic problem-solving skills are rarely developed at these early stages. • The authors designed and tested with success a three-stage process to teach problem-solving:

Developing Authentic Problem Solving Skills in Introductory Computing Classes Katrina Falkner and Edward Palmer SIGCSE’09, March 3-7, 2009

– Observing applications of programming techniques – Observing problem solving techniques – Applying cooperative problem-solving exercises in classroom

Presented by Xiannong Meng for ENGR 139 Spring 2010 1

Outline Of Presentation • • • • •

2

Introduction

Problem introduction Related work Authentic problem solving Analysis of experimental results Conclusion

• Software development is a creative process, requiring skills in – Design – Innovative thinking – Communication

• Real world software development commonly – Start with partial defined problems – Communicate with clients and colleagues to determine the full problem specifications – Build prototypes to experiment with various solutions – Choose and develop the most feasible solution 3

Classroom Instructions Mismatch with Real World

4

Contribution of the Authors

• Classroom teaching concentrates on syntax and semantics, using problems to demonstrate the features of a language. • Rarely do introductory computer science texts elaborate examples that illustrate that solving problems most commonly starts with failures, with alternatives.

• An approach to teaching introductory computer science that uses authentic problem solving to facilitate experiential learning. – Using cooperative learning techniques to increase student engagement and enhance the authenticity of the learning process. – Using cooperative problem solving approaches throughout every aspect of the curriculum, including course content and delivery, and support services. – Choosing problems that enable both practice and exploration of the problem space. 5

6

1

Outline Of Presentation • • • • •

Polya’s Seminal Work (1945)

Problem introduction Related work Authentic problem solving Analysis of experimental results Conclusion

• • • •

Understand the problem Devise a plan Carry out the plan Look back

7

8

Computer Science Version of It

More Recent Approaches

• Problem Solving Cycle by Barnes, Fincher, and Thompson – – – –

• Students lead the problem-solving process with a partially specified problem (Flowers and Gossett, 2002). • Discuss problem solving strategies first before teaching any programming elements (Allen and Kolesar 1997).

Understanding, Designing, Writing and Writing, Reviewing

• Top-down, step-wise refinement approach by Knuth and Riley

9

10

Other Issues

Cooperative Learning

• First-year students transition: “part of an anonymous mass”, feeling of isolation and loneliness. • First-year students engagement (studies show a strong correlation between attendance and student performance)

• Glasser draws a distinction between “learning by observing” and “learning by doing” and “being involved”. Students retain about – – – –

– Missing classes – Lack of confidence in their own abilities plagues many first-year students

10% of what they read 20% of what they hear 70% of what is discussed with others 95% of what they teach to someone else

• Cooperative learning is a teaching strategy where students work together to improve their understanding of a give topic. 11

12

2

Outline Of Presentation • • • • •

Authentic Problem Solving

Problem introduction Related work Authentic problem solving Analysis of experimental results Conclusion

• Authentic problem solving contains two components – Application of cooperative and active learning – Incorporate support systems into learning

• Cooperative and active learning – Observing application of programming concepts – Observing problem solving – Cooperative problem solving

• Support system – Computer Science Learning Center 13

Cooperative and Active Learning (1)

14

Cooperative and Active Learning (2)

• Observing applications of programming concepts

• Cooperative problem solving • Weekly Worked Examples lectures

– Using code examples – Demonstrating running of the example code – Developing code live in classroom, explaining various choices along the way

– Students are given a small set of problems to solve – The problems are designed to utilize the concepts learned in the week before – Groups G off 33-44 students t d t first fi t discuss di the th problems bl within ithi the th group to make sure everyone understand the problem – Each group then design a solution and start to implement the design – The instructor collects common problems and make a summary at the end of the lecture

• Observing problem solving – Demonstrating live problem solving: start with a high level and incomplete problem specification – Elaborating the problem – Identifying key elements of the solution – Exploring and comparing alternate solutions – Concluding by identifying key classes and necessary algorithms

• The weekly tutorial sessions work in a similar way. 15

Result and Analysis

16

Positive Effect on Attendance

• The new approach has a very positive impact clearly. Some sample course evaluation questions: – This course stimulates my enthusiasm for further learning increased from 57% to 74%. – I am motivated to learn in this course increased from 60% to 71%. – This course helps me develop my thinking skills (e.g., problem solving, analysis) increased from 79% to 88%. – I understand the concepts presented in this course increased from 64% to 80%. Attendance from 2004, 2005, 2006, 2007 Practical, lecture, attrition 17

18

3

Effect on Practical Examination

Conclusions

2004

2005

2006

2007

2008

PE1

80

75

91

93

91

PE2

45

41

51

61

75

• Authentic problem solving – Observing applications of programming concepts – Observing authentic problem solving – Cooperative problem solving

Average Exam Scores Over the Years 1 Data collected reflects the 44-year 1. year experiment period 2005 2005-2008 2008 2. Weekly Worked Examples lectures started 2006 3. Changed weekly Worked Examples format so students led all discussions

• The approach increases students’ st dents’ confidence and improves their performance • Students-led problem solving sessions do better than passive learning, or instructor-led sessions.

19

20

References • Barnes, D. J., Fincher, S. & Thompson, S. (1997). Introductory problem solving in computer science. In Proceedings of the 5th Annual Conference on the Teaching of Computing, pp 36-39, August 1997 Accessed March 19 1997. 19, 2010 from http://kar.kent.ac.uk/21468/2/Introductory_Proble m_Solving_in_Computer_Science.pdf

21

4