Owen L. Astrachan

Owen L. Astrachan
Duke University | DU

About

101
Publications
5,736
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,234
Citations
Citations since 2016
5 Research Items
359 Citations
20162017201820192020202120220204060
20162017201820192020202120220204060
20162017201820192020202120220204060
20162017201820192020202120220204060

Publications

Publications (101)
Conference Paper
With approximately 37,000 students entering college with an Advanced Placement CS Principles 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 institutions of various pathways from CS Principles to a major in CS. While o...
Conference Paper
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 six other projects have endorsed AP CSP curricula and professional development (PD), a first fo...
Conference Paper
Professional development (PD) has long been recognized as one of the key ingredients in K-12 CS Education, particularly when addressing the problem of underserved communities. Over the last decade, significant work has been done to create professional development and curricular offerings that are research based, with a proven track record. Bootstra...
Conference Paper
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, and to be accessible to teachers who might be new to computer science, in some cases with limit...
Conference Paper
Many new curricula and tools have been developed recently to promote the exciting opportunities available in computer science. However, curriculum and supporting tools alone do not drive engagement -- the most interesting and innovative curriculum can still be taught in a disengaged manner, leading to lost opportunities for broadening the appeal an...
Conference Paper
Computer Science Principles will become an Advanced Placement course in AY 2016-2017, with the launch of the first APCSP exam in May of 2017, with through-course assessments/performance tasks being completed by students starting at the beginning of that academic year. In this BOF we will hear from participants about their questions and concerns in...
Conference Paper
Full-text available
Students and faculty alike at all education levels are clearly spending much more of their time interacting with computing and communication tools than with each other. Is this good? Are all uses of computational technology in education helpful, and ...
Conference Paper
Changing the landscape of computer science education for both K-12 and higher education is now facilitated by collaboration between industrial and publicly funded initiatives; by curricula, professional development, and outreach designed to reach every student; and by a community working together to achieve this at scale. This special session bring...
Article
Changing the landscape of computer science education for both K-12 and higher education requires efforts by a large community working together to achieve education reform at scale. We are excited to announce that three groups---Code.org, Exploring Computer Science (ECS) and Computer Science Principles (CSP)---have formed a public/private partnershi...
Conference Paper
Full-text available
This session will present the research findings to date from an 18-month study commissioned by the ACM in partnership with the National Science Foundation, Google, Computer Science Teachers Association, Microsoft, and the National Center for Woman and Information Technology that started in July, 2012, and invite an open discussion about them. The s...
Conference Paper
Full-text available
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 relevant educational research and philosophy. In this paper we analyze the content and the peda...
Article
In this new feature of the Bulletin, we highlight recent accomplishments of our members. For this issue, Bulletin co-editor Z Sweedyk interviewed Colleen Lewis, Harvey Mudd College, who won the Chair's Award for best paper at ICER 2012 for her work "Tracking ...
Article
Welcome to the third installment of EduBits, your quarterly pipeline to new and exciting happenings in the world of ACM education. Starting with this March issue of ACM Inroads, we are introducing a new thread that will highlight principal educational ...
Article
Social Networking continues to be a popular past-time among high school and college students. In this birds of a feather session, we will share ideas on integrating social networking topics into computer science courses at the introductory and non-major levels. Additionally we will discuss approaches to integrating social network programming into u...
Article
The primary job of the teacher is to make learning happen; that is a design task. Most of us learned most of what we know by what we did, not by what we heard or read. A corollary is that the careful designing of exercises, assignments, projects, even ...
Conference Paper
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 direction of the College Board with support from the National Science Foundation. This special sess...
Article
The Computer Science Principles project is a collaborative effort sponsored by the NSF and led by a group of Computer Science faculty working together with the College Board. Our goal is to design and teach a new introductory course in computer science that will attract a broader range of students to computer science. This course would serve as a n...
Chapter
It has been thought for some time that linear resolution procedures are not the best resolution formats for doing very large unguided searches such as are required for proving significant mathematical theorems. Although very efficient with storage space, the depth-first implementations that take advantage of the linearity seem to preclude use of su...
Article
Full-text available
ideas of computing and computer science, to instill ideas and practices of computational thinking, and to have students engage in activities that show how computing and computer science change the world" [1]. We report on the initial pilot of the CS Principles curriculum at five universities in 2010-2011. Beginning in fall 2011, additional colleges...
Article
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 in particular on computer science in U.S. high schools as well as introductory computing at th...
Conference Paper
Full-text available
1. Summary 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 symposia have a long history of providing forums for discussing the evolution of the AP pr...
Article
Computational Thinking has emerged as an enduring metaphor in teaching and thinking about Computer Science since Jeanette Wing brought the term to our attention in a 2006 CACM article. Computational thinking involves abstraction, but a definition that is too abstract does not help in explaining computational thinking to someone who doesn't already...
Article
Considering the most effective methods for teaching students the fundamental principles of software engineering.
Article
Considering the most effective methods for teaching students the fundamental principles of software engineering.
Article
Classical engineering is based on solid scientific and mathematical foundations, but neither the science, nor the mathematics, is simply borrowed from the scientists or the mathematicians. Engineers develop their own formulations of the relevant science ...
Conference Paper
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 symposia have a long history of providing forums for discussing the evolution of the AP program from...
Conference Paper
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 technical writing course for majors, but has evolved into a non-major's version whose enr...
Conference Paper
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, and more importantly, making the assignment materials available for others to adopt.
Article
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 symposia have a long history of providing forums for discussing the evolution of the AP program from...
Conference Paper
I have spent the last fifteen years of my life leading an incredible team. Our quest (which we did not even realize in the beginning) was to revolutionize the way computer programming is taught. Current versions of the Alice system (Alice v2.0, and Caitlin ...
Article
Once upon a time I was a boy in high school who listened to the Firesign Theatre Group and wondered what one of their phrases meant: "How can you be in two places at once when you're not anywhere at all." Today I am thinking of a similar phrase, one I think may apply to many of our introductory courses: "How can we teach problem-solving when we're...
Article
Moore's law tells us there has been more than a thousand-fold increase in computing power in the last twenty years. Most of us likely search our library and (without too much exaggeration) the world while we sit in a chair and type. The Human Genome Project and the Sloan Digital Sky Survey are using the fruits of computer science to map the genome...
Conference Paper
The title of this talk comes from a little book that I bought years ago, compiled by S.M. Scott. It includes fictional stories and quotations about teaching, reminiscences by former pupils about their teachers, etc. The title of the book is what caught ...
Conference Paper
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 statistics courses at all levels, in contrast with the decline of students taking computer scie...
Article
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 raised about the approach. By arguing in the negative, Kim Bruce and Michael Kölling will describe...
Conference Paper
Full-text available
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 raised about the approach. By arguing in the negative, Kim Bruce and Michael Kölling will describe...
Article
Is our discipline of computer science in a time of crisis? Our field has helped unlock the human genome, has allowed a hand-held device to be a gateway to the world's information, and has transformed communication and society. Yet students do not want to study computer science. Do enrollment trends portend serious problems requiring immediate solut...
Conference Paper
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 rather than on object-oriented design and programming. Students are given a terse explanation of...
Conference Paper
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? We have changed languages, we have occasionally changed paradigms, and the platform we use to t...
Conference Paper
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 special session will focus on various programming aspects that may look seemingly right to stud...
Article
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 algorithmic examples used in early courses should be of high quality and adhere to established b...
Article
Full-text available
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 lectures, we present active interludes that require students to work in small groups, respond to peri...
Article
Programs that use animations or visualizations attract stu- dent 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 used successfully at Duke University to introduce or reinforce control constructs, elementary...
Article
Full-text available
In this paper we discuss several features of XP we have used in developing curricula and courses at Duke University and the University of Northern Iowa. We also discuss those practices of XP that we teach as part of the design and implementation process we want students to practice as they develop programming expertise and experience. In theory the...
Conference Paper
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 about object oriented design, design patterns, and software engineering in an interesting conte...
Conference Paper
Full-text available
This paper presents the authors' experiences promoting active learning in programming courses from introductory to advanced levels. They use a variety of techniques as their courses vary greatly in size and their facilities vary in layout and equipment. For large lectures, they present active interludes that require students to work in small groups...
Article
Theorem provers based on model elimination have exhibited extremely high inference rates but have lacked a redundancy control mechanism such as subsumption.
Conference Paper
This paper describes the implementation of MiniJava, a teaching-oriented programming language closely based on the Java language developed by Sun Microsystems [6]. The core of the MiniJava environment is a restricted subset of the standard Java release ...
Article
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 of design patterns and when to use them becomes an important component of the first year curr...
Conference Paper
In 1981 the APCS Development Committee recommended the use of Pascal in an AP course whose first exam was given in 1984. This decision was controversial; BASIC was in widespread use and serious consideration was given to a language-neutral exam and course. In 1985 an ad-hoc committee made recommendations on changing the exam format, essentially cre...
Article
This report focuses on the needs of computer science from the first two years of college mathematics instruction. While the authors have all been involved in computer science curriculum design in the past, this report does not represent the position of any official ACM or IEEE sanctioned curriculum committee.
Article
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. Integrating these topics into assignments is a challenging task; educators often duplicate work done...
Article
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 programmers. Applications play a central role since programming constructs are motivated and intro...
Conference Paper
Full-text available
Online marking of assignments can lead to improved marking consistency and integrate well with on-line mark reporting. It can also be easier for the marker. Unfortunately, most such systems do not include good feedback mechanisms for the students. This ...
Article
Hooks and props are mental or physical images used in the 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 ideas using physical props and images that in our experience have enhanced the teaching and learning...
Article
The programming language used for the Advanced Placement Computer Science (AP CS) courses and examinations will change from Pascal to C++ beginning with the 19981999 academic year. This decision, proposed by the AP Computer Science Development Committee and approved by the College Board, was made in 1994. The 5-year transition period was crucial in...
Conference Paper
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 used successfully at Duke University to introduce or reinforce control constructs, elementary da...
Conference Paper
In the heyday of structured programming, many educators debated the sequencing of topics in introductory courses, particularly the introduction of functions and procedures. As object-oriented programming gains a foothold, particularly via the languages C++ and Java, the debate moves from the introduction of functions to the introduction of classes....
Conference Paper
Full-text available
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 of patterns, especially by students and practitioners not well-versed in object-oriented technologies. This project addresses pattern use through the dev...
Article
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. Several implementations of ME now exist, but only a 1970s implementation explicitly examined this...
Article
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 searching. In this paper a problem is presented that has many real-world instances and which is pedago...
Article
Automated reasoning systems, also called automatic theorem provers, have been a focus of study since computer science expanded to include the study of symbolic computation in the 1950's. More recently, the so-called "logic programming" language Prolog has been the focus of much study that has generated very efficient implementations of a language o...
Article
Introduction Our contest was inspired by and modeled after the ACM scholastic programming contest. Regional ACM competitions take place every fall in most of the ACM regions around the world with finals held in the spring at the ACM Computer Science Conference. We decided that it would be fun to have a contest that did not involve any travel for th...
Article
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-playing programs speed alone is not sufficient when exploring large search spaces; intelligent se...
Article
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. Integrating these topics into assignments is a challenging task; educators often duplicate work do...
Conference Paper
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 material to support a unified and application-oriented course. In this paper we report on modules developed for what we te...
Article
Full-text available
Public support for universities and thetraditional balance between researchand teaching have each come under in-creased scrutiny and criticism. At thesame time, modern society grows evermore dependent on computing technol-ogy and many sectors of science andindustry anticipate ongoing shortages ofwell trained computer scientists and en-gineers.The d...
Article
Our philosophy is that CS1/CS2 students learn best as apprentices, by studying the work of more experienced program designers and writers and by extending and modifying programs provided by these experienced programmers. Object-oriented programming supports this philosophy well and permits our students to explore a realm of programs not possible us...
Article
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 programmers. Applications play a central role since programming constructs are motivated and intro...
Article
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 programmers. Applications play a central role since programming constructs are motivated and intro...
Conference Paper
. 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 techniques, caching and lemmaizing, that have reduced by more than an order of magnitude the time r...
Conference Paper
Traditional undergraduate Computer Science curricula have been increasingly challenged on a host of grounds: undergraduate computing education is attracting fewer majors, is not producing graduates who satisfy the needs of either graduate programs or ...
Conference Paper
Traditional undergraduate Computer Science curricula have been increasingly challenged on a host of grounds: undergraduate computing education is attracting fewer majors, is not producing graduates who satisfy the needs of either graduate programs or ...
Article
this document. The book on OOP by Budd [1] includes code for implementing a game of solitaire. enum SuitType fspades,hearts,diamonds,clubsg;
Article
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 self-reference, usually in the form of recursive subprograms, thought to be so onerous as to...
Conference Paper
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 successfully combined the theoretical and practical aspectsof computer science in an enjoyable contes...
Conference Paper
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 searching. In this paper a problem is presented that has many real-world instances and which is pedago...
Conference Paper
The development, specification, and use of a loop invariant are useful and underutilized tools in writing code to solve a problem or implement an algorithm. Invariants are especially useful in introductory courses (CS 1 and CS2) but are usually avoided because of the mathematical notation associated with them and because most textbooks have brief,...
Article
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 informally discussed how the techniques at the examination reading can be used in the context of grad...
Article
Full-text available
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 computer science requires students to achieve mathematical maturity (especially in discrete mathema...

Network

Cited By

Projects

Project (1)