Information Science + Studies Faculty Database
Information Science + Studies
Arts & Sciences
Duke University

 HOME > Arts & Sciences > ISS > Faculty    Search Help Login pdf version printable version 

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