Reduction in CS: A (Mostly) Quantitative Analysis of Reductive Solutions to Algorithmic Problems

Reduction is a problem-solving strategy, relevant to various areas of computer science, and strongly connected to abstraction: a reductive solution necessitates establishing a connection among problems that may seem totally disconnected at first sight, and abstracts the solution to the reduced-to problem by encapsulating it as a black box. The study described in this article continues a previous, qualitative study that examined the ways undergraduate computer science students perceive, experience, and use reduction as a problem-solving strategy. The current study examines the same issue, but in the context of a larger population, using also quantitative analysis, and focusing on algorithmic problems. The findings indicate difficulties students have with the abstract characteristics of reduction and with acknowledging reduction as a general problem-solving strategy.

[1]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[2]  Judith Gal-Ezer,et al.  Reduction -- an abstract thinking pattern: the case of the computational models course , 2006, SIGCSE '06.

[3]  Peter McKenna,et al.  Gender and black boxes in the programming curriculum , 2004, JERC.

[4]  Éva Tardos,et al.  Algorithm design , 2005 .

[5]  Bruria Haberman,et al.  Activating “black boxes” instead of opening “zipper” - a method of teaching novices basic CS concepts , 2001 .

[6]  Judith Gal-Ezer,et al.  Solving Problems Reductively , 2005 .

[7]  Stephen H. Edwards,et al.  Misunderstandings about object-oriented design: experiences using code reviews , 2008, SIGCSE '08.

[8]  Judith Gal-Ezer,et al.  Reductive thinking in computer science , 2006, Comput. Sci. Educ..

[9]  Bruria Haberman,et al.  Activating “black boxes” instead of opening “zipper” - a method of teaching novices basic CS concepts , 2001, ITiCSE '01.

[10]  Jacob Perrenet,et al.  Exploring students' understanding of the concept of algorithm: levels of abstraction , 2005, ITiCSE '05.

[11]  A. M. White The Process of Education , 1994 .

[12]  Ilana Lavy,et al.  Cognitive activities of abstraction in object orientation: an empirical study , 2004, SGCS.

[13]  S. Turkle,et al.  Epistemological Pluralism: Styles and Voices within the Computer Culture , 1990, Signs: Journal of Women in Culture and Society.

[14]  Alan H. Schoenfeld,et al.  Mathematical Problem Solving , 1985 .

[15]  Colin Corder Teaching Hard, Teaching Soft: A Structured Approach to Planning and Running Effective Training Courses , 1990 .

[16]  Hank Kahney,et al.  What do novice programmers know about recursion , 1983, CHI '83.

[17]  Denisse R. Thompson Learning and Teaching Indirect Proof. , 1996 .

[18]  Bruria Haberman,et al.  Are Black Boxes Transparent?— High School Students' Strategies of Using Abstract Data Types , 2002 .

[19]  B. Schwarz,et al.  Abstraction in Context: Epistemic Actions , 2001 .

[20]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[21]  Michal Armoni,et al.  Reversing: a fundamental idea in computer science1 , 2008 .

[22]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .

[23]  Jeannette M. Wing An introduction to computer science for non-majors using principles of computation , 2007, SIGCSE.

[24]  Michal Armoni,et al.  Reversing: a fundamental idea in computer science , 2008, Comput. Sci. Educ..

[25]  Fou-Lai Lin STUDENTS ’ UNDERSTANDING OF PROOF BY CONTRADICTION , 2003 .

[26]  Bruno Buchberger,et al.  Should Students Learn Integration Rules? , 1990, SIGS.

[27]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[28]  Kate Sanders,et al.  Checklists for grading object-oriented CS1 programs: concepts and misconceptions , 2007, ITiCSE.

[29]  E. Goldenberg,et al.  Habits of mind: An organizing principle for mathematics curricula , 1996 .

[30]  Darina Dicheva,et al.  Mental Models of Recursion , 1996 .

[31]  Andreas Schwill,et al.  Fundamental Ideas of Computer Science , 1994 .

[32]  Orit Hazzan,et al.  How Students Attempt to Reduce Abstraction in the Learning of Mathematics and in the Learning of Computer Science , 2003, Comput. Sci. Educ..

[33]  Ian Douglas Sanders,et al.  Mental models of recursion , 2003, SIGCSE.

[34]  Orit Hazzan,et al.  Qualitative research in computer science education , 2006, SIGCSE '06.

[35]  Orit Hazzan,et al.  Students' understanding of computer science soft ideas: the case of programming paradigm , 2007, SGCS.

[36]  Dalit Levy,et al.  Insights and Conflicts in Discussing Recursion: A Case Study , 2001, Comput. Sci. Educ..