Results 1 -
7 of
7
A Multi-National Study of Reading and Tracing Skills in Novice Programmers
- ACM SIGCSE Bulletin
, 2004
"... A study by a ITiCSE 2001 working group ("the McCracken Group") established that many students do not know how to program at the conclusion of their introductory courses. A popular explanation for this incapacity is that the students lack the ability to problem-solve. That is, they lack the ..."
Abstract
-
Cited by 41 (8 self)
- Add to MetaCart
A study by a ITiCSE 2001 working group ("the McCracken Group") established that many students do not know how to program at the conclusion of their introductory courses. A popular explanation for this incapacity is that the students lack the ability to problem-solve. That is, they lack the ability to take a problem description, decompose it into sub-problems and implement them, then assemble the pieces into a complete solution. An alternative explanation is that many students have a fragile grasp of both basic programming principles and the ability to systematically carry out routine programming tasks, such as tracing (or “desk checking”) through code. This ITiCSE 2004 working group studied the alternative explanation, by testing
Strategies that students use to trace code: an analysis based in grounded theory
- In Proceedings of the 2005 International Workshop on Computing Education Research (ICER 2005
, 2005
"... How do beginning students approach problems which require them to read and understand code? We report on a Grounded Theory-based analysis of student transcripts from 12 institutions where students were asked to "think aloud " when solving such problems. We identify 19 strategies used by st ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
How do beginning students approach problems which require them to read and understand code? We report on a Grounded Theory-based analysis of student transcripts from 12 institutions where students were asked to "think aloud " when solving such problems. We identify 19 strategies used by students. Primary results are that all students employ a range of strategies, there were (in total) many different strategies that were applied, students use multiple strategies on each individual problem, students applied different strategies to different types of questions, and students often applied strategies poorly. We show that strategies conform with existing education theories including Bloom's Taxonomy and the Approaches to Study Inventory. Additionally, we discuss emergent theories developed through a card sort process.
Identifying Important and Difficult Concepts in Introductory Computing Courses using a Delphi Process
"... A Delphi process is a structured multi-step process that uses a group of experts to achieve a consensus opinion. We present the results of three Delphi processes to identify topics that are important and difficult in each of three introductory computing subjects: discrete math, programming fundament ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
A Delphi process is a structured multi-step process that uses a group of experts to achieve a consensus opinion. We present the results of three Delphi processes to identify topics that are important and difficult in each of three introductory computing subjects: discrete math, programming fundamentals, and logic design. The topic rankings can be used to guide both the coverage of student learning assessments (i.e., concept inventories) and can be used by instructors to identify what topics merit emphasis. I.
A Categorization of Novice Programmers: A Cluster Analysis Study
"... Abstract. Beginning software engineering students often lack skills necessary to perform efficient programming work, such as comprehending or debugging program code. To facilitate the needs of students having different skill levels, teachers should be able to recognize the specific student groups. B ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. Beginning software engineering students often lack skills necessary to perform efficient programming work, such as comprehending or debugging program code. To facilitate the needs of students having different skill levels, teachers should be able to recognize the specific student groups. Bloom’s Taxonomy defines educational objectives for the development of students ’ cognitive skills. This paper presents a study of 254 undergraduate students of a basic programming course whose performance were measured on different levels of Bloom’s Taxonomy. The results of statistical cluster analysis suggest that the obtained student groups did not align with the Bloom’s Taxonomy: students performing poorly on lower levels can still perform well on higher taxonomy levels. Based on the results, this paper suggests six student groups the teacher should recognize when organizing basic programming courses. 1
CS50 1997 Quantitative Study
, 1998
"... This paper documents the quantitative study of the work habits, grades, and class composition of CS50 during the Fall semester of 1997. This paper includes a much more detailed discussion of my research design and methodology than would ordinarily appear in a journal article. Most of this extra disc ..."
Abstract
- Add to MetaCart
This paper documents the quantitative study of the work habits, grades, and class composition of CS50 during the Fall semester of 1997. This paper includes a much more detailed discussion of my research design and methodology than would ordinarily appear in a journal article. Most of this extra discussion is confined to the appendices, but parts of it appear in the main discussion.
Creativity Support for Computational Literature By
, 2009
"... Dr. Ken Perlin, Advisor“If I have said anything to the contrary I was mistaken. If I say anything to the contrary again I shall be mistaken again. Unless I am mistaken now. Into the dossier with it in any case, in support of whatever thesis you fancy.”- Samuel BeckettACKNOWLEDGEMENTS I would like to ..."
Abstract
- Add to MetaCart
Dr. Ken Perlin, Advisor“If I have said anything to the contrary I was mistaken. If I say anything to the contrary again I shall be mistaken again. Unless I am mistaken now. Into the dossier with it in any case, in support of whatever thesis you fancy.”- Samuel BeckettACKNOWLEDGEMENTS I would like to thank my advisor, Ken Perlin, for his continual support and inspiration over the course of this research. I am also indebted to my committee members, Helen Nissenbaum, Katherine Isbister, Matthew Stone, and Alan Siegal for their ongoing support and generous contributions of time and input at every stage of the project. Additionally I wish to thank John Cayley, Bill Seaman, Braxton Soderman and Linnea Ogden, each of whom provided important contributions to the ideas presented here. While there are too many to mention individually here, I would like to thank my colleagues, collaborators, and friends who have been generous and tolerant enough to put up with me over the past five years. Finally, I would like to thank my parents and brother who have given me their unconditionally support, however misguided or unintelligible my direction, since the beginning.
PPIG'07 Work in Progress Report Problem solving in programming
"... Abstract. We think that the major cause of the students ’ failure in introductory programming course is the lack of a basic skill, the problem solving ability. Several authors frequently regarded this skill as the most important cognitive activity in everyday, professional and educational contexts. ..."
Abstract
- Add to MetaCart
Abstract. We think that the major cause of the students ’ failure in introductory programming course is the lack of a basic skill, the problem solving ability. Several authors frequently regarded this skill as the most important cognitive activity in everyday, professional and educational contexts. In traditional programming teaching, generic problem solving is not emphasized. In this paper we discuss the concepts and stages of problem solving, considering also how experts and novices solve problems. The idea is that this analysis leads to a number of important principles for teach and learn problem solving strategies. The main purpose of this paper is to present the features of a system currently under development to support programming learning, focusing in problem solving activities. 1

