Learn More
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(More)
This paper studies the relationship between storage requirements and performance. Storage-related dependences inhibit optimizations for locality and parallelism. Techniques such as renaming and array expansion can eliminate all storage-related dependences, but do so at the expense of increased storage. This paper introduces the <i>universal occupancy(More)
Increases in instruction level parallelism are needed to exploit the potential parallelism available in future wide issue architectures. Predicated execution is an architectural mechanism that increases instruction level parallelism by removing branches and allowing simultaneous execution of multiple paths of control, only committing instructions from the(More)
Is there consensus on what students should learn in CS2? Should they learn to use data structures, understand their specific implementation details, or both? Finally, has the computing education community's answer to the second question changed over time? In this paper, we begin to explore these questions based on an analysis of a key artifact instructors(More)
This paper reports on the authors use of the SOLO taxonomy to describe differences in the way students and educators solve small code reading exercises. SOLO is a general educational taxonomy, and has not previously been applied to the study of how novice programmers manifest their understanding of code. Data was collected in the form of written and(More)
This paper explores the programming knowledge of novices using Biggs' SOLO taxonomy. It builds on previous work of Lister et al. (2006) and addresses some of the criticisms of that work. The research was conducted by studying the exam scripts for 120 introductory programming students, in which three specific questions were analyzed using the SOLO taxonomy.(More)
This paper reviews the literature related to the learning and teaching of debugging computer programs. Debugging is an important skill that continues to be both difficult for novice programmers to learn and challenging for computer science educators to teach. These challenges persist despite a wealth of important research on the subject dating back as far(More)
This paper discusses the results of a Grounded Theory study on students experience with introductory programming assignments in the light of social cognitive theory. In previous studies we have found CS majors experienced the process of doing CS1 programming assignments in different ways; but they universally made programming-related self-efficacy(More)
In this review, the reproductive impact of treatments for several common cancers and options to maintain fertility in women and men undergoing treatment for these cancers will be discussed. The options available to any particular cancer survivor will depend on her or his age at the time of diagnosis and treatment, cancer type and primary site, stage, and(More)
Peer Instruction (PI) is a pedagogical technique to increase engagement in lectures. Students answer a multiple choice question (MCQ) typically using <i>clickers</i> (hand-held remote devices with a minimum of 5 option buttons), discuss the question with their peers, and then answer the question again. In physics, PI has years of evidence of increased(More)