Skip to main content

Owen L. Astrachan

Professor of the Practice of Computer Science
Computer Science
Box 90129, Durham 27708-0129
D 241 Lev Sci Res Ctr, Durham 27708

Selected Publications


Should the AP Computer Science A Exam Switch to Using Python?

Conference SIGCSE 2022 - Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V.2 · March 3, 2022 Changing the language used to teach the AP Computer Science A course is an expensive, time-consuming, and ultimately controversial endeavor. However, it is worth raising the question from time to time to determine if such a change may now be appropriate. T ... Full text Cite

CS principles higher education pathways

Conference SIGCSE 2019 - Proceedings of the 50th ACM Technical Symposium on Computer Science Education · February 22, 2019 With approximately 37,000 students entering college with an AP CSP credit, students, parents, and teachers are wondering how that AP credit "counts" in college. In this panel, we will share perspectives from the College Board and higher education instituti ... Full text Cite

Infusing cooperative learning into AP computer science principles courses to promote engagement and diversity

Conference SIGCSE 2019 - Proceedings of the 50th ACM Technical Symposium on Computer Science Education · February 22, 2019 The Advanced Placement Computer Science Principles (AP CSP) course was the culmination of an eight-year NSF/College Board pilot project that exceeded all expectations in terms of enrollment in its first two official years. Four NSF-sponsored projects and s ... Full text Cite

CSPdWeek: A scalable model for preparing teachers for CS for all

Conference Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE · March 8, 2017 Professional development (PD) has long been recognized as one of the key ingredients in CS Education, particularly when addressing the problem of underserved communities. Over the last decade, significant work has been done to create professional developme ... Full text Cite

Advanced placement computer science principles (APCSP): A report from teachers

Conference SIGCSE 2016 - Proceedings of the 47th ACM Technical Symposium on Computing Science Education · February 17, 2016 The AP CS Principles (APCSP) course begins as an AP course in 2016, fully realized after eight years with several presentations as part of SIGCSE conferences[1-3]. APCSP was designed to broaden participation in computer science in high school and beyond, a ... Full text Cite

Computer science principles curricula: On-the-ground, adoptable, adaptable, approaches to teaching

Journal Article SIGCSE 2015 - Proceedings of the 46th ACM Technical Symposium on Computer Science Education · February 24, 2015 Previous sessions and presentations at SIGCSE have explained to the community many details about the development, piloting, and exam format of the NSF/College Board Computer Science Principles (CSP) [1-3] project-a project that is intended and designed to ... Full text Cite

Scaling high school computer science: Exploring computer science and computer science principles

Journal Article SIGCSE 2015 - Proceedings of the 46th ACM Technical Symposium on Computer Science Education · February 24, 2015 Changing the landscape of computer science education at the high school level is a key component of several initiatives of (1) the National Science Foundation (NSF), e.g., as the cornerstone of the CE21 program partnered with academic institutions and (2) ... Full text Cite

Diverse learners, diverse courses, diverse projects: Learning from challenges in new directions

Journal Article SIGCSE 2014 - Proceedings of the 45th ACM Technical Symposium on Computer Science Education · January 1, 2014 Several changes and reforms in teaching computer science have been proposed and championed as part of the CS10K initiative [1-4]. The CS Principles (CSP) project and the overarching CS10K initiative include a public/private partnership offering curricula, ... Full text Cite

Computer science principles: Analysis of a proposed advanced placement course

Conference SIGCSE 2013 - Proceedings of the 44th ACM Technical Symposium on Computer Science Education · April 22, 2013 In this paper we analyze the CS Principles project, a proposed Advanced Placement course, by focusing on the second pilot that took place in 2011-2012. In a previous publication the first pilot of the course was explained, but not in a context related to r ... Cite

Update on the CS principles project

Journal Article SIGCSE'12 - Proceedings of the 43rd ACM Technical Symposium on Computer Science Education · March 30, 2012 The CS Principles Project is a collaborative effort to develop a new introductory course in computer science, accessible to all students. Computer Science educators at all levels have worked together on the development of the new curriculum under the direc ... Full text Cite

CS principles: Piloting a national course

Journal Article SIGCSE'12 - Proceedings of the 43rd ACM Technical Symposium on Computer Science Education · March 30, 2012 Reports on a new national course designed to be an Advanced Placement course in Computer Science have been reported in [1-3]. This course has been designed from first principles to be taught nationwide at both the secondary and post-secondary levels. As pa ... Full text Cite

Education: Teaching-oriented faculty at research universities

Journal Article Communications of the ACM · November 1, 2011 Full text Cite

The CS10K project: Mobilizing the community to transform high school computing

Journal Article SIGCSE'11 - Proceedings of the 42nd ACM Technical Symposium on Computer Science Education · April 19, 2011 The CS10K project is a large-scale, collaborative project bringing together stakeholders from wide-ranging constituencies with the goal of systematically changing the scale, curriculum, and pedagogy of teaching computer science at all levels, but focusing ... Full text Cite

CS principles: Piloting a new course at national scale

Journal Article SIGCSE'11 - Proceedings of the 42nd ACM Technical Symposium on Computer Science Education · April 19, 2011 Since 2008, the National Science Foundation, in collaboration with the College Board, has been developing a "Computer Science: Principles" curriculum to "introduce students to the central ideas of computing and computer science, to instill ideas and practi ... Full text Cite

Re-imagining the first year of computing

Journal Article SIGCSE'10 - Proceedings of the 41st ACM Technical Symposium on Computer Science Education · May 18, 2010 The Advanced Placement (AP) Computer Science program is intended to reflect enough of a common core of a first semester or year of university-level computer science so that placement or credit can be awarded for work done before college. The SIGCSE symposi ... Full text Cite

Advanced placement computer science: The future of tracking the first year of instruction

Journal Article SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education · December 1, 2009 The Advanced Placement (AP) Computer Science program is intended to reflect enough of a common core of a first semester or year of university-level computer science so that placement or credit can be awarded for work done before college. The SIGCSE symposi ... Full text Cite

Nifty assignments

Journal Article SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education · December 1, 2009 Assignments determine much of what students actually take away from a course. Sadly, creating successful assignments is difficult and error prone. With that in mind, the Nifty Assignments session is about promoting and sharing successful assignment ideas, ... Full text Cite

Point/counterpoint - CS education in the U.S.: Heading in the wrong direction?

Journal Article Communications of the ACM · July 1, 2009 Considering the most effective methods for teaching students the fundamental principles of software engineering. ... Full text Cite

Out-of-the-box: Cogito ergo hack

Journal Article SIGCSE Bulletin Inroads · June 25, 2009 Full text Cite

Should the AP Computer Science A Exam Switch to Using Python?

Conference SIGCSE 2022 - Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V.2 · March 3, 2022 Changing the language used to teach the AP Computer Science A course is an expensive, time-consuming, and ultimately controversial endeavor. However, it is worth raising the question from time to time to determine if such a change may now be appropriate. T ... Full text Cite

CS principles higher education pathways

Conference SIGCSE 2019 - Proceedings of the 50th ACM Technical Symposium on Computer Science Education · February 22, 2019 With approximately 37,000 students entering college with an AP CSP credit, students, parents, and teachers are wondering how that AP credit "counts" in college. In this panel, we will share perspectives from the College Board and higher education instituti ... Full text Cite

Infusing cooperative learning into AP computer science principles courses to promote engagement and diversity

Conference SIGCSE 2019 - Proceedings of the 50th ACM Technical Symposium on Computer Science Education · February 22, 2019 The Advanced Placement Computer Science Principles (AP CSP) course was the culmination of an eight-year NSF/College Board pilot project that exceeded all expectations in terms of enrollment in its first two official years. Four NSF-sponsored projects and s ... Full text Cite

CSPdWeek: A scalable model for preparing teachers for CS for all

Conference Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE · March 8, 2017 Professional development (PD) has long been recognized as one of the key ingredients in CS Education, particularly when addressing the problem of underserved communities. Over the last decade, significant work has been done to create professional developme ... Full text Cite

Advanced placement computer science principles (APCSP): A report from teachers

Conference SIGCSE 2016 - Proceedings of the 47th ACM Technical Symposium on Computing Science Education · February 17, 2016 The AP CS Principles (APCSP) course begins as an AP course in 2016, fully realized after eight years with several presentations as part of SIGCSE conferences[1-3]. APCSP was designed to broaden participation in computer science in high school and beyond, a ... Full text Cite

Computer science principles curricula: On-the-ground, adoptable, adaptable, approaches to teaching

Journal Article SIGCSE 2015 - Proceedings of the 46th ACM Technical Symposium on Computer Science Education · February 24, 2015 Previous sessions and presentations at SIGCSE have explained to the community many details about the development, piloting, and exam format of the NSF/College Board Computer Science Principles (CSP) [1-3] project-a project that is intended and designed to ... Full text Cite

Scaling high school computer science: Exploring computer science and computer science principles

Journal Article SIGCSE 2015 - Proceedings of the 46th ACM Technical Symposium on Computer Science Education · February 24, 2015 Changing the landscape of computer science education at the high school level is a key component of several initiatives of (1) the National Science Foundation (NSF), e.g., as the cornerstone of the CE21 program partnered with academic institutions and (2) ... Full text Cite

Diverse learners, diverse courses, diverse projects: Learning from challenges in new directions

Journal Article SIGCSE 2014 - Proceedings of the 45th ACM Technical Symposium on Computer Science Education · January 1, 2014 Several changes and reforms in teaching computer science have been proposed and championed as part of the CS10K initiative [1-4]. The CS Principles (CSP) project and the overarching CS10K initiative include a public/private partnership offering curricula, ... Full text Cite

Computer science principles: Analysis of a proposed advanced placement course

Conference SIGCSE 2013 - Proceedings of the 44th ACM Technical Symposium on Computer Science Education · April 22, 2013 In this paper we analyze the CS Principles project, a proposed Advanced Placement course, by focusing on the second pilot that took place in 2011-2012. In a previous publication the first pilot of the course was explained, but not in a context related to r ... Cite

Update on the CS principles project

Journal Article SIGCSE'12 - Proceedings of the 43rd ACM Technical Symposium on Computer Science Education · March 30, 2012 The CS Principles Project is a collaborative effort to develop a new introductory course in computer science, accessible to all students. Computer Science educators at all levels have worked together on the development of the new curriculum under the direc ... Full text Cite

CS principles: Piloting a national course

Journal Article SIGCSE'12 - Proceedings of the 43rd ACM Technical Symposium on Computer Science Education · March 30, 2012 Reports on a new national course designed to be an Advanced Placement course in Computer Science have been reported in [1-3]. This course has been designed from first principles to be taught nationwide at both the secondary and post-secondary levels. As pa ... Full text Cite

Education: Teaching-oriented faculty at research universities

Journal Article Communications of the ACM · November 1, 2011 Full text Cite

The CS10K project: Mobilizing the community to transform high school computing

Journal Article SIGCSE'11 - Proceedings of the 42nd ACM Technical Symposium on Computer Science Education · April 19, 2011 The CS10K project is a large-scale, collaborative project bringing together stakeholders from wide-ranging constituencies with the goal of systematically changing the scale, curriculum, and pedagogy of teaching computer science at all levels, but focusing ... Full text Cite

CS principles: Piloting a new course at national scale

Journal Article SIGCSE'11 - Proceedings of the 42nd ACM Technical Symposium on Computer Science Education · April 19, 2011 Since 2008, the National Science Foundation, in collaboration with the College Board, has been developing a "Computer Science: Principles" curriculum to "introduce students to the central ideas of computing and computer science, to instill ideas and practi ... Full text Cite

Re-imagining the first year of computing

Journal Article SIGCSE'10 - Proceedings of the 41st ACM Technical Symposium on Computer Science Education · May 18, 2010 The Advanced Placement (AP) Computer Science program is intended to reflect enough of a common core of a first semester or year of university-level computer science so that placement or credit can be awarded for work done before college. The SIGCSE symposi ... Full text Cite

Advanced placement computer science: The future of tracking the first year of instruction

Journal Article SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education · December 1, 2009 The Advanced Placement (AP) Computer Science program is intended to reflect enough of a common core of a first semester or year of university-level computer science so that placement or credit can be awarded for work done before college. The SIGCSE symposi ... Full text Cite

Nifty assignments

Journal Article SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education · December 1, 2009 Assignments determine much of what students actually take away from a course. Sadly, creating successful assignments is difficult and error prone. With that in mind, the Nifty Assignments session is about promoting and sharing successful assignment ideas, ... Full text Cite

Point/counterpoint - CS education in the U.S.: Heading in the wrong direction?

Journal Article Communications of the ACM · July 1, 2009 Considering the most effective methods for teaching students the fundamental principles of software engineering. ... Full text Cite

Out-of-the-box: Cogito ergo hack

Journal Article SIGCSE Bulletin Inroads · June 25, 2009 Full text Cite

Advanced placement computer science: The future of tracking the first year of instruction

Journal Article SIGCSE Bulletin Inroads · April 2, 2009 The Advanced Placement (AP) Computer Science program is intended to reflect enough of a common core of a first semester or ear of university-level computer science so that placement or credit can be awarded for work done before college. The SIGCSE symposia ... Full text Cite

Nifty assignments

Journal Article SIGCSE Bulletin Inroads · April 2, 2009 Full text Cite

The present and future of computational thinking

Journal Article SIGCSE Bulletin Inroads · April 2, 2009 Intellectual constructs and tools that are widely used to solve the problems of society have been woven into educational programs. For example, the three R's (reading, 'riting & 'rithmetic) are core to a strong fundamental education, and practitioners and ... Full text Cite

Pander to ponder

Journal Article SIGCSE Bulletin Inroads · April 2, 2009 Ponder means to weigh in the mind with thoroughness and care [31]. Pander means to cater to the weaknesses and base desires of others [31]. We report on a course we have designed and delivered over a six year period. The course was originally designed as a ... Full text Cite

Pander to ponder

Journal Article SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education · January 1, 2009 Ponder means "to weigh in the mind with thoroughness and care" [31]. Pander means "to cater to the weaknesses and base desires of others" [31]. We report on a course we have designed and delivered over a six year period. The course was originally designed ... Full text Cite

The present and future of computational thinking

Journal Article SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education · January 1, 2009 Intellectual constructs and tools that are widely used to solve the problems of society have been woven into educational programs. For example, the three R's (reading, riting & rithmetic) are core to a strong fundamental education, and practitioners and re ... Full text Cite

Innovating our self image (special session)

Journal Article SIGCSE'08 - Proceedings of the 39th ACM Technical Symposium on Computer Science Education · December 16, 2008 The NSF CISE Directorate selected Owen Astrachan and Peter Denning as the first two Distinguished Education Fellows. Their job is to serve as ambassadors for curriculum change in a field whose basic curriculum structure is much the same as it was in the 19 ... Full text Cite

Social networks generate interest in computer science

Journal Article Proceedings of the Thirty-Seventh SIGCSE Technical Symposium on Computer Science Education · December 1, 2007 For forty years programming has been the foundation of introductory computer science. Despite exponential increases in computational power during this period, examples used in introductory courses have remained largely unchanged. The incredible growth in s ... Full text Cite

Teaching tips we wish they'd told us before we started

Journal Article SIGCSE 2007: 38th SIGCSE Technical Symposium on Computer Science Education · October 1, 2007 When we started teaching, our more seasoned colleagues were probably ready with pearls of wisdom to share with us. They no doubt pointed us to several of the excellent resources on teaching as a new faculty member [2,3,4,5,6,7]. As an instructor, there wer ... Full text Cite

Resolved: Objects early has failed

Journal Article Proceedings of the Thirty-Sixth SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2005 · June 27, 2005 The participants will use a debate format with a provocative thesis to explore the pedagogical approach known as "objects early" or "objects first." By arguing in the affirmative, Elliot Koffman and Stuart Reges will point out concerns that have been raise ... Cite

Non-competitive programming contest problems as the basis for just-in-time teaching

Journal Article Proceedings - Frontiers in Education Conference, FIE · December 1, 2004 We report on the successful use of small programming assignments that augment a just-in-time approach to teaching programming, and problem solving in the first year of computer science. The emphasis in these assignments is on algorithmic problem-solving ra ... Cite

"But it looks right!": The bugs students don't see

Journal Article Proceedings of the SIGCSE Technical Symposium on Computer Science Education · June 14, 2004 It is not rare that programming students are surprised when they encounter bugs in their program, which "looks completely right". Such a phenomenon expresses lack of awareness of analysis, design, and testing habits, which yield undesirable outcomes. The s ... Cite

Why I care about programming and how to teach it

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · March 1, 2004 This is the thirty-fifth SIGCSE conference. Off-by-one bugs notwithstanding, it seems safe to assume that the members of the SIGCSE community have been teaching programming for at least 35 years. Have we improved the teaching of programming in that time? W ... Full text Cite

"But it looks rightl": The bugs students don't see

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · March 1, 2004 It is not rare that programming students are surprised when they encounter bugs in their program, which "looks completely right". Such a phenomenon expresses lack of awareness of analysis, design, and testing habits, which yield undesirable outcomes. The s ... Full text Cite

Bubble sort: An archaeological algorithmic analysis

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · July 17, 2003 Text books, including books for general audiences, invariably mention bubble sort in discussions of elementary sorting algorithms. We trace the history of bubble sort, its popularity, and its endurance in the face of pedagogical assertions that code and al ... Cite

Active learning in small to large courses

Journal Article Proceedings - Frontiers in Education Conference · December 1, 2002 This paper presents our experiences promoting active learning in programming courses from introductory to advanced levels. We use a variety of techniques as our courses vary greatly in size and our facilities vary in layout and equipment. For large lecture ... Cite

Development issues for a networked, object oriented gaming architecture (NOOGA) teaching tool

Journal Article Proceedings-Frontiers in Education Conference · January 1, 2002 We describe the outcome and experience of trying to develop an architecture and framework for a Networked Object Oriented Gaming Architecture (NOOGA). The aim of this project was to create an easily extensible framework that facilitates teaching students a ... Full text Cite

OO overkill: When simple is better than not

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · January 1, 2001 Object oriented design patterns as popularized in [GHJV95] are intended to solve common programming problems and to assist the programmer in designing and developing robust systems. As first year courses increasingly emphasize object orientation, knowledge ... Full text Cite

Has our curriculum become math-phobic? (An American perspective)

Journal Article Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE · January 1, 2000 We are concerned about a view in undergraduate computer science education, especially in the early courses, that it's okay to be math-phobic and still prepare oneself to become a computer scientist. Our view is the contrary: that any serious study of compu ... Full text Cite

Nifty assignments panel

Conference SIGCSE 1999 - Proceedings of the 13th SIGCSE Technical Symposium on Computer Science Education · March 24, 1999 Full text Cite

Concrete teaching: Hooks and props as instructional technology

Journal Article Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE · August 1, 1998 Hooks and props; are mental or physical images used in thle classroom which help students as they learn new topics. Concrete and constructive teaching are essential in introductory programming courses. In this paper we discuss active teaching and some idea ... Full text Cite

Animation, visualization, and interaction in CS 1 assignments

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · January 1, 1998 Programs that use animations or visualizations attract student interest and offer feedback that can enhance different learning styles as students work to master programming and problem solving. In this paper we report on several CS 1 assignments we have us ... Full text Cite

Design patterns: An essential component of CS curricula

Journal Article Poceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE · January 1, 1998 The field of software patterns has seen an explosion in interest in the last three years. Work to date has been on the recognition, cataloging, and finding of patterns with little attention to the use of patterns, especially by students and practitioners n ... Cite

Animation, visualization, and interaction in CS 1 assignments

Journal Article Poceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE · January 1, 1998 Programs that use animations or visualizations attract student interest and offer feedback that can enhance different learning styles as students work to master programming and problem solving. In this paper we report on several CS 1 assignments we have us ... Full text Cite

Design patterns: An essential component of CS curricula

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · January 1, 1998 The field of software patterns has seen an explosion in interest in the last three years. Work to date has been on the recognition, cataloging, and finding of patterns with little attention to the use of patterns, especially by students and practitioners n ... Full text Cite

The reasoning for the advanced placement C++ subset

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · January 1, 1997 The programming language used for the Advanced Placement Computer Science (AP CS) courses and examinations will change from Pascal to C++ beginning with the 1998-1999 academic year. This decision, proposed by the AP Computer Science Development Committee a ... Full text Cite

Application-based modules using apprentice learning for CS 2

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · January 1, 1997 A typical Data Structures (CS 2) course covers a wide variety of topics: elementary algorithm analysis; data structures including dynamic structures, trees, tables, graphs, etc.; large programming projects; and more advanced object-oriented concepts. Integ ... Full text Cite

The use of lemmas in the Model Elimination procedure

Journal Article Journal of Automated Reasoning · January 1, 1997 When the model elimination (ME) procedure was first proposed, the notion of lemma was put forth as a promising augmentation to the basic complete proof procedure. Here the lemmas that are used are also discovered by the procedure in the same proof run. Sev ... Full text Cite

Object-oriented, apprenticeship approach to data structures using simulation

Journal Article Proceedings - Frontiers in Education Conference · December 1, 1996 Object-oriented methods and programming are increasingly being used in the second (CS 2) data structures course in Computer Science. As this course migrates to an object-oriented approach, students and instructors must be given materials to support a unifi ... Cite

Strategic directions in computer science education

Journal Article ACM Computing Surveys · January 1, 1996 Full text Cite

The First-Course Conundrum

Journal Article Communications of the ACM · June 1, 1995 Full text Cite

The First-Course Conundrum

Journal Article Communications of the ACM · June 1, 1995 Full text Cite

AAA and CS 1: The Applied Apprenticeship Approach to CS 1

Journal Article ACM SIGCSE Bulletin · March 15, 1995 We have developed an application-based approach to introductory courses in computer science. This approach follows an apprenticeship model of learning, where students begin by reading, studying, and extending programs written by experienced and expert prog ... Full text Cite

AAA and CS 1 the applied apprenticeship approach to CS 1

Conference Proceedings of the 26th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 1995 · March 15, 1995 We have developed an application-based approach to introductory courses in computer science. This approach follows an apprenticeship model of learning, where students begin by reading, studying, and extending programs written by experienced and expert prog ... Full text Cite

Object-Oriented Programming (Abstract): How to “Scale Up” CS 1

Journal Article ACM SIGCSE Bulletin · December 3, 1994 Full text Cite

Self-reference is an illustrative essential

Journal Article ACM SIGCSE Bulletin · December 3, 1994 This paper includes an abstract, a discussion of the usefulness of self-reference in early computer science courses, and some examples to illustrate this usefulness. Most readers will not be troubled by this example of self-referential writing. Why then is ... Full text Cite

METEOR: Exploring model elimination theorem proving

Journal Article Journal of Automated Reasoning · October 1, 1994 In this paper we describe the theorem prover METEOR which is a high-performance model elimination prover running in sequential, parallel, and distributed computing environments. METEOR has a very high inference rate. But, as is the case with better chess-p ... Full text Cite

Case studies in the advanced placement computer science curriculum

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · March 1, 1994 Beginning in spring 1995, the Advanced Placement Computer Science Examination will include questions based on 'Directory Manager', a case study describing the design and development of a program to manage file names in a simulated directory. The 'Directory ... Cite

Object-oriented programming: how to 'scale up' CS 1

Journal Article SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) · March 1, 1994 A workshop devoted to exploring the topic of how to integrate object-oriented programming (OOP) concepts into the undergraduate curriculum was sponsored by the National Science foundation. Participants who were chosen had the opportunity to present their a ... Cite

The Internet Programming Contest: A Report and Philosophy

Journal Article ACM SIGCSE Bulletin · January 3, 1993 Programming contests can provide a high-profile method for attracting interest in computer science. We describe our philosophy as it pertains to the purpose and merits of programming contests as well as their implementation. We believe that we have success ... Full text Cite

On Finding a Stable Roommate, Job, or Spouse: A Case Study Crossing the Boundaries of Computer Science Courses

Journal Article ACM SIGCSE Bulletin · January 3, 1992 The use of real world problems as the basis for assignments in Computer Science courses is attractive for many reasons. At the same time it is difficult to find such a problem that offers the same richness that is found, for example, in sorting or searchin ... Full text Cite

Caching and lemmaizing in model elimination theorem provers

Conference Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) · January 1, 1992 Theorem provers based on model elimination have exhibited extremely high inference rates but have lacked a redundancy control mechanism such as subsumption. In this paper we report on work done to modify a model elimination theorem prover using two techniq ... Full text Cite

Pictures as Invariants

Journal Article ACM SIGCSE Bulletin · January 3, 1991 Full text Cite

Faster, fairer, and more consistent grading, using techniques from the Advanced Placement reading

Journal Article ACM SIGCSE Bulletin · January 2, 1990 Every June, over fifty Computer Scientists meet to grade Advanced Placement Examinations in Computer Science. The techniques used to read over fifty thousand questions consistently and fairly by multiple readers have proven successful. Readers have informa ... Full text Cite