Is an Oxymoron 9780262312325 Lisa Gitelman 2013 MIT Press

Total Page:16

File Type:pdf, Size:1020Kb

Is an Oxymoron 9780262312325 Lisa Gitelman 2013 MIT Press TITLE ISBN Authors Copyright Year Publisher "Raw Data" Is an Oxymoron 9780262312325 Lisa Gitelman 2013 MIT Press Nick Montfort; Patsy Baudoin; John Bell; Ian Bogost; Jeremy Douglass; Mark C. Marino; Michael Mateas; Casey Reas; 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 9780262305501 Mark Sample; Noah Vawter 2012 MIT Press 2D Object Detection and Recognition:Models, Algorithms, and Networks 9780262267090 Yali Amit 2002 MIT Press 3DTV Content Capture, Encoding and Transmission:Building the Transport Infrastructure for Commercial Services 9780470874226 Daniel Minoli 2010 Wiley-IEEE Press Professor Lajos Hanzo; Jonathan Blogh; 3G, HSPA and FDD versus TDD Networking:Smart Antennas and Adaptive Modulation 9780470754290 Song Ni 2008 Wiley-IEEE Press Wiley-IEEE Standards 802.1aq Shortest Path Bridging Design and Evolution:The Architect's Perspective 9781118164327 David Allan; Nigel Bragg 2012 Association A Biosystems Approach to Industrial Patient Monitoring and Diagnostic Devices 9781598292954 Gail Baura 2008 Morgan & Claypool A Case for Climate Engineering 9780262317788 David Keith 2013 MIT Press A Century of Electrical Engineering and Computer Science at MIT, 1882-1982 9780262291033 Karl L Wildes; Nilo A Lindgren 1985 MIT Press A Century of Honors: The First One-Hundred Years of Award Winners, Honorary Members, Past Presidents, and Fellows of the Institute 9780470616369 1984 Wiley-IEEE Press A Concise Introduction to Models and Methods for Automated Planning 9781608459704 Hector Geffner; Blai Bonet 2013 Morgan & Claypool A Concise Introduction to Multiagent Systems and Distributed Artificial Intelligence 9781598295276 Nikos Vlassis 2007 Morgan & Claypool A Few Good Men From Univac 9780262256599 David E. Lundstrom 1990 MIT Press A Field Guide to Dynamical Recurrent Networks 9780470544037 John F. Kolen; Stefan C. Kremer 2001 Wiley-IEEE Press A First Course in Turbulence 9780262310901 Henk Tennekes; John L. Lumley 1972 MIT Press A Grammatical View of Logic Programming 9780262290845 Pierre Deransart; Jan Maluszy¿ski 2003 MIT Press A Guide to the Wireless Engineering Body of Knowledge (WEBOK) 9781118444221 Andrzej Jajszczyk 2012 Wiley-IEEE Press A Guide to the Wireless Engineering Body of Knowledge (WEBOK) 9780470439128 2009 Wiley-IEEE Press A Guide to Visual Multi-Level Interface Design From Synthesis of Empirical Study Evidence 9781608455935 Heidi Lam; Tamara Munzner 2010 Morgan & Claypool A Gyrovector Space Approach to Hyperbolic Geometry 9781598298239 Abraham Ungar 2009 Morgan & Claypool A Handbook for Analytical Writing:Keys to Strategic Thinking 9781627051835 William E. Winner 2013 Morgan & Claypool A History of Online Information Services, 1963-1976 9780262269049 Charles P. Bourne; Trudi Bellardo Hahn 2003 MIT Press Andrew Jamison; Steen Hyldgaard A Hybrid Imagination:Science and Technology in Cultural Perspective 9781608457380 Christensen; Lars Botin 2010 Morgan & Claypool A Little Book on Teaching:A Beginner's Guide for Educators of Engineering and Applied Science 9781608458691 Steven Barrett 2012 Morgan & Claypool Matthias Felleisen; Daniel P. Friedman; A Little Java, A Few Patterns 9780262287456 Ralph E. Johnson 1997 MIT Press A Perspective on Single-Channel Frequency-Domain Speech Enhancement 9781608456994 Jacob Benesty; Yiteng Huang 2011 Morgan & Claypool Peter Vermaas; Peter Kroes; Ibo van de A Philosophy of Technology:From Technical Artefacts to Sociotechnical Systems 9781608455997 Poel; Maarten Franssen 2010 Morgan & Claypool A Practical Guide to Gender Diversity for Computer Science Faculty 9781627050814 Diana Franklin 2013 Morgan & Claypool A Practical Guide to Testing Wireless Smartphone Applications 9781608452545 Julian Harty 2009 Morgan & Claypool A Prehistory of the Cloud 9780262330091 Tung- Hu 2015 MIT Press Somayeh Sardashti; Angelos Arelakis; A Primer on Compression in the Memory Hierarchy 9781627057042 Per Stenstrom; David A. Wood 2015 Morgan & Claypool A Primer on Hardware Prefetching 9781608459537 Babak Falsafi; Thomas F. Wenisch 2014 Morgan & Claypool A Primer on Memory Consistency and Cache Coherence 9781608455652 Daniel Sorin; Mark Hill; David Wood 2011 Morgan & Claypool A Primer on Physical-Layer Network Coding 9781627050920 Soung Chang Liew; Lu; Shengli Zhang 2015 Morgan & Claypool A Robot Ping-Pong Player:Experiments in Real-Time Intelligent Control 9780262255615 Russell L. Andersson 2003 MIT Press A Scientific Approach to Writing for Engineers and Scientists 9781118886779 Robert E. Berger 2014 Wiley-IEEE Press Francesca Rossi; Kristen Brent Venable; A Short Introduction to Preferences: Between AI and Social Choice 9781608455874 Toby Walsh 2011 Morgan & Claypool A Small Matter of Programming:Perspectives on End User Computing 9780262280402 Bonnie A. Nardi 1993 MIT Press A Social History of Engineering 9780262310932 W H G Armytage 2003 MIT Press A Tutorial on Queuing and Trunking with Applications to Communications 9781598292695 William Tranter; Allen B. MacKenzie 2012 Morgan & Claypool A Vast Machine:Computer Models, Climate Data, and the Politics of Global Warming 9780262294102 Paul N. Edwards 2010 MIT Press A, B, See... in 3D:A Workbook to Improve 3-D Visualization Skills 9781627058193 Dan G. Dimitriu 2015 Morgan & Claypool Aaron Swartz's The Programmable Web:An Unfinished Work 9781627051699 Aaron Swartz 2013 Morgan & Claypool Accelerated Stress Testing Handbook:Guide for Achieving Quality Products 9780470544051 H. Anthony Chan 2001 Wiley-IEEE Press Access Control in Data Management Systems 9781608453764 Elena Ferrari 2010 Morgan & Claypool Ronald Deibert; John Palfrey; Rafal Rohozinski; Jonathan Zittrain; Janice Access Denied:The Practice and Policy of Global Internet Filtering 9780262255998 Gross Stein 2008 MIT Press Ronald E. Rice; Maureen McCreadie; Accessing and Browsing Information and Communication 9780262256865 Shan-Ju Chang 2001 MIT Press Accurate Computation of Mathieu Functions 9781627050869 Andrew Peterson; Malcolm Bibby 2013 Morgan & Claypool Mingsian R. Bai; Jeong-Guon Ih; Jacob Acoustic Array Systems:Theory, Implementation, and Application 9780470827253 Benesty 2013 Wiley-IEEE Press Acoustic Echo and Noise Control:A Practical Approach 9780471678403 Eberhard Hänsler; Gerhard Schmidt 2004 Wiley-IEEE Press Douglas Frey; Rangaraj Rangayyan; Acoustical Impulse Response Functions of Music Performance Halls 9781627051880 Victor Coelho 2013 Morgan & Claypool Acting with Technology:Activity Theory and Interaction Design 9780262256476 Victor Kaptelinin; Bonnie A. Nardi 2006 MIT Press Action Programming Languages 9781598295450 Michael Thielscher 2008 Morgan & Claypool Amir Mortazwi; Tatsuo Itoh; James Active Antennas and Quasi-Optical Arrays 9780470544068 Harvey 1999 Wiley-IEEE Press Active Learning 9781608457267 Burr Settles 2012 Morgan & Claypool Active Solar Systems 9780262278508 George Löf 1993 MIT Press Activity Theory in HCI:Fundamentals and Reflections 9781608457052 Victor Kaptelinin; Bonnie Nardi 2012 Morgan & Claypool Activity-Centered Design:An Ecological Approach to Designing Smart Tools and Usable Systems 9780262256223 Geraldine Gay; Helene Hembrooke 2004 MIT Press Actors:A Model of Concurrent Computation in Distributed Systems 9780262255554 Gul Agha 1986 MIT Press Ada:A Life And A Legacy 9780262257039 Dorothy Stein 1987 MIT Press Adaptation in Natural and Artificial Systems:An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence 9780262275552 John H. Holland 1992 MIT Press Adaptive Antennas for Wireless Communications 9780470544075 George V. Tsoulos 2001 Wiley-IEEE Press Adaptive Control Design and Analysis 9780471459101 Gang Tao 2003 Wiley-IEEE Press Adaptive Filters 9780470374122 Ali H. Sayed 2008 Wiley-IEEE Press Ioannis Kyriakides; Darryl Morrell; Adaptive High-Resolution Sensor Waveform Design for Tracking 9781608455775 Antonia Papandreou-Suppappola 2010 Morgan & Claypool Adaptive Interaction:A Utility Maximization Approach to Understanding Human Interaction with Technology 9781608458394 Stephen J. Payne; Andrew Howes 2013 Morgan & Claypool Adaptive Inverse Control, Reissue Edition:A Signal Processing Approach 9780470231616 Bernard Widrow; Eugene Walach 2008 Wiley-IEEE Press Adaptive Mesh Refinement in Time-Domain Numerical Electromagnetics 9781598290790 Costas D. Sarris 2006 Morgan & Claypool Adaptive Signal Processing:Next Generation Solutions 9780470575758 Tülay Adali; Simon Haykin 2010 Wiley-IEEE Press Adaptive Wireless Transceivers:Turbo-Coded, Turbo-Equalized and Space-Time Coded TDMA, CDMA, and OFDM Systems 9780470847763 Lajos L. Hanzo; C. H. Wong; M. S. Yee 2002 Wiley-IEEE Press Adiabatic Quantum Computation and Quantum Annealing:Theory and Practice 9781627053365 Catherine C. McGeoch 2014 Morgan & Claypool Advanced Biomedical Image Analysis 9780470872093 Mark Haidekker 2011 Wiley-IEEE Press David Baez-Lopez; Felix E. Guerrero- Castro; Ofelia Delfina Cervantes- Advanced Circuit Simulation using Multisim Workbench 9781608458059 Villagomez 2012 Morgan & Claypool Mukaddim Pathan; Ramesh K. Advanced Content Delivery, Streaming, and Cloud Services 9781118909690 Sitaraman; Dom Robinson 2014 Wiley-IEEE Press Advanced Database Techniques 9780262256612 Daniel Martin 1986 MIT Press Advanced Design Techniques and Realizations of Microwave and RF Filters 9780470294178 Pierre Jarry; Jacques Beneat 2008 Wiley-IEEE Press Advanced Electronic Packaging 9780471754503 Richard K. Ulrich; William D. Brown 2006 Wiley-IEEE Press Advanced Electronic Packaging:With Emphasis on Multichip Modules 9780470544082 William D. Brown 1999 Wiley-IEEE Press
Recommended publications
  • The Evolution of Lisp
    1 The Evolution of Lisp Guy L. Steele Jr. Richard P. Gabriel Thinking Machines Corporation Lucid, Inc. 245 First Street 707 Laurel Street Cambridge, Massachusetts 02142 Menlo Park, California 94025 Phone: (617) 234-2860 Phone: (415) 329-8400 FAX: (617) 243-4444 FAX: (415) 329-8480 E-mail: [email protected] E-mail: [email protected] Abstract Lisp is the world’s greatest programming language—or so its proponents think. The structure of Lisp makes it easy to extend the language or even to implement entirely new dialects without starting from scratch. Overall, the evolution of Lisp has been guided more by institutional rivalry, one-upsmanship, and the glee born of technical cleverness that is characteristic of the “hacker culture” than by sober assessments of technical requirements. Nevertheless this process has eventually produced both an industrial- strength programming language, messy but powerful, and a technically pure dialect, small but powerful, that is suitable for use by programming-language theoreticians. We pick up where McCarthy’s paper in the first HOPL conference left off. We trace the development chronologically from the era of the PDP-6, through the heyday of Interlisp and MacLisp, past the ascension and decline of special purpose Lisp machines, to the present era of standardization activities. We then examine the technical evolution of a few representative language features, including both some notable successes and some notable failures, that illuminate design issues that distinguish Lisp from other programming languages. We also discuss the use of Lisp as a laboratory for designing other programming languages. We conclude with some reflections on the forces that have driven the evolution of Lisp.
    [Show full text]
  • Proceedings of the 8Th European Lisp Symposium Goldsmiths, University of London, April 20-21, 2015 Julian Padget (Ed.) Sponsors
    Proceedings of the 8th European Lisp Symposium Goldsmiths, University of London, April 20-21, 2015 Julian Padget (ed.) Sponsors We gratefully acknowledge the support given to the 8th European Lisp Symposium by the following sponsors: WWWLISPWORKSCOM i Organization Programme Committee Julian Padget – University of Bath, UK (chair) Giuseppe Attardi — University of Pisa, Italy Sacha Chua — Toronto, Canada Stephen Eglen — University of Cambridge, UK Marc Feeley — University of Montreal, Canada Matthew Flatt — University of Utah, USA Rainer Joswig — Hamburg, Germany Nick Levine — RavenPack, Spain Henry Lieberman — MIT, USA Christian Queinnec — University Pierre et Marie Curie, Paris 6, France Robert Strandh — University of Bordeaux, France Edmund Weitz — University of Applied Sciences, Hamburg, Germany Local Organization Christophe Rhodes – Goldsmiths, University of London, UK (chair) Richard Lewis – Goldsmiths, University of London, UK Shivi Hotwani – Goldsmiths, University of London, UK Didier Verna – EPITA Research and Development Laboratory, France ii Contents Acknowledgments i Messages from the chairs v Invited contributions Quicklisp: On Beyond Beta 2 Zach Beane µKanren: Running the Little Things Backwards 3 Bodil Stokke Escaping the Heap 4 Ahmon Dancy Unwanted Memory Retention 5 Martin Cracauer Peer-reviewed papers Efficient Applicative Programming Environments for Computer Vision Applications 7 Benjamin Seppke and Leonie Dreschler-Fischer Keyboard? How quaint. Visual Dataflow Implemented in Lisp 15 Donald Fisk P2R: Implementation of
    [Show full text]
  • 1960 1970 1980 1990 Japan California………………… UT IL in PA NJ NY Massachusetts………… Europe Lisp 1.5 TX
    Japan UT IL PA NY Massachusetts………… Europe California………………… TX IN NJ Lisp 1.5 1960 1970 1980 1990 Direct Relationships Lisp 1.5 LISP Family Graph Lisp 1.5 LISP 1.5 Family Lisp 1.5 Basic PDP-1 LISP M-460 LISP 7090 LISP 1.5 BBN PDP-1 LISP 7094 LISP 1.5 Stanford PDP-1 LISP SDS-940 LISP Q-32 LISP PDP-6 LISP LISP 2 MLISP MIT PDP-1 LISP Stanford LISP 1.6 Cambridge LISP Standard LISP UCI-LISP MacLisp Family PDP-6 LISP MacLisp Multics MacLisp CMU SAIL MacLisp MacLisp VLISP Franz Lisp Machine Lisp LISP S-1 Lisp NIL Spice Lisp Zetalisp IBM Lisp Family 7090 LISP 1.5 Lisp360 Lisp370 Interlisp Illinois SAIL MacLisp VM LISP Interlisp Family SDS-940 LISP BBN-LISP Interlisp 370 Spaghetti stacks Interlisp LOOPS Common LOOPS Lisp Machines Spice Lisp Machine Lisp Interlisp Lisp (MIT CONS) (Xerox (BBN Jericho) (PERQ) (MIT CADR) Alto, Dorado, (LMI Lambda) Dolphin, Dandelion) Lisp Zetalisp TAO (3600) (ELIS) Machine Lisp (TI Explorer) Common Lisp Family APL APL\360 ECL Interlisp ARPA S-1 Lisp Scheme Meeting Spice at SRI, Lisp April 1991 PSL KCL NIL CLTL1 Zetalisp X3J13 CLTL2 CLOS ISLISP X3J13 Scheme Extended Family COMIT Algol 60 SNOBOL METEOR CONVERT Simula 67 Planner LOGO DAISY, Muddle Scheme 311, Microplanner Scheme 84 Conniver PLASMA (actors) Scheme Revised Scheme T 2 CLTL1 Revised Scheme Revised2 Scheme 3 CScheme Revised Scheme MacScheme PC Scheme Chez Scheme IEEE Revised4 Scheme Scheme Object-Oriented Influence Simula 67 Smalltalk-71 LOGO Smalltalk-72 CLU PLASMA (actors) Flavors Common Objects LOOPS ObjectLisp CommonLOOPS EuLisp New Flavors CLTL2 CLOS Dylan X3J13 ISLISP Lambda Calculus Church, 1941 λ Influence Lisp 1.5 Landin (SECD, ISWIM) Evans (PAL) Reynolds (Definitional Interpreters) Lisp370 Scheme HOPE ML Standard ML Standard ML of New Jersey Haskell FORTRAN Influence FORTRAN FLPL Lisp 1.5 S-1 Lisp Lisp Machine Lisp CLTL1 Revised3 Zetalisp Scheme X3J13 CLTL2 IEEE Scheme X3J13 John McCarthy Lisp 1.5 Danny Bobrow Richard Gabriel Guy Steele Dave Moon Jon L White.
    [Show full text]
  • A Python Implementation for Racket
    PyonR: A Python Implementation for Racket Pedro Alexandre Henriques Palma Ramos Thesis to obtain the Master of Science Degree in Information Systems and Computer Engineering Supervisor: António Paulo Teles de Menezes Correia Leitão Examination Committee Chairperson: Prof. Dr. José Manuel da Costa Alves Marques Supervisor: Prof. Dr. António Paulo Teles de Menezes Correia Leitão Member of the Committee: Prof. Dr. João Coelho Garcia October 2014 ii Agradecimentos Agradec¸o... Em primeiro lugar ao Prof. Antonio´ Leitao,˜ por me ter dado a oportunidade de participar no projecto Rosetta com esta tese de mestrado, por todos os sabios´ conselhos e pelos momentos de discussao˜ e elucidac¸ao˜ que se proporcionaram ao longo deste trabalho. Aos meus pais excepcionais e a` minha mana preferida, por me terem aturado e suportado ao longo destes quase 23 anos e sobretudo pelo incondicional apoio durante estes 5 anos de formac¸ao˜ superior. Ao pessoal do Grupo de Arquitectura e Computac¸ao˜ (Hugo Correia, Sara Proenc¸a, Francisco Freire, Pedro Alfaiate, Bruno Ferreira, Guilherme Ferreira, Inesˆ Caetano e Carmo Cardoso), por todas as sug- estoes˜ e pelo inestimavel´ feedback em artigos e apresentac¸oes.˜ Aos amigos em Tomar (Rodrigo Carrao,˜ Hugo Matos, Andre´ Marques e Rui Santos) e em Lisboa (Diogo da Silva, Nuno Silva, Pedro Engana, Kaguedes, Clara Paiva e Odemira), por terem estado pre- sentes, duma forma ou doutra, nos essenciais momentos de lazer. A` Fundac¸ao˜ para a Cienciaˆ e Tecnologia (FCT) e ao INESC-ID pelo financiamento e acolhimento atraves´ da atribuic¸ao˜ de uma bolsa de investigac¸ao˜ no ambitoˆ dos contratos Pest-OE/EEI/LA0021/2013 e PTDC/ATP-AQI/5224/2012.
    [Show full text]
  • Introduction to the Literature on Programming Language Design Gary T
    Computer Science Technical Reports Computer Science 7-1999 Introduction to the Literature On Programming Language Design Gary T. Leavens Iowa State University Follow this and additional works at: http://lib.dr.iastate.edu/cs_techreports Part of the Programming Languages and Compilers Commons Recommended Citation Leavens, Gary T., "Introduction to the Literature On Programming Language Design" (1999). Computer Science Technical Reports. 59. http://lib.dr.iastate.edu/cs_techreports/59 This Article is brought to you for free and open access by the Computer Science at Iowa State University Digital Repository. It has been accepted for inclusion in Computer Science Technical Reports by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Introduction to the Literature On Programming Language Design Abstract This is an introduction to the literature on programming language design and related topics. It is intended to cite the most important work, and to provide a place for students to start a literature search. Keywords programming languages, semantics, type systems, polymorphism, type theory, data abstraction, functional programming, object-oriented programming, logic programming, declarative programming, parallel and distributed programming languages Disciplines Programming Languages and Compilers This article is available at Iowa State University Digital Repository: http://lib.dr.iastate.edu/cs_techreports/59 Intro duction to the Literature On Programming Language Design Gary T. Leavens TR 93-01c Jan. 1993, revised Jan. 1994, Feb. 1996, and July 1999 Keywords: programming languages, semantics, typ e systems, p olymorphism, typ e theory, data abstrac- tion, functional programming, ob ject-oriented programming, logic programming, declarative programming, parallel and distributed programming languages.
    [Show full text]
  • The Racket Manifesto∗
    The Racket Manifesto∗ Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi Eli Barzilay, Jay McCarthy, Sam Tobin-Hochstadt Abstract The creation of a programming language calls for guiding principles that point the developers to goals. This article spells out the three basic principles behind the 20-year development of Racket. First, programming is about stating and solving problems, and this activity normally takes place in a context with its own language of discourse; good programmers ought to for- mulate this language as a programming language. Hence, Racket is a programming language for creating new programming languages. Second, by following this language-oriented approach to programming, systems become multi-lingual collections of interconnected components. Each language and component must be able to protect its specific invariants. In support, Racket offers protection mechanisms to implement a full language spectrum, from C-level bit manipulation to soundly typed extensions. Third, because Racket considers programming as problem solving in the correct language, Racket also turns extra-linguistic mechanisms into linguistic constructs, especially mechanisms for managing resources and projects. The paper explains these principles and how Racket lives up to them, presents the evaluation framework behind the design process, and concludes with a sketch of Racket’s imperfections and opportunities for future improvements. 1998 ACM Subject Classification D.3.3 Language Constructs and Features Keywords and phrases design
    [Show full text]
  • Jon L. White Collection on Common Lisp
    http://oac.cdlib.org/findaid/ark:/13030/c89w0mkb No online items Jon L. White collection on Common Lisp Finding aid prepared by Bo Doub, Kim Hayden, and Sara Chabino Lott Processing of this collection was made possible through generous funding from The Andrew W. Mellon Foundation, administered through the Council on Library and Information Resources' Cataloging Hidden Special Collections and Archives grant. Computer History Museum 1401 N. Shoreline Blvd. Mountain View, CA, 94043 (650) 810-1010 [email protected] March 2017 Jon L. White collection on X6823.2013 1 Common Lisp Title: Jon L. White collection Identifier/Call Number: X6823.2013 Contributing Institution: Computer History Museum Language of Material: English Physical Description: 8.75 Linear feet,7 record cartons Date (bulk): Bulk, 1978-1995 Date (inclusive): 1963-2012 Abstract: The Jon L. White collection on Common Lisp contains material relating to the development and standardization of the programming language Common Lisp and, more generally, the Lisp family of programming languages. Records date from 1963 to 2012, with the bulk of the material ranging from 1978 to 1995, when White was working at MIT’s Artificial Intelligence Laboratory, Xerox PARC (Palo Alto Research Center), Lucid, and Harlequin Group. Throughout many of these positions, White was serving on the X3J13 Committee to formalize a Common Lisp standard, which aimed to combine and standardize many previous dialects of Lisp. This collection consists of conference proceedings, manuals, X3J13 Committee correspondence and meeting minutes, notebooks, technical papers, and periodicals documenting White’s work in all of these roles. Other dialects of Lisp--especially MAClisp--are also major focuses of the collection.
    [Show full text]
  • Comprehension First: Evaluating a Novel Pedagogy and Tutoring System for Program Tracing in CS1
    Session1: Novice Programmer ICER’17, August 18–20, 2017, Tacoma, WA, USA Comprehension First: Evaluating a Novel Pedagogy and Tutoring System for Program Tracing in CS1 Greg L. Nelson Benjamin Xie Andrew J. Ko University of Washington University of Washington University of Washington Allen School, DUB Group e Information School, DUB Group e Information School, DUB Group Seale, Washington 98195 Seale, Washington 98195 Seale, Washington 98195 [email protected] [email protected] [email protected] ABSTRACT building writing [17, 39, 68] and visualization tools [29, 34, 34, What knowledge does learning programming require? Prior work 57, 81, 87, 91]. Pedagogy has also evolved, reordering [23, 61, 80, has focused on theorizing program writing and problem solving 84, 85] and changing what is taught [14, 50, 72], rening worked skills. We examine program comprehension and propose a formal examples [58], explicitly teaching problem solving [48, 61] and theory of program tracing knowledge based on control ow paths program design [27], and exploring a discovery pedagogy [46]. through an interpreter program’s source code. Because novices Most of these diverse approaches have been evaluated in a writ- cannot understand the interpreter’s programming language nota- ing-focused pedagogical context. People receive instruction on a tion, we transform it into causal relationships from code tokens to programming construct’s syntax and semantics, practice by writing instructions to machine state changes. To teach this knowledge, code, then advance to the next construct (roughly a spiral syn- we propose a comprehension-rst pedagogy based on causal infer- tax approach [76]). In contrast, lile prior work has explored a ence, by showing, explaining, and assessing each path by stepping comprehension-rst pedagogy, teaching program semantics—how through concrete examples within many example programs.
    [Show full text]
  • I Throw Itching Powder at Tulips
    I Throw Itching Powder at Tulips Richard P. Gabriel IBM Research [email protected] Abstract program. But it also works for physical devices, biological systems, and people too. For example, when we teach a child Programming comes in many shapes & sizes. to add, we are creating a program that builds on the child’s Categories and Subject Descriptors D.2.9 [Software process existing ability to count on fingers. To the child the notion models] of adding is novel, but perhaps counting on fingers is not. At first, addition is a program; later it is an ability. General Terms Experimentation When we describe how to drive from one place to another, Keywords Agile; science; programming; natural language that’s a program that uses the driver’s ability to understand generation directions, to drive, and to recognize telltales to get that per- t son from one place to another. When people try to put together large software systems— I want to remind you of something simple: Programming large enough that teams are needed and dangerous enough and software engineering are not the same things. Neither that safety is crucial—they apply engineering techniques (as is programming the same as algorithm design. We’ve tan- best they can) to the project. That’s the start of software -en gled the several notions of programming—if we try we can gineering. When people wonder whether the program they unweave them, but sometimes we push on too quickly / get have devised really will achieve its desired purpose using the confused. William Griswold ventured this definition of soft- underlying mechanisms of the “computer,” that’s the start of ware engineering: the theory of computation and algorithm design.
    [Show full text]
  • History of the Lisp Language
    History of the Lisp Language History of the Lisp Language The following information is derived from the history section of dpANS Common Lisp. Lisp is a family of languages with a long history. Early key ideas in Lisp were developed by John McCarthy during the 1956 Dartmouth Summer Research Project on Artificial Intelligence. McCarthy’s motivation was to develop an algebraic list processing language for artificial intelligence work. Implementation efforts for early dialects of Lisp were undertaken on the IBM 704, the IBM 7090, the Digital Equipment Corporation (DEC) PDP−1, the DEC PDP−6, and the PDP−10. The primary dialect of Lisp between 1960 and 1965 was Lisp 1.5. By the early 1970’s there were two predominant dialects of Lisp, both arising from these early efforts: MacLisp and Interlisp. For further information about very early Lisp dialects, see The Anatomy of Lisp or Lisp 1.5 Programmer’s Manual. MacLisp improved on the Lisp 1.5 notion of special variables and error handling. MacLisp also introduced the concept of functions that could take a variable number of arguments, macros, arrays, non−local dynamic exits, fast arithmetic, the first good Lisp compiler, and an emphasis on execution speed. For further information about Maclisp, see Maclisp Reference Manual, Revision 0 or The Revised Maclisp Manual. Interlisp introduced many ideas into Lisp programming environments and methodology. One of the Interlisp ideas that influenced Common Lisp was an iteration construct implemented by Warren Teitelman that inspired the loop macro used both on the Lisp Machines and in MacLisp, and now in Common Lisp.
    [Show full text]
  • Design of a Simple Functional Programming Language and Environment for CS2
    Design of a Simple Functional Programming Language and Environment for CS2 Brian T. Howard Department of Computer Science, DePauw University Abstract There are several advantages to introducing a functional language early in a student's college experience: it provides an excellent setting in which to explore recursively-defined functions and data structures, it encourages more abstract thinking, and it exposes students to a language paradigm that is likely quite different from their previous experience. Even in a core curriculum based on a traditional imperative (and object-oriented) language, it is valuable to spend two or three weeks investigating a functional language. However, we have found that most existing functional languages and environments pose significant hurdles to the introductory student, especially when the language is only being used for a short time. This paper discusses some of our ideas to simplify the framework, and allow students to experiment easily with the important concepts of functional programming in the setting of CS2. 1 Motivation There have been many proposals over the years to incorporate functional languages into the intro- ductory computer science curriculum, dating back at least to the mid-1980's with Abelson and Suss- man's influential text, Structure and Interpretation of Computer Programs [1]. They advocated the use of the Scheme dialect of Lisp because of its simple syntax and support for powerful abstraction mechanisms. Some more recent course designs [2, 3, 10] have also used Scheme, while others have used statically-typed languages such as Miranda, Haskell, or Standard ML [4, 6, 13, 15, 17, 18]. In each case, the reasons given for choosing a functional language include the support for abstractions (including recursion and higher-order functions), the simple semantics (with few or no side-effects), and the exposure to a different language paradigm and problem-solving style.
    [Show full text]
  • Lisp.Qxd 17/10/05 12:42 Página 46
    46-49 lisp.qxd 17/10/05 12:42 Página 46 Ciencia e investigación Un lenguaje de casi 50 años de historia LLiisspp ((II)) David Arroyo Menéndez, José E. Marchesi finanzas, y también en la educación en ingeniería informática y, por supuesto, en investigación. Lisp es una familia de lenguajes de El nombre Lisp viene de “Procesamiento de Listas”. La estructura de datos de listas y las primitivas para programación con una larga historia. manejarlas son el denominador común de todos los Desarrollado originalmente como una dialectos Lisp, como ya explicaremos más adelante. Otras características comunes de los dialectos Lisp implementación de un modelo incluyen el tipado dinámico, el soporte a la progra- computacional, rápidamente se mación funcional y la habilidad para manejar códi- go fuente como datos. convirtió en el lenguaje favorito para Los lenguajes Lisp tienen una apariencia rápida- hacer investigación en el ámbito de la mente reconocible. El código del programa es escri- to usando la misma sintaxis de listas: la sintaxis de inteligencia artificial. S-expressions. Cada subexpresión en un programa (o estructura de datos) está rodeada con paréntesis. Lisp ha sido pionero en el uso de estructuras de árbol Esto hace que los lenguajes Lisp sean fáciles de par- (S-Expressions), recolección de basura, intérpretes y sear y también de metaprogramar, esto es, crear pro- programación funcional. Hoy dialectos Lisp son usa- gramas que escriben otros programas. Esta es la dos en muchos campos, desde el desarrollo web a las mayor razón para su gran popularidad en los años 70 y 80; los programadores de inteligencia artificial Tabla 1.
    [Show full text]