Faculty Database Information Science + Studies Arts & Sciences Duke University |
||
HOME > Arts & Sciences > ISS > Faculty | Search Help Login |
| Publications of Owen L. Astrachan :chronological alphabetical combined listing:%% Journal articles or Book chapters PUBLISHED @article{fds235621, Author = {Astrachan, O and Morelli, R and Chapman, G and Gray, J}, Title = {Scaling high school computer science: Exploring computer science and computer science principles}, Journal = {SIGCSE 2015 - Proceedings of the 46th ACM Technical Symposium on Computer Science Education}, Pages = {593-594}, Publisher = {ACM Press}, Year = {2015}, Month = {February}, url = {http://dx.doi.org/10.1145/2676723.2677322}, Abstract = {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) the private sector with both non-profits such as Code.org, CodeVA, and MassCan; and for-profits such as Tynker, CodeHS, and Trinket. This collaboration between privately and publicly funded initiatives is designed to reach every student; and to achieve this at scale. This special session brings together leaders from four groups working specifically on reaching teachers at very-large-scale, a necessary first step in reaching every student. These groups have worked to scale both Exploring Computer Science [1-3](ECS) and Computer Science Principles [4, 5] (CSP) on a national scale - having already implemented very different approaches to reaching a large number of teachers. Two presenters talk about their initiatives to expand Computer Science Principles/NSF projects on a national scale using MOOCs funded under the new Google CS4HS program. One presenter, who oversees outreach efforts for Exploring Computer Science, discusses a different, more hands-on and personal approach, to expanding via partnerships that include NSF-sponsored projects at local and state levels and Code.org partnerships with large school districts. These leaders report on work completed and the lessons learned that will impact ongoing and future work to help the community broaden participation in computer science while scaling and facilitating communities teachers and students. In the past, several special sessions, panels, and papers have presented the work of ECS and CSP [6, 7]. This session highlights new approaches that have already been implemented, and that will continue in the next years to reach communities of teachers at scale. We will discuss the synergies and benefits enabled by these different approaches, the limits of each, and the lessons that can be used by others contemplating similar approaches. The sessions will provide an opportunity for input from the educational community, and how the community can actively contribute to these efforts.}, Doi = {10.1145/2676723.2677322}, Key = {fds235621} } @article{fds235622, Author = {Garcia, DD and Astrachan, O and Brown, B and Gray, J and Lin, C and Beth, B and Morelli, R and DesJardins, M and Sridhar, N}, Title = {Computer science principles curricula: On-the-ground, adoptable, adaptable, approaches to teaching}, Journal = {SIGCSE 2015 - Proceedings of the 46th ACM Technical Symposium on Computer Science Education}, Pages = {176-177}, Publisher = {ACM Press}, Year = {2015}, Month = {February}, url = {http://dx.doi.org/10.1145/2676723.2677323}, Abstract = {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 be a rigorous, engaging, and broadly appealing Advanced Placement (AP) course taught in high schools, for which students can earn placement and/or credit for a college course. We are now less than two years from the launch of the course as an official Advanced Placement course in 2016-2017. Hundreds of high schools have offered courses designed around the CSP Framework, but these courses differ in many respects-from choice of programming language, to the degree of emphasis on the Internet, to varying focuses on modeling/simulation, and more. As schools move to adopt the CSP framework, develop courses, and deliver them, teachers and administrators look to national models for curricula that can be adopted and adapted to suit local needs. In this session, we highlight both NSF-funded projects and private/non-profit-funded projects that have developed, piloted, and made available CSP curricula designed around the same framework [4]. These curricula share the same framework, but differ in important ways. We present a matrix, hosted on the CS10K Community of Practice, that highlights the similarities and differences between the approaches represented here. In the session, each curriculum project will be represented by a very short (five-minute) flash talk describing the curriculum. Brief synopses or elevator pitches of the curricula aimed separately at teachers and administrators will also be included in the session as written documents. The matrix and associated documents will be available online and as resources accessible during the session. There will be ample time to engage the audience in questions about the approaches.}, Doi = {10.1145/2676723.2677323}, Key = {fds235622} } @article{fds235624, Author = {Astrachan, O and Osborne, RB and Lee, I and Beth, B and Gray, J}, Title = {Diverse learners, diverse courses, diverse projects: Learning from challenges in new directions}, Journal = {SIGCSE 2014 - Proceedings of the 45th ACM Technical Symposium on Computer Science Education}, Pages = {177-178}, Publisher = {ACM Press}, Year = {2014}, Month = {January}, url = {http://dx.doi.org/10.1145/2538862.2538991}, Abstract = {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, curricular frameworks, professional development, online support, and a community of practice to support individual and systemic reforms at scale. In this special session, we hear from those leading large CSP projects and from the teachers participating in these large projects. The session is designed to inform the education community of these efforts and to situate them in the context of understanding how a diversity of approaches to implementing the CSP framework is necessary to succeed with different and diverse student populations, schools, districts, and teachers. Knowledge of these approaches will help those teaching these students as they move from high school to college, bringing related but diverse experiences because of how each student is learning the material that is based on the same curricular framework. This framework is part of the CS Principles project, but the efforts we report on in this session realize the framework at different scales, in different populations, and with different pedagogical approaches. In this session the PIs on several CS Principles/CS10K initiatives will talk briefly and at a high-level about the projects they are leading, the approaches they are taking to scale their projects, and the curricula, pedagogy, and professional development they are employing to expand and enable teachers and students. Pilot teachers who are part of each of the projects will offer a different, on-the-ground perspective of how each approach is succeeding and the challenges faced from a teacher perspective. Outlining issues related to equity in the classroom, broadening participation, pedagogical approaches, and supporting diverse learners will be the responsibility of the leadership group from the CS Principles project. They will facilitate the discussion related to these diverse initiatives and call-on or represent pilot teachers from these different projects.}, Doi = {10.1145/2538862.2538991}, Key = {fds235624} } @article{fds235671, Author = {Astrachan, O and Briggs, A}, Title = {The CS principles project: A new introductory computing course for everyone}, Journal = {ACM Inroads}, Volume = {3}, Number = {2}, Pages = {38-42}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2012}, Month = {June}, ISSN = {2153-2184}, url = {http://dx.doi.org/10.1145/2189835.2189849}, Doi = {10.1145/2189835.2189849}, Key = {fds235671} } @article{fds235669, Author = {Astrachan, O and Morelli, R and Barnette, D and Gray, J and Uche, C and Cowles, B and Dovi, R}, Title = {CS principles: Piloting a national course}, Journal = {SIGCSE'12 - Proceedings of the 43rd ACM Technical Symposium on Computer Science Education}, Pages = {319-320}, Publisher = {ACM Press}, Year = {2012}, Month = {March}, url = {http://dx.doi.org/10.1145/2157136.2157230}, Abstract = {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 part of this joint NSF/College Board project, 11 high schools are partnered with 10 colleges to teach the course, be part of a national initiative to test assessment items, and to help validate the curriculum framework that is the basis for the course and project. The traditional 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. This special session is a report of the second stage of pilot that is designed to lead to a national standard and a new, additional AP exam in the next five years. This course will not replace the traditional, CS1-oriented AP exam, but will be a new national introduction to Computer Science.}, Doi = {10.1145/2157136.2157230}, Key = {fds235669} } @article{fds235670, Author = {Astrachan, O and Briggs, A and Cuny, J and Diaz, L and Stephenson, C}, Title = {Update on the CS principles project}, Journal = {SIGCSE'12 - Proceedings of the 43rd ACM Technical Symposium on Computer Science Education}, Pages = {477-478}, Publisher = {ACM Press}, Year = {2012}, Month = {March}, url = {http://dx.doi.org/10.1145/2157136.2157276}, Abstract = {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 session provides an opportunity for the CS Principles project leaders to report on recent updates and new directions, and to engage in discussion on all aspects of the project with SIGCSE participants © 2012 Authors.}, Doi = {10.1145/2157136.2157276}, Key = {fds235670} } @article{fds235668, Author = {Wolfman, S and Astrachan, O and Clancy, M and Eiselt, K and Forbes, J and Franklin, D and Kay, D and Scott, M and Wayne, K}, Title = {Education: Teaching-oriented faculty at research universities}, Journal = {Communications of the ACM}, Volume = {54}, Number = {11}, Pages = {35-37}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2011}, Month = {November}, ISSN = {0001-0782}, url = {http://dx.doi.org/10.1145/2018396.2018409}, Doi = {10.1145/2018396.2018409}, Key = {fds235668} } @article{fds235666, Author = {Astrachan, O and Barnes, T and Garcia, DD and Paul, J and Simon, B and Snyder, L}, Title = {CS principles: Piloting a new course at national scale}, Journal = {SIGCSE'11 - Proceedings of the 42nd ACM Technical Symposium on Computer Science Education}, Pages = {397-398}, Publisher = {ACM Press}, Year = {2011}, Month = {April}, url = {http://dx.doi.org/10.1145/1953163.1953281}, Abstract = {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 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 will pilot the course while five high schools will teach CS Principles as a rigorous Advanced Placement (AP) high school course with an associated exam. It is important to note that this is in addition to, not as a replacement for, AP Computer Science A, a Java programming course. In this special session, suitable for both college and high school faculty, the five instructors from the 2010-2011 pilot institutions will describe their classes, the piloting experience (teaching under a microscope), and the successes and failures of their offerings. Emphasis will be placed on the following: mapping the CS Principles curriculum to the specific needs of a college or university, and how others can use or modify the existing materials for pilots at their schools.}, Doi = {10.1145/1953163.1953281}, Key = {fds235666} } @article{fds235667, Author = {Astrachan, O and Cuny, J and Stephenson, C and Wilson, C}, Title = {The CS10K project: Mobilizing the community to transform high school computing}, Journal = {SIGCSE'11 - Proceedings of the 42nd ACM Technical Symposium on Computer Science Education}, Pages = {85-86}, Publisher = {ACM Press}, Year = {2011}, Month = {April}, url = {http://dx.doi.org/10.1145/1953163.1953193}, Abstract = {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 the college level. As part of the systemic changes in teaching computer science the CS10K project aims to have 10,000 teachers in 10,000 high schools teaching a new curriculum by 2015. The CS10K project will require building substantial collaborations between a consortium of partners - including academia at all levels, government agencies, industry, and private foundations - to assist in all aspects of the effort. In this special session, suitable for teachers and educators from all levels, we will report on the goals of the CS10K project, the motivation for the project, its scope, and progress to date of the project. This builds on work reported on in [1][2] and provides an overarching view of the CS10K project with an appeal to the broad computing community to be involved with the project. Computer Science and computing education is our field of endeavor. We all work to ensure that our field is vibrant, growing, and successful. If computing is to be part of both the academic and future workforce leading to innovation, there is no stage in the academic pipeline more crucial than high school. Students do begin to lose interest in computing much earlier, but engagement programs for K-8 will not be effective if students who become engaged before high school lose that engagement and interest during their high school years. Likewise, revitalized computing programs cannot have a significant impact if too few students take our courses and use our methods.}, Doi = {10.1145/1953163.1953193}, Key = {fds235667} } @article{fds235665, Author = {Astrachan, O and Haynie, K and Stephenson, C and Diaz, L and Briggs, A}, Title = {Re-imagining the first year of computing}, Journal = {SIGCSE'10 - Proceedings of the 41st ACM Technical Symposium on Computer Science Education}, Pages = {329-330}, Publisher = {ACM Press}, Year = {2010}, Month = {May}, url = {http://dx.doi.org/10.1145/1734263.1734377}, Abstract = {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 its inception [1] to the transition in languages from Pascal to C++ to Java [2,3,5,7,8,9]. In [15] a report on the beginning of the project we report on here was presented. This proposed special session is a report on a new direction, with the potential for widespread adoption, for a new course in computer science for high schools and colleges; a course with the potential to be a new AP course attracting a larger and more diverse audience than typical introductory programming courses. In this session we will report on the process that has led to this new direction, the potential for piloting the new course, and the need for complete disclosure and dialog that will be part of this session.}, Doi = {10.1145/1734263.1734377}, Key = {fds235665} } @article{fds235657, Author = {Parlante, N and Murtagh, TP and Sahami, M and Astrachan, O and Reed, D and Stone, CA and Heeringa, B and Reid, K}, Title = {Nifty assignments}, Journal = {SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education}, Pages = {483-484}, Publisher = {ACM Press}, Year = {2009}, Month = {December}, url = {http://dx.doi.org/10.1145/1508865.1509031}, Abstract = {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. © 2009 ACM.}, Doi = {10.1145/1508865.1509031}, Key = {fds235657} } @article{fds235658, Author = {Astrachan, O and Walker, H and Stephenson, C and Diaz, L and Cuny, J}, Title = {Advanced placement computer science: The future of tracking the first year of instruction}, Journal = {SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education}, Pages = {397-398}, Publisher = {ACM Press}, Year = {2009}, Month = {December}, url = {http://dx.doi.org/10.1145/1508865.1509005}, Abstract = {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 its inception [1] to the transition from Pascal to C++ [3] to the transition from C++ to Java [2,5,7,8,9]. Panels related to how credit and placement are awarded have also been part of the SIGCSE conferences [4,6]. This special session is a report of the ongoing process of developing new and possible wide-ranging changes to the AP program. © 2009 ACM.}, Doi = {10.1145/1508865.1509005}, Key = {fds235658} } @article{fds235663, Author = {Dewar, R and Astrachan, O}, Title = {Point/counterpoint - CS education in the U.S.: Heading in the wrong direction?}, Journal = {Communications of the ACM}, Volume = {52}, Number = {7}, Pages = {41-45}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2009}, Month = {July}, ISSN = {0001-0782}, url = {http://dx.doi.org/10.1145/1538788.1538804}, Abstract = {Considering the most effective methods for teaching students the fundamental principles of software engineering.}, Doi = {10.1145/1538788.1538804}, Key = {fds235663} } @article{fds235664, Author = {Astrachan, O}, Title = {Out-of-the-box: Cogito ergo hack}, Journal = {SIGCSE Bulletin Inroads}, Volume = {41}, Number = {2}, Pages = {80-81}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2009}, Month = {June}, ISSN = {1096-3936}, url = {http://dx.doi.org/10.1145/1595453.1595476}, Doi = {10.1145/1595453.1595476}, Key = {fds235664} } @article{fds235659, Author = {Astrachan, O}, Title = {Pander to ponder}, Journal = {SIGCSE Bulletin Inroads}, Volume = {41}, Number = {1}, Pages = {192-196}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2009}, Month = {April}, ISSN = {1096-3936}, url = {http://dx.doi.org/10.1145/1539024.1508933}, Abstract = {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 enrollment ranks it as one of the three most highly-enrolled and thus arguably most popular courses for undergraduates at our university. We have worked diligently to ensure that students ponder the topics and problems that comprise the material for the course and the material is deeply technical at many levels. We have also pandered to student needs in meeting curriculum requirements, offering the course at a time convenient for athletes and others, and using popular media when possible. We started with the goal of engendering interest and passion for computer science and how it affects the world. We report on our efforts to attain this goal while keeping material appropriately technical. We claim our students are engaged in a different type of computational thinking than that espoused in [32, 5, 15]. For the purposes of this paper and discussion we call our approach pander-to-ponder. We provide examples and illustrations of the material we cover, relate it to similar courses at other institutions, and show how we use problems to motivate learning. In the work we report on here the learning is specific to understanding how contributions from computer science are changing the world.}, Doi = {10.1145/1539024.1508933}, Key = {fds235659} } @article{fds235660, Author = {Astrachan, O and Hambrusch, S and Peckham, J and Settle, A}, Title = {The present and future of computational thinking}, Journal = {SIGCSE Bulletin Inroads}, Volume = {41}, Number = {1}, Pages = {549-550}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2009}, Month = {April}, ISSN = {1096-3936}, url = {http://dx.doi.org/10.1145/1539024.1509053}, Abstract = {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 researchers routinely apply these tools to their daily work. Computing has become an essential and pervasive problemsolving toolset. This development has fostered much discussion about the role of computing in a modern education, the broadening nature of computing majors and concentrations and their place in post-secondary institutions, for example, [6,7]. Computer science educators recognize the importance of improving information technology (IT) skills and fluency, and a number of studies have developed guidelines on how to do this [3,4]. However, computer science has analytical concepts and tools that offer educational benefits beyond simple IT fluency. Computational thinking was introduced [9] as a continuation of earlier discussions on the nature of computing (e.g. [5]). Similar discussions and the same terminology were introduced independently in a series of workshops and reports [2]. This has helped the computing community to strengthen description and definition of the problem solving skills that computing brings to society, through education, outreach, and research.Over the past few years, computational thinking concepts have served as a basis for several projects, workshops and efforts aimed at more precise, and at the same time, deeper and wider interpretation of computing. This includes attention to K-12 curricula, general education at colleges and universities, as well as interdisciplinary research and technology transfer. This panel will outline a sampling of the activities and projects that have begun to define and address computational thinking. The moderator will start with an outline of national computational thinking activities and developments. The panelists will talk about their individual projects and activities, and outline their visions for future developments in the computing and broader educational communities around computational thinking. The session will then be opened for discussion; the audience will be encouraged to ask questions and contribute ideas for the development of computational thinking across its many dimensions.}, Doi = {10.1145/1539024.1509053}, Key = {fds235660} } @article{fds235661, Author = {Parlante, N and Murtagh, TP and Sahami, M and Astrachan, O and Reed, D and Stone, CA and Heeringa, B and Reid, K}, Title = {Nifty assignments}, Journal = {SIGCSE Bulletin Inroads}, Volume = {41}, Number = {1}, Pages = {483-484}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2009}, Month = {April}, ISSN = {1096-3936}, url = {http://dx.doi.org/10.1145/1539024.1509031}, Doi = {10.1145/1539024.1509031}, Key = {fds235661} } @article{fds235662, Author = {Astrachan, O and Walker, H and Stephenson, C and Diaz, L and Cuny, J}, Title = {Advanced placement computer science: The future of tracking the first year of instruction}, Journal = {SIGCSE Bulletin Inroads}, Volume = {41}, Number = {1}, Pages = {397-398}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2009}, Month = {April}, ISSN = {1096-3936}, url = {http://dx.doi.org/10.1145/1539024.1509005}, Abstract = {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 have a long history of providing forums for discussing the evolution of the AP program from its inception [1] to the transition from Pascal to C++ [3] to the transition from C++ to Java [2,5,7,8,9]. Panels related to how credit and placement are awarded have also been part of the SIGCSE conferences [4,6]. This special session is a report of the ongoing process of developing new and possible wide-ranging changes to the AP program.}, Doi = {10.1145/1539024.1509005}, Key = {fds235662} } @article{fds235655, Author = {Astrachan, O and Hambrusch, S and Peckham, J and Settle, A}, Title = {The present and future of computational thinking}, Journal = {SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education}, Pages = {549-550}, Publisher = {ACM Press}, Year = {2009}, Month = {January}, url = {http://dx.doi.org/10.1145/1508865.1509053}, Abstract = {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 researchers routinely apply these tools to their daily work. Computing has become an essential and pervasive problemsolving toolset. This development has fostered much discussion about the role of computing in a modern education, the broadening nature of computing majors and concentrations and their place in post-secondary institutions, for example, [6,7]. Computer science educators recognize the importance of improving information technology (IT) skills and fluency, and a number of studies have developed guidelines on how to do this [3,4]. However, computer science has analytical concepts and tools that offer educational benefits beyond simple IT fluency. Computational thinking was introduced [9] as a continuation of earlier discussions on the nature of computing (e.g. [5]). Similar discussions and the same terminology were introduced independently in a series of workshops and reports [2]. This has helped the computing community to strengthen description and definition of the problem solving skills that computing brings to society, through education, outreach, and research. Over the past few years, computational thinking concepts have served as a basis for several projects, workshops and efforts aimed at more precise, and at the same time, deeper and wider interpretation of computing. This includes attention to K-12 curricula, general education at colleges and universities, as well as interdisciplinary research and technology transfer. This panel will outline a sampling of the activities and projects that have begun to define and address computational thinking. The moderator will start with an outline of national computational thinking activities and developments. The panelists will talk about their individual projects and activities, and outline their visions for future developments in the computing and broader educational communities around computational thinking. The session will then be opened for discussion: The audience will be encouraged to ask questions and contribute ideas for the development of computational thinking across its many dimensions.}, Doi = {10.1145/1508865.1509053}, Key = {fds235655} } @article{fds235656, Author = {Astrachan, O}, Title = {Pander to ponder}, Journal = {SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education}, Pages = {192-196}, Publisher = {ACM Press}, Year = {2009}, Month = {January}, url = {http://dx.doi.org/10.1145/1508865.1508933}, Abstract = {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 enrollment ranks it as one of the three most highly-enrolled and thus arguably most popular courses for undergraduates at our university. We have worked diligently to ensure that students ponder the topics and problems that comprise the material for the course - and the material is deeply technical at many levels. We have also pandered to student needs in meeting curriculum requirements, offering the course at a time convenient for athletes and others, and using popular media when possible. We started with the goal of engendering interest and passion for computer science and how it affects the world. We report on our efforts to attain this goal while keeping material appropriately technical. We claim our students are engaged in a different type of computational thinking than that espoused in [32, 5, 15]. For the purposes of this paper and discussion we call our approach pander-to-ponder. We provide examples and illustrations of the material we cover, relate it to similar courses at other institutions, and show how we use problems to motivate learning. In the work we report on here the learning is specific to understanding how contributions from computer science are changing the world. © 2009 ACM.}, Doi = {10.1145/1508865.1508933}, Key = {fds235656} } @article{fds235654, Author = {Astrachan, O and Denning, P}, Title = {Innovating our self image (special session)}, Journal = {SIGCSE'08 - Proceedings of the 39th ACM Technical Symposium on Computer Science Education}, Pages = {178-179}, Publisher = {ACM Press}, Year = {2008}, Month = {December}, url = {http://dx.doi.org/10.1145/1352135.1352195}, Abstract = {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 1970s. They believe that • The outdated 1970-era curriculum structure is largely responsible for the harmful and misleading external image that CS=programming. • The external image reflects an internal self-image that started in the 1970s as "we are programmers" and matured in the 1990s to "we are masters of abstraction." These images do not foster collaboration with other fields and do not excite the curiosity of young people. In this session, Astrachan and Denning will discuss what they see as high leverage points for curriculum innovation. Astrachan will focus on problem-based learning, a way of bringing students directly into contact with real issues in the world where computation can help. Denning will focus on the Great Principles of Computing and on the development of foundational skills of innovation among curriculum innovators. They will answer questions from the audience and provide feedback to the ACM Education Board and ACM Education Council.}, Doi = {10.1145/1352135.1352195}, Key = {fds235654} } @article{fds235652, Author = {Alt, C and Astrachan, O and Forbes, J and Lucic, R and Rodger, S}, Title = {Social networks generate interest in computer science}, Journal = {Proceedings of the Thirty-Seventh SIGCSE Technical Symposium on Computer Science Education}, Pages = {438-442}, Publisher = {ACM Press}, Year = {2007}, Month = {December}, url = {http://dx.doi.org/10.1145/1121341.1121477}, Abstract = {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 science courses, points to the potential for introducing computer science at many levels without emphasizing the process of programming: leverage the expertise and role-models provided by high school mathematics teachers by studying topics that arise from social networks and modeling to introduce computer science as an alternative to the traditional programming approach. This new approach may capture the interest of a broad population of students, crossing gender boundaries. We are developing modules that we hope will capture student interest and provide a compelling yet intellectually rich area of study. We plan to incorporate these modules into existing courses in math, statistics, and computer science at a wide variety of schools at all levels. Copyright 2006 ACM.}, Doi = {10.1145/1121341.1121477}, Key = {fds235652} } @article{fds235653, Author = {Astrachan, O and Parlante, N and Garcia, DD and Reges, S}, Title = {Teaching tips we wish they'd told us before we started}, Journal = {SIGCSE 2007: 38th SIGCSE Technical Symposium on Computer Science Education}, Pages = {2-3}, Publisher = {ACM Press}, Year = {2007}, Month = {October}, url = {http://dx.doi.org/10.1145/1227310.1227314}, Abstract = {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 were so many hats to wear: lecturer, teaching staff mentor, exam / project / lab author, grader and leader of office hours. It was a lot to take in, and even with all that counsel, it was probably still quite daunting! Years later, what have we had to learn on our own? What egregious mistakes could have been avoided had we just known a single fact? What advice has stood the test of time? How can we share these with each other? The purpose of this panel is to gather seasoned educators together (with over 80 years of combined teaching experience) and allow each to share their favorite teaching tips. We will have ample opportunity for audience members to share their own tips and to comment on ours. The position statements that follow offer a random sampling of two of these 'hidden' pearls. When possible, we've tried to tag them with relevant categories: Lecturing, Office (hours), Staff (mentoring), Exams (authoring & administering), Labs (authoring & running), Section (TA-led discussion), Projects (and homework; authoring & supporting), and Meta (advice spanning categories).}, Doi = {10.1145/1227310.1227314}, Key = {fds235653} } @article{fds235650, Author = {Astrachan, O and Bruce, K and Koffman, E and Kölling, M and Reges, S}, Title = {Resolved: Objects early has failed}, Journal = {Proceedings of the Thirty-Sixth SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2005}, Pages = {451-452}, Year = {2005}, Month = {June}, Abstract = {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 schools that are succeeding with the approach and ways to address significant concerns. Owen Astrachan as moderator will ensure that the debate remains civil and will provide some humorous and possibly even insightful commentary on the evidence presented by both sides.}, Key = {fds235650} } @article{fds235648, Author = {Astrachan, OL}, Title = {Non-competitive programming contest problems as the basis for just-in-time teaching}, Journal = {Proceedings - Frontiers in Education Conference, FIE}, Volume = {1}, Pages = {T3H-20-T3H-24}, Year = {2004}, Month = {December}, ISSN = {1539-4565}, Abstract = {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 a problem and several non-exhaustive test cases. A programmed solution uses no I/O, but is tested via a web-based submission system that reports success or failure for between 10 and 40 test cases. Students compile, test, and debug via the online web-based system. There is no limit on the number of times students can test their solutions. After submission for grading, solutions are judged solely on whether they pass tests, all of which can be seen via the online testing mechanism, and not on the so-called quality of the code submitted. ©2004 IEEE.}, Key = {fds235648} } @article{fds235647, Author = {Ginat, D and Astrachan, O and Garcia, DD and Guzdial, M}, Title = {"But it looks right!": The bugs students don't see}, Journal = {Proceedings of the SIGCSE Technical Symposium on Computer Science Education}, Pages = {284-285}, Year = {2004}, Month = {June}, Abstract = {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 students, but yield a buggy, wrong result. Various aspects will be displayed, illustrated, and discussed with the audience, in order to better understand the characteristics of bugs and ways of coping with them in our teaching.}, Key = {fds235647} } @article{fds235649, Author = {Ginat, D and Astrachan, O and Garcia, DD and Guzdial, M}, Title = {"But it looks rightl": The bugs students don't see}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Volume = {36}, Number = {1}, Pages = {284-285}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2004}, Month = {March}, ISSN = {0097-8418}, url = {http://dx.doi.org/10.1145/1028174.971401}, Abstract = {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 students, but yield a buggy, wrong result. Various aspects will be displayed, illustrated, and discussed with the audience, in order to better understand the characteristics of bugs and ways of coping with them in our teaching.}, Doi = {10.1145/1028174.971401}, Key = {fds235649} } @article{fds235651, Author = {Astrachan, O}, Title = {Why I care about programming and how to teach it}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Volume = {36}, Number = {1}, Pages = {235}, Publisher = {Association for Computing Machinery (ACM)}, Year = {2004}, Month = {March}, ISSN = {0097-8418}, url = {http://dx.doi.org/10.1145/1028174.971302}, Abstract = {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 teach programming is effectively infinitely more powerful than it was 35 years ago. However, if we use the SIGCSE proceedings as a snapshot of the state-of-the-art in teaching programming, it's possible to take a view that "the more things change the more they remain the same." In this talk I'll review what the community has had to say about teaching programming and what it is saying today. The community does not always speak in one voice, but there are established trends that illuminate what we as a community view as important. In 1974 David Gries discussed how we should teach programming and used this analogy: "Suppose you attend a course in cabinet making. The instructor briefly shows you a saw, a plane, a hammer, and a few other tools, letting you use each one for a few minutes. He next shows you a beautifully-finished cabinet. Finally, he tells you to design and build your own cabinet and bring him the finished product in a few weeks. You would think he was crazy!" As part of this talk I will demonstrate how I teach program-building and why I think that if we do not program in front of our students we cannot effectively teach programming. I hope to convince you that programming should be taught by demonstration and that I am not crazy.}, Doi = {10.1145/1028174.971302}, Key = {fds235651} } @article{fds235645, Author = {Astrachan, O}, Title = {Bubble sort: An archaeological algorithmic analysis}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Pages = {1-5}, Year = {2003}, Month = {July}, Abstract = {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 best practices. This paper is more an historical analysis than a philosophical treatise for the exclusion of bubble sort from books and courses. However, sentiments for exclusion are supported by Knuth [17], "In short, the bubble sort seems to have nothing to recommend it, except a catchy name and the fact that it leads to some interesting theoretical problems." Although bubble sort may not be a best practice sort, perhaps the weight of history is more than enough to compensate and provide for its longevity.}, Key = {fds235645} } @article{fds235646, Author = {Astrachan, OL and Duvall, RC and Forbes, J and Rodger, SH}, Title = {Active learning in small to large courses}, Journal = {Proceedings - Frontiers in Education Conference}, Volume = {1}, Pages = {T2A/16-T2A/20}, Year = {2002}, Month = {December}, Abstract = {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 periodic polls, or help a professor program. For moderately sized courses, we ask students to work in groups and share their observations with the class. Finally, in our Interactive Computer Classroom we have almost completely departed from long lectures to run the course in a workshop format, giving students a chance to work on the computer almost everyday in a supervised, safe environment. In short, although these techniques often require longer preparation time, we show that active learning can be done in any classroom situation and students must be active everyday to remain engaged in the material.}, Key = {fds235646} } @article{fds235643, Author = {Astrachan, OL and Bernstein, D and English, A and Koh, B}, Title = {Development issues for a networked, object oriented gaming architecture (NOOGA) teaching tool}, Journal = {Proceedings-Frontiers in Education Conference}, Volume = {1}, Pages = {17-22}, Publisher = {IEEE}, Year = {2002}, Month = {January}, url = {http://dx.doi.org/10.1109/FIE.2002.1157952}, Abstract = {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 context. Our original goal was to develop a game serve to serve multiplayer games such as battleship, dots, and Boggle. We planned to implement these three games, but to design an extensible server that would permit new games to be added to the server framework. The NOOGA framework would be studied and used from both a client and server standpoint. Students would first develop clients that would connect to the server to play a specific game and would, in more advanced courses, add new games to the server. This paper will focus on the development process and design decisions made during development. We initially decided to implement the client/server model using Java's Remote Method Invocation (RMI). Later, we developed a protocol for communicating between the server and clients using low-level sockets to facilitate client implementation in C and C++. We describe the success in developing an extensible server, but describe failures in ensuring robustness in the face of faulty clients. Since the NOOGA server was intended to facilitate student development of networked clients, our original goals were not fully realized.}, Doi = {10.1109/FIE.2002.1157952}, Key = {fds235643} } @article{fds235644, Author = {Astrachan, O}, Title = {OO overkill: When simple is better than not}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Pages = {302-306}, Publisher = {ACM Press}, Year = {2001}, Month = {January}, url = {http://dx.doi.org/10.1145/366413.364608}, Abstract = {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 curriculum. Recent literature has focused on introducing the patterns to computer science educators, but not on the situations and contexts in which the patterns are appropriate. Design patterns and object orientation are parts of a methodology that scales to large systems. In this paper we show that these concepts do not always scale down. We analyze examples from current literature that would be simpler without patterns, and provide examples of when the same design patterns do make design and programs simpler.}, Doi = {10.1145/366413.364608}, Key = {fds235644} } @article{fds235642, Author = {Kelemen, C and Tucker, A and Henderson, P and Bruce, K and Astrachan, O}, Title = {Has our curriculum become math-phobic? (An American perspective)}, Journal = {Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE}, Pages = {132-135}, Year = {2000}, Month = {January}, url = {http://dx.doi.org/10.1145/343048.343143}, Abstract = {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 mathematics) early in their undergraduate studies, thus becoming well-prepared to integrate mathematical ideas, notations, and methodologies throughout their study of computer science. A major curricular implication of this theme is that the prerequisite expectations and conceptual level of the first discrete mathematics course should be the same as it is for the first calculus course - secondary school pre-calculus and trigonometry. Ultimately, calculus, linear algebra, and statistics are also essential for computer science majors, but none should occur earlier than discrete mathematics. This paper explains our concerns and outlines our response as a series of examples and recommendations for future action.}, Doi = {10.1145/343048.343143}, Key = {fds235642} } @article{fds235640, Author = {Astrachan, O}, Title = {Concrete teaching: Hooks and props as instructional technology}, Journal = {Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE}, Volume = {Part F129252}, Number = {3}, Pages = {21-24}, Year = {1998}, Month = {August}, url = {http://dx.doi.org/10.1145/282991.283003}, Abstract = {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 ideas using physical props and images that in our experience h:ave enhanced the teaching and learning process.}, Doi = {10.1145/282991.283003}, Key = {fds235640} } @article{fds235637, Author = {Astrachan, O and Berry, G and Cox, L and Mitchener, G}, Title = {Design patterns: An essential component of CS curricula}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Volume = {30}, Number = {1}, Pages = {153-160}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1998}, Month = {January}, ISSN = {0097-8418}, url = {http://dx.doi.org/10.1145/274790.273182}, Abstract = {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 not well-versed in object-oriented technologies. This project addresses pattern use through the development of several programming and pedagogical frameworks that supply support for using patterns throughout a computer science curriculum. Although we do not claim that patterns are Brooks' silver bullet [10], their use can help cope with the accidental complexity of software development and, we argue, their use is essential for a successful adoption of object-oriented techniques in academic computer science programs. This project addresses practical concerns of the computer science and software engineering communities in using, teaching, and learning patterns. In this paper we argue that patterns are an essential programming and pedagogical tool and report on our work in making them accessible to the educational community.}, Doi = {10.1145/274790.273182}, Key = {fds235637} } @article{fds235638, Author = {Astrachan, O and Rodger, SH}, Title = {Animation, visualization, and interaction in CS 1 assignments}, Journal = {Poceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE}, Pages = {317-321}, Year = {1998}, Month = {January}, url = {http://dx.doi.org/10.1145/273133.274321}, Abstract = {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 data structures, and object-based programming. All the assignments involve either animations by which we mean graphical displays that evolve over time, or visualizations which include static display of graphical images. The animations do not require extensive programming by students since students use classes and code that we provide to hide much of the complexity that drives the animations. In addition to generating enthusiasm, we believe the animations assist with mastering the debugging process.}, Doi = {10.1145/273133.274321}, Key = {fds235638} } @article{fds235639, Author = {Astrachan, O and Berry, G and Cox, L and Mitchener, G}, Title = {Design patterns: An essential component of CS curricula}, Journal = {Poceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE}, Pages = {153-160}, Year = {1998}, Month = {January}, Abstract = {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 not well-versed in object-oriented technologies. This project addresses pattern use through the development of several programming and pedagogical frameworks that supply support for using patterns throughout a computer science curriculum. Although we do not claim that patterns are Brooks' silver bullet, their use can help cope with the accidental complexity of software development and, we argue, their use is essential for a successful adoption of object-oriented techniques in academic computer science programs. This project addresses practical concerns of the computer science and software engineering communities in using, teaching, and learning patterns. In this paper we argue that patterns are an essential programming and pedagogical tool and report on our work in making them accessible to the educational community.}, Key = {fds235639} } @article{fds235641, Author = {Astrachan, O and Rodger, SH}, Title = {Animation, visualization, and interaction in CS 1 assignments}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Volume = {30}, Number = {1}, Pages = {317-321}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1998}, Month = {January}, ISSN = {0097-8418}, url = {http://dx.doi.org/10.1145/274790.274321}, Abstract = {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 data structures, and object-based programming. All the assignments involve either animations by which we mean graphical displays that evolve over time, or visualizations which include static display of graphical images. The animations do not require extensive programming by students since students use classes and code that we provide to hide much of the complexity that drives the animations. In addition to generating enthusiasm, we believe the animations assist with mastering the debugging process.}, Doi = {10.1145/274790.274321}, Key = {fds235641} } @article{fds235634, Author = {Astrachan, OL and Loveland, DW}, Title = {The use of lemmas in the Model Elimination procedure}, Journal = {Journal of Automated Reasoning}, Volume = {19}, Number = {1}, Pages = {117-141}, Year = {1997}, Month = {January}, url = {http://dx.doi.org/10.1023/A:1005770705587}, Abstract = {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 lemma mechanism, with indifferent results. We report on the successful use of lemmas using the METEOR implementation of ME. Not only does the lemma device permit METEOR to obtain proofs not otherwise obtainable by METEOR, or any other ME prover not using lemmas, but some well-known challenge problems are solved. We discuss several of these more difficult problems, including two challenge problems for uniform general-purpose provers, where METEOR was first in obtaining the proof. The problems are not selected simply to show off the lemma device, but rather to understand it better. Thus, we choose problems with widely different characteristics, including one where very few lemmas are created automatically, the opposite of normal behavior. This selection points out the potential of, and the problems with, lemma use. The biggest problem normally is the selection of appropriate lemmas to retain from the large number generated. © 1997 Kluwer Academic Publishers.}, Doi = {10.1023/A:1005770705587}, Key = {fds235634} } @article{fds235635, Author = {Astrachan, O and Smith, R and Wilkes, J}, Title = {Application-based modules using apprentice learning for CS 2}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Volume = {29}, Number = {1}, Pages = {233-237}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1997}, Month = {January}, ISSN = {0097-8418}, url = {http://dx.doi.org/10.1145/268085.268172}, Abstract = {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 by others in re-inventing such assignments. At the same time, these assignments and large programs take time to develop and are often changed from semester to semester to preclude cheating. We report on a project that provides modules containing many kinds of programming and lab assignments which can be re-used across semesters with accessible and exciting application-oriented materials. Our project is a collaboration between a research and teaching oriented private university, a teaching oriented public university, and a teaching oriented historically black university. This helps ensure that the modules will be accessible to nearly all student populations. The modules developed are available electronically as hyper-text documents.}, Doi = {10.1145/268085.268172}, Key = {fds235635} } @article{fds235636, Author = {Astrachan, OL and Chapman, G and Rodger, SH and Weiss, MA}, Title = {The reasoning for the advanced placement C++ subset}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Volume = {29}, Number = {4}, Pages = {62-65}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1997}, Month = {January}, url = {http://dx.doi.org/10.1145/271125.271158}, Abstract = {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 and approved by the College Board, was made in 1994. The 5-year transition period was crucial in defining a C++ subset and providing time for the high school teachers teaching AP CS to attend professional development activities. In [1], the authors appear to misunderstand the reasoning and the forces that helped define the AP C++ subset. This paper attempts to correct those.}, Doi = {10.1145/271125.271158}, Key = {fds235636} } @article{fds235631, Author = {Astrachan, O and Selby, T and Unger, J}, Title = {Object-oriented, apprenticeship approach to data structures using simulation}, Journal = {Proceedings - Frontiers in Education Conference}, Pages = {130-134}, Year = {1996}, Month = {December}, Abstract = {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 unified and application-oriented course. In this paper we report on modules developed for what we term an Applied Apprenticeship Approach to the CS 2 course using an object-oriented framework.}, Key = {fds235631} } @article{fds235633, Author = {Tucker, AB and Astrachan, O and Bruce, K and Cupper, R and Denning, P and Drysdale, S and Horton, T and Kelemen, C and McGeoch, C and Patt, Y and Proulx, V and Rada, R and Rasala, R and Roberts, E and Rudich, S and Stein, L and Tucker, A and Van Loan and C}, Title = {Strategic directions in computer science education}, Journal = {ACM Computing Surveys}, Volume = {28}, Number = {4}, Pages = {836-845}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1996}, Month = {January}, url = {http://dx.doi.org/10.1145/242223.246876}, Doi = {10.1145/242223.246876}, Key = {fds235633} } @article{fds1180, Author = {O.L. Astrachan and Susan Horwitz and the Advanced Placement Computer Science Development Committee}, Title = {Technical Opinion: The First Course Conundrum}, Journal = {Communications of the ACM}, Pages = {117-118}, Year = {1995}, Month = {June}, Key = {fds1180} } @article{fds321925, Author = {Horwitz, S and Appel, K and Cuprak, T and Kay, D and Nevison, C and Schram, L and Stehlik, M and Astrachan, O}, Title = {The First-Course Conundrum}, Journal = {Communications of the ACM}, Volume = {38}, Number = {6}, Pages = {116-117}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1995}, Month = {June}, url = {http://dx.doi.org/10.1145/203241.203266}, Doi = {10.1145/203241.203266}, Key = {fds321925} } @article{fds321926, Author = {Astrachan, O and Reed, D}, Title = {AAA and CS 1: The Applied Apprenticeship Approach to CS 1}, Journal = {ACM SIGCSE Bulletin}, Volume = {27}, Number = {1}, Pages = {1-5}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1995}, Month = {March}, url = {http://dx.doi.org/10.1145/199691.199694}, Abstract = {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 introduced in the context of applications, not the other way around as is the tradition in most texts and courses. Under our applied approach, 1995 students are able to learn from interesting real-world examples, (2) the synthesis of different programming constructs is supported using incremental examples, and (3) good design is stressed vis code and concept reuse. In this paper, we provide several examples of our method as well as pointers to all the material we have developed which is freely available electronically. The philosophy underlying this method transcends a particular programming language, but we present our examples using C++ since that is the language used in the CS 1 and CS 2 courses at Duke. This method has been used with equal success using ISETL at Dickinson. © 1995, ACM. All rights reserved.}, Doi = {10.1145/199691.199694}, Key = {fds321926} } @article{fds235629, Author = {Astrachan, O}, Title = {Self-reference is an illustrative essential}, Journal = {ACM SIGCSE Bulletin}, Volume = {26}, Number = {1}, Pages = {238-242}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1994}, Month = {December}, url = {http://dx.doi.org/10.1145/191033.191131}, Abstract = {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 be placed in its own left-until-the-end-and-often-uncovered chapter in most introductory texts? Self-reference is one of the cornerstones of computer science from the unsolvability of the halting problem, to writing a Pascal compiler in Pascal, to reveling in the beauty of Quicksort. We argue that the notion of self-reference should permeate first courses in computer science. If this is to be the case such courses should take a view far broader than “Wow, I can average 10 numbers with the skills I learned in my first programming course!”. © 1994, ACM. All rights reserved.}, Doi = {10.1145/191033.191131}, Key = {fds235629} } @article{fds321928, Author = {Hirshfield, S and Astrachan, O and Barr, J and Donnelly, K and Levine, D and McGinn, M}, Title = {Object-Oriented Programming (Abstract): How to “Scale Up” CS 1}, Journal = {ACM SIGCSE Bulletin}, Volume = {26}, Number = {1}, Pages = {396}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1994}, Month = {December}, url = {http://dx.doi.org/10.1145/191033.191203}, Doi = {10.1145/191033.191203}, Key = {fds321928} } @article{fds321927, Author = {Arnow, D and Astrachan, O and Kiper, J and Workman, R and Whitlock, P and Auernheimer, B and Rager, J}, Title = {Themes and Tapestries: A Diversity of Approaches to Computer Science for Liberal Arts Students}, Journal = {ACM SIGCSE Bulletin}, Volume = {26}, Number = {1}, Pages = {374-375}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1994}, Month = {December}, url = {http://dx.doi.org/10.1145/191033.191176}, Doi = {10.1145/191033.191176}, Key = {fds321927} } @article{fds376535, Author = {Chapman, G and Fix, S and Astrachan, O and Kmoch, J and Clancy, M}, Title = {Case Studies in the Advanced Placement Computer Science Curriculum (Abstract)}, Journal = {ACM SIGCSE Bulletin}, Volume = {26}, Number = {1}, Pages = {371}, Year = {1994}, Month = {December}, url = {http://dx.doi.org/10.1145/191033.191173}, Doi = {10.1145/191033.191173}, Key = {fds376535} } @article{fds235632, Author = {Astrachan, O}, Title = {METEOR: Exploring model elimination theorem proving}, Journal = {Journal of Automated Reasoning}, Volume = {13}, Number = {3}, Pages = {283-296}, Publisher = {Springer Nature}, Year = {1994}, Month = {October}, url = {http://dx.doi.org/10.1007/BF00881946}, Abstract = {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 search is necessary. We describe modifications to traditional iterative deepening search mechanisms whose implementation in METEOR result in performance improvements of several orders of magnitude and that have permitted the discovery of proofs unobtainable by top-down model elimination provers. © 1994 Kluwer Academic Publishers.}, Doi = {10.1007/BF00881946}, Key = {fds235632} } @article{fds235628, Author = {Hirshfield, S and Astrachan, O and Barr, J and Donnelly, K and Levine, D and McGinn, M}, Title = {Object-oriented programming: how to 'scale up' CS 1}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Volume = {26}, Number = {1}, Year = {1994}, Month = {March}, Abstract = {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 approaches to incorporating OOP concepts into their versions of course for majors.}, Key = {fds235628} } @article{fds235630, Author = {Chapman, G and Fix, S and Astrachan, O and Kmoch, J and Clancy, M}, Title = {Case studies in the advanced placement computer science curriculum}, Journal = {SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)}, Volume = {26}, Number = {1}, Pages = {371}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1994}, Month = {March}, url = {http://dx.doi.org/10.1145/191033.191173}, Abstract = {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 Manager' materials include the following: a problem statement; solution program code; a narrative description and defense of decisions made in the solution process; study questions distributed throughout the narrative to involve the reader in the solution process; sample exam items; and a comprehensive instructors' manual. Case studies engage students in a kind of 'apprenticeship' with an expert programmer. A variety of advantages result from using case studies to teach programming. They provide excellent models for student learning; context for study and assessment of abstract programming concepts; encouragement for students to reflect on their strengths and weaknesses and learn from their experience; opportunities for working with large programs without the overhead involved in producing them from scratch. Case studies represent a swing of the pendulum away from a focus on program synthesis toward a better balance with analytical skills. Thus this change potentially will have a significant impact on the teaching and learning of programming in high schools and colleges. Panelists will describe the upcoming changes to the examination and the rationale behind these changes. They will also describe a recent pilot study of the 'Directory Manager' materials, its results, and experience teaching with 'Directory Manager' in high school AP CS courses. Gail Chapman is ETS Consultant to the AP CS Test Development Committee. She coordinated and helped design the recent pilot study of the 'Directory Manager' materials. Owen Astrachan is Director of Undergraduate Studies in the Computer Science Department at Duke University, as well as Chief Faculty Consultant in charge of grading the exam and a former Test Development Committee member. Sarah Fix and Joseph Kmoch are AP CS instructors who participated in the pilot study. Both have several years' experience as AP CS exam readers, supervisors of question grading, College Board consultants, and leaders of workshops for AP CS instructors; in addition, Sarah has been a member of the Test Development Committee since 1989.}, Doi = {10.1145/191033.191173}, Key = {fds235630} } @article{fds235627, Author = {Khera, V and Astrachan, O and Kotz, D}, Title = {The Internet Programming Contest: A Report and Philosophy}, Journal = {ACM SIGCSE Bulletin}, Volume = {25}, Number = {1}, Pages = {48-52}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1993}, Month = {January}, url = {http://dx.doi.org/10.1145/169073.169105}, Abstract = {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 aspects of computer science in an enjoyable contest in which many people can participate. The contests we describe have distinct advantages over contests such as the ACM scholastic programming contest. The primary advantageis that there is no travel required-the whole contest is held in cyberspace. All interaction between participants and judges is via electronic mail. Of course all contests build on and learn from others, and ours is no exception. This paper is intended to provide a description andphilosophyof programming conteststhat will foster discussion, that will provide a model, and that will increase interest in programming as an essential aspect of computer science. © 1993, ACM. All rights reserved.}, Doi = {10.1145/169073.169105}, Key = {fds235627} } @article{fds235626, Author = {Astrachan, O}, Title = {On Finding a Stable Roommate, Job, or Spouse: A Case Study Crossing the Boundaries of Computer Science Courses}, Journal = {ACM SIGCSE Bulletin}, Volume = {24}, Number = {1}, Pages = {107-112}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1992}, Month = {January}, url = {http://dx.doi.org/10.1145/135250.134533}, Abstract = {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 pedagogically attractive at all levels of Computer Science from the level of a non-major's course to that of an advanced algorithms course. © 1992, ACM. All rights reserved.}, Doi = {10.1145/135250.134533}, Key = {fds235626} } @article{fds321929, Author = {Astrachan, O}, Title = {Pictures as Invariants}, Journal = {ACM SIGCSE Bulletin}, Volume = {23}, Number = {1}, Pages = {112-118}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1991}, Month = {January}, url = {http://dx.doi.org/10.1145/107005.107026}, Doi = {10.1145/107005.107026}, Key = {fds321929} } @article{fds1179, Author = {O.L. Astrachan and D.W. Loveland}, Title = {METEORs: High Performance Theorem Provers Using Model Elimination}, Booktitle = {Automated Reasoning: Essays in Honor of Woody Bledsoe}, Publisher = {Kluwer Academic Press}, Editor = {R.S. Boyer}, Year = {1991}, Key = {fds1179} } @article{fds321930, Author = {Shub, CM and Astrachan, O and Levine, D and Reges, S and Walker, H}, Title = {Faster, fairer, and more consistent grading, using techniques from the Advanced Placement reading}, Journal = {ACM SIGCSE Bulletin}, Volume = {22}, Number = {1}, Pages = {266}, Publisher = {Association for Computing Machinery (ACM)}, Year = {1990}, Month = {January}, url = {http://dx.doi.org/10.1145/319059.323445}, Abstract = {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 grading course examinations at their home institutions. Adapting the techniques from the reading seems to allow faster, fairer, and more consistent marking of student papers. This panel will focus on how the examination reading techniques can be adapted for use in universities and schools. This discussion will be from the perspective of how grading algorithms are designed, how they are refined, how they are validated, and how they are applied. © 1990, ACM. All rights reserved.}, Doi = {10.1145/319059.323445}, Key = {fds321930} } %% Conference articles PUBLISHED @article{fds362968, Author = {Sahami, M and Astrachan, O and Czajka, S and Decker, A and Rosato, J}, Title = {Should the AP Computer Science A Exam Switch to Using Python?}, Journal = {SIGCSE 2022 - Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V.2}, Pages = {1015-1016}, Year = {2022}, Month = {March}, ISBN = {9781450390712}, url = {http://dx.doi.org/10.1145/3478432.3499230}, Abstract = {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. This panel offers a set of speakers specifically chosen to provide a diverse set of viewpoints and experiences (high school teacher, curriculum developer, exam reader, exam development committee member, university credit-granting administrator) on the question of whether the language in the AP CS A exam should be switched to Python in the near future.}, Doi = {10.1145/3478432.3499230}, Key = {fds362968} } @article{fds342547, Author = {Moderator, CF and Astrachan, O and Garcia, DD and Musicant, D and Rosato, J}, Title = {CS principles higher education pathways}, Journal = {SIGCSE 2019 - Proceedings of the 50th ACM Technical Symposium on Computer Science Education}, Pages = {498-499}, Year = {2019}, Month = {February}, ISBN = {9781450358903}, url = {http://dx.doi.org/10.1145/3287324.3287342}, Abstract = {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 institutions of pathways from CS Principles to CS majors. While over 500 institutions have indicated they have credit and placement policies for CSP, they may vary quite a bit [1]. (Credit gives students units of credit on their college record while placement means the AP credit can meet a particular course requirement.) For example, some institutions offer credit only, while others allow the course to count as part of a general education program, as a major elective, or even require CSP in the major. Panelists will share institutional context and reasoning behind their policies.}, Doi = {10.1145/3287324.3287342}, Key = {fds342547} } @article{fds342548, Author = {Gray, J and Astrachan, O and Haynie, K and Uche, C and Cooney, S and Trees, F and Kick, R}, Title = {Infusing cooperative learning into AP computer science principles courses to promote engagement and diversity}, Journal = {SIGCSE 2019 - Proceedings of the 50th ACM Technical Symposium on Computer Science Education}, Pages = {1190-1196}, Year = {2019}, Month = {February}, ISBN = {9781450358903}, url = {http://dx.doi.org/10.1145/3287324.3287421}, Abstract = {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 for an AP course. In this paper, we report on an NSF-sponsored multi-year effort to infuse cooperative learning (CL) structures into AP CSP classrooms to improve class participation and student learning. As we report, CL structures have been beneficial for both new and experienced teachers and across the curricula of the endorsed providers. Since AP CSP was designed to engage all learners, the CL structures used in our PD workshops and the CL resources designed by participating teachers in our project have the potential to positively impact all AP CSP classrooms. Research was conducted on the extent to which use of CL structures impacted student efficacy and student achievement. Three cohorts of AP CSP teachers participated in PD that focused on AP CSP pedagogical content knowledge using CL structures. A cumulative 143 teachers attended one-week PD workshops spanning July 2015, 2016, and 2017. We studied the effect of CL structures on student learning using AP scores as an outcomes measure. Use of CL structures was a statistically significant and positive predictor of student AP scores for participating classes in cohorts 2 and 3. Additionally, the use of pair programming was a significant and positive predictor of AP scores.}, Doi = {10.1145/3287324.3287421}, Key = {fds342548} } @article{fds326170, Author = {Camp, T and Schanzer, E and Goode, J and Campos, E and Astrachan, O}, Title = {CSPdWeek: A scalable model for preparing teachers for CS for all}, Journal = {Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE}, Volume = {Part F126972}, Pages = {645-646}, Publisher = {ACM Press}, Year = {2017}, Month = {March}, ISBN = {9781450346986}, url = {http://dx.doi.org/10.1145/3017680.3017681}, Abstract = {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 development and curricular offerings that are research based, with a proven track record. Bootstrap, Exploring Computer Science and AP CS Principles represent these types of programs. Each of these programs has developed high-quality PD for educators and have been recognized by the White House as exemplar courses. However, economies of scale make it difficult to expand to the vast number of small school districts around the country, including some of the most isolated and underserved areas such as rural communities and Native American reservations. This panel will discuss an alternative model - "CSPdWeek" -A national event aimed at providing best-in-class PD to teachers across the country. The inaugural CSPdWeek took place in July, 2016 at Colorado School of Mines, and provided a week-long residential experience for teachers attending one of three teacher-focused professional development programs. Additionally, Counselors for Computing, an NCWIT program, provided a shorter 2-day experience to 20 school counselors. Over 240 classroom teachers attended CSPdWeek, making this professional development the single largest cross-curricular effort in preparing U.S. teachers to teach computing as part of the "CS for All" movement. This panel will focus on why this year's CSPdWeek was such a success and what was behind social media testimonies from teachers who talked about being part of an educational movement. What opportunities for learning, community building, and teacher cross-program communication were made possible by this model? What was the high value-Added of this PD model? What lessons did we learn for improvement and expansion? What would we keep the same and what will we change (and why) will be the focus of the discussion.}, Doi = {10.1145/3017680.3017681}, Key = {fds326170} } @article{fds321923, Author = {Astrachan, O and Osborne, RB}, Title = {Advanced placement computer science principles (APCSP): A report from teachers}, Journal = {SIGCSE 2016 - Proceedings of the 47th ACM Technical Symposium on Computing Science Education}, Pages = {681-682}, Publisher = {ACM Press}, Year = {2016}, Month = {February}, ISBN = {9781450338561}, url = {http://dx.doi.org/10.1145/2839509.2844677}, Abstract = {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 limited previous experience in teaching courses in the area. The APCSP project has been grounded in an inclusive, community-driven approach to building a new course that is nearly unprecedented. Initially funded by the College Board and NSF, as this community of educators nears the official launch of APCSP the project has become more of a public/private partnership, garnering significant interest in building programs with NSF, non-profit, and industry support. To understand how teachers new to computer science and/or new to APCSP might be able to launch a course that broadens participation at scale, to be part of what has been heralded as an effort to support 10,000 teachers in 10,000s schools, this special session is built on hearing directly from teachers who are in their first year of teaching APCSP, but who are teaching curricula developed by one of five projects that are part of a cohort working closely with the College Board in supporting APCSP. These projects have the potential to develop nationally, to support teachers with curricula and professional development, and to bring new teachers into the APCSP community, and by extension into the SIGCSE community. These five projects have been recognized by the College Board and the National Science Foundation as likely capable of such support. The projects are Project Lead the Way (PLTW)[4], Code.org[5], Beauty and Joy of Computing (BJC)[6], Mobile CSP[7], and Thriving in our Digital World[8].}, Doi = {10.1145/2839509.2844677}, Key = {fds321923} } @article{fds235625, Author = {Arpaci-Dusseau, A and Bauer, M and Franke, B and Griffin, J and Morelli, R and Astrachan, O and Carrell, M and Gardner, C and Kick, R and Muralidhar, D and Uche, C and Barnett, D and Dovi, R and Gray, J and Kuemmel, A and Osborne, RB}, Title = {Computer science principles: Analysis of a proposed advanced placement course}, Journal = {SIGCSE 2013 - Proceedings of the 44th ACM Technical Symposium on Computer Science Education}, Pages = {251-256}, Publisher = {ACM}, Editor = {Camp, T and Tymann, PT and Dougherty, JD and Nagel, K}, Year = {2013}, Month = {April}, ISBN = {9781450320306}, url = {http://dl.acm.org/citation.cfm?id=2445196}, Abstract = {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 pedagogical approaches used in the second pilot of the project. We include information about the third pilot being conducted in 2012-2013 and the portfolio exam that is part of that pilot. Both the second and third pilots provide evidence that the CS Principles course is succeeding in changing how computer science is taught and to whom it is taught. Copyright © 2013 ACM.}, Doi = {10.1145/2445196.2445273}, Key = {fds235625} } @article{fds321924, Author = {Parlante, N and Astrachan, O and Clancy, M and Paths, RE and Zelenski, J and Reges, S}, Title = {Nifty assignments panel}, Journal = {SIGCSE 1999 - Proceedings of the 13th SIGCSE Technical Symposium on Computer Science Education}, Pages = {354-355}, Publisher = {ACM}, Editor = {Prey, J and Noonan, RE}, Year = {1999}, Month = {March}, ISBN = {9781581130850}, url = {http://dx.doi.org/10.1145/384266.299809}, Doi = {10.1145/384266.299809}, Key = {fds321924} } @article{fds329893, Author = {Astrachan, O and Reed, D}, Title = {AAA and CS 1 the applied apprenticeship approach to CS 1}, Journal = {Proceedings of the 26th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 1995}, Pages = {1-5}, Publisher = {ACM Press}, Editor = {Laxer, C and White, CM and Miller, JE and Gersting, JL}, Year = {1995}, Month = {March}, ISBN = {9780897916936}, url = {http://dx.doi.org/10.1145/199688.199694}, Abstract = {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 introduced in the context of applications, not the other way around as is the tradition in most texts and courses. Under our applied approach, (1) students are able to learn from interesting real-world examples, (2) the synthesis of different programming constructs is supported using incremental examples, and (3) good design is stressed via code and concept reuse. In this paper, we provide several examples of our method as well as pointers to all the material we have developed which is freely available electronically. The philosophy underlying this method transcends a particular programming language, but we present our examples using C++ since that is the language used in the CS 1 and CS 2 courses at Duke. This method has been used with equal success using ISETL at Dickinson.}, Doi = {10.1145/199688.199694}, Key = {fds329893} } @article{fds329273, Author = {Astrachan, OL and Stickel, ME}, Title = {Caching and lemmaizing in model elimination theorem provers}, Journal = {Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)}, Volume = {607 LNAI}, Pages = {224-238}, Publisher = {SPRINGER}, Editor = {Kapur, D}, Year = {1992}, Month = {January}, ISBN = {9783540556022}, url = {http://dx.doi.org/10.1007/3-540-55602-8_168}, Abstract = {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 required to find proofs of several problems and that have enabled the prover to prove theorems previously unobtainable by top-down model elimination theorem provers.}, Doi = {10.1007/3-540-55602-8_168}, Key = {fds329273} } %% Books PUBLISHED @misc{fds1176, Author = {O.L. Astrachan}, Title = {A Computer Science Tapestry: Exploring Programming and Computer Science with C++, Second Edition}, Publisher = {McGraw-Hill}, Year = {2000}, Key = {fds1176} } @misc{fds1177, Author = {O.L. Astrachan}, Title = {A Computer Science Tapestry: Exploring Programming and Computer Science with C++}, Publisher = {McGraw-Hill}, Year = {1997}, Key = {fds1177} } @misc{fds1178, Author = {O.L. Astrachan}, Title = {The Large Integer Case Study in C++}, Publisher = {The College Board, Advanced Placement Program}, Year = {1997}, Key = {fds1178} } | |
Duke University * Arts & Sciences * ISS * Faculty * Staff * External * Reload * Login |