Access the full text.
Sign up today, get DeepDyve free for 14 days.
O. Muller, David Ginat, B. Haberman (2007)
Pattern-oriented instruction and its influence on problem decomposition and solution constructionProceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
O. Muller, Amir Rubinstein (2011)
Work in progress — Courses dedicated to the development of logical and algorithmic thinking2011 Frontiers in Education Conference (FIE)
Andreas Stylianides, Thabit Al-Murani (2010)
Can a proof and a counterexample coexist? Students' conceptions about the relationship between proof and refutationResearch in Mathematics Education, 12
Andrea Lobo, Ganesh Baliga (2006)
NP-completeness for all computer science undergraduates: a novel project-based curriculumJournal of Computing Sciences in Colleges, 21
David Ginat, Eyal Shifroni (1999)
Teaching recursion in a procedural environment—how much should we emphasize the computing model?, 31
G. Ford (1982)
A framework for teaching recursionACM SIGCSE Bull., 14
Cynthia Bailey Lee, Saturnino Garcia, Leo Porter (2013)
Can peer instruction be effective in upper-division computer science courses? ACM Transactions on Computing Education 13, 3, Article No
E. Gurari (1989)
Introduction to the theory of computation
C. Lee, Saturnino Garcia, Leo Porter (2013)
Can peer instruction be effective in upper-division computer science courses?ACM Trans. Comput. Educ., 13
C. Papadimitriou (1997)
NP-Completeness: A Retrospective
O. Muller, B. Haberman (2008)
Supporting abstraction processes in problem solving through pattern-oriented instructionComputer Science Education, 18
Emma Enström, V. Kann (2010)
Computer lab work on theory
Orna Muller, David Ginat, Bruria Haberman (2007)
Pattern-oriented instruction and its influence on problem decomposition and solution constructionACM SIGCSE Bulletin, 39
Keith Jones (2000)
The student experience of mathematical proof at university levelInternational Journal of Mathematical Education in Science and Technology, 31
(2014)
Received October ACM Transactions on Computing Education
P. Crescenzi (2010)
Using AVs to explain NP-completeness
P. Aşkar, D. Davenport (2009)
AN INVESTIGATION OF FACTORS RELATED TO SELF-EFFICACY FOR JAVA PROGRAMMING AMONG ENGINEERING STUDENTS, 8
A. Bandura (1985)
Social Foundations of Thought and Action: A Social Cognitive Theory
H. Kahney (1983)
What do novice programmers know about recursion
Christian Pape (1997)
Using Interactive Visualization for Teaching the Theory of NP-completeness
M. Armoni (2008)
Reductive thinking in a quantitative perspective: the case of the algorithm course
Frank Pajares, M. Miller (1994)
Role of self-efficacy and self-concept beliefs in mathematical problem solving: A path analysis.Journal of Educational Psychology, 86
D. Mandrioli (1982)
On teaching theoretical foundations of Computer ScienceSIGACT News, 14
Dino Mandrioli (1982)
On teaching theoretical foundations of computer scienceACM SIGACT News, 14
Jon Kleinberg, É. Tardos (2005)
Algorithm design
F. Marton, S. Booth (1997)
Learning and Awareness
A. Sultan, Alice Artzt (2017)
Intuition and Proof
Jessica Zerr, R. Zerr (2011)
Learning from Their Mistakes: Using Students' Incorrect Proofs as a Pedagogical ToolPRIMUS, 21
Gregory Light, R. Cox (2009)
Learning and Teaching in Higher Education: The Reflective Professional
P. Crescenzi, Emma Enström, V. Kann (2013)
From theory to practice: NP-completeness for every CS student
D. Chazan (1993)
High school geometry students' justification for their views of empirical evidence and mathematical proofEducational Studies in Mathematics, 24
P. Iannone, M. Inglis (2010)
Self efficacy and mathematical proof: are undergraduate students good at assessing their own proof production ability?
B. Bloom, D. Krathwohl (1966)
Taxonomy of Educational Objectives. Handbook I: Cognitive Domain
B. Bloom (1957)
Taxonomy of Educational Objectives: The Classification of Educational Goals.
Emma Enström (2013)
Dynamic programming - Structure, difficulties and teaching2013 IEEE Frontiers in Education Conference (FIE)
Markus Brändle (2006)
GraphBench: Exploring the Limits of Complexity with Educational Software: Exploring the limits of complexity with educational software
F. Turbak, Constance Royden, J. Stephan, Jean Herbst (1999)
TEACHING RECURSION BEFORE LOOPS IN CS1
Oded Goldreich (2006)
On Teaching the Basics of Complexity Theory
N. Balacheff (2003)
Aspects of proof in pupils ' practice of school mathematics
(1982)
Programmers' mental models of their programming tasks: The interaction of real-world knowledge and programming knowledge
T. Varghese (2011)
Possible Student Justification of ProofsSchool Science and Mathematics, 111
A. Bandura, A. Bandura (2006)
GUIDE FOR CONSTRUCTING SELF-EFFICACY SCALES
M. Armoni, J. Gal-Ezer, O. Hazzan (2006)
Reductive thinking in undergraduate CS courses
P. Kirschner, J. Merriënboer (2013)
Do Learners Really Know Best? Urban Legends in EducationEducational Psychologist, 48
Emma Enström, Gunnar Kreitz, Fredrik Niemelä, Pehr Söderman, V. Kann (2011)
Five years with kattis — Using an automated assessment system in teaching2011 Frontiers in Education Conference (FIE)
Paola Iannone, Matthew Inglis (2010)
Self efficacy and mathematical proof: Are undergraduate students good at assessing their own proof production ability? In Proceedings of the 13th Conference on Research in Undergraduate Mathematics Educationhttps://ueaeprints.uea.ac.uk/16104/.
D. Duncan (2006)
Clickers: A New Teaching Aid with Exceptional PromiseAstronomy Education Review, 5
B. Haberman, Haim Averbuch (2002)
The case of base cases: why are they so difficult to recognize? student difficulties with recursion
M. Sahami, S. Roach, E. Cuadros-Vargas, A. Danyluk, Ronald Dodge, K. Fisher, S. Fincher, D. Grossman, Beth Hawthorne, R. Katz, Amruth Kumar, R. LeBlanc, David Reed, B. Robinson, R. Seker, Alfred Thompson (2013)
Computer Science Curricula 2013
Y. Ko, E. Knuth (2009)
Undergraduate mathematics majors’ writing performance producing proofs and counterexamples about continuous functionsThe Journal of Mathematical Behavior, 28
Janet Caldwell (2007)
Clickers in the large classroom: current research and best-practice tips.CBE life sciences education, 6 1
Markus Andreas Brändle (2006)
GraphBench: Exploring the Limits of Complexity with Educational SoftwarePh.D. Dissertation. Swiss Federal Institute of Technology
Tamarisk Scholtz, I. Sanders (2010)
Mental models of recursion: investigating students' understanding of recursion
Justus Randolph (2007)
Meta-Analysis of the Research on Response CardsJournal of Positive Behavior Interventions, 9
Vennila Ramalingam, S. Wiedenbeck (1998)
Development and Validation of Scores on a Computer Programming Self-Efficacy Scale and Group Analyses of Novice Programmer Self-EfficacyJournal of Educational Computing Research, 19
O. Muller (2005)
Pattern oriented instruction and the enhancement of analogical reasoning
B. Haberman, O. Muller (2008)
Teaching abstraction to novices: Pattern-based and ADT-based problem-solving processes2008 38th Annual Frontiers in Education Conference
When compared to earlier programming and data structure experiences that our students might have, the perspective changes on computers and programming when introducing theoretical computer science into the picture. Underlying computational models need to be addressed, and mathematical tools employed, to understand the quality criteria of theoretical computer science. Focus shifts from doing to proving. Over several years, we have tried to make this perspective transition smoother for the students of a third-year mandatory algorithms, data structures, and computational complexity course. The concepts receiving extra attention in this work are NP-completeness, one of the most central concepts in computer science, and dynamic programming, an algorithm construction method that is powerful but somewhat unintuitive for some students. The major difficulties that we attribute to NP-completeness are that the tasks look similar but have a different purpose than in algorithm construction exercises. Students do not immediately see the usefulness of the concept, and hence motivation could be one issue. One line of attacking NP-completeness has been to emphasize its algorithmic aspects using typical tools for teaching algorithms. Some potential difficulties associated with dynamic programming are that the method is based on a known difficult conceptrecursionand that there are many ingredients in a dynamic programming solution to a problem. For both dynamic programming and NP-completeness, we have invented several new activities and structured the teaching differently, forcing students to think and adopt a standpoint, and practice the concepts in programming assignments. Student surveys show that these activities are appreciated by the students, and our evaluations indicate that they have positive effects on learning. We believe that these activities could be useful in any similar course. The approach to improving the course is action research, and the evaluation has been done using course surveys, self-efficacy surveys, rubrics-like grading protocols, and grades. We have also interviewed teaching assistants about their experiences.
ACM Transactions on Computing Education (TOCE) – Association for Computing Machinery
Published: Jan 6, 2017
Keywords: Algorithm visualization
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.