Pa Erns of Design
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
The Machine That Builds Itself: How the Strengths of Lisp Family
Khomtchouk et al. OPINION NOTE The Machine that Builds Itself: How the Strengths of Lisp Family Languages Facilitate Building Complex and Flexible Bioinformatic Models Bohdan B. Khomtchouk1*, Edmund Weitz2 and Claes Wahlestedt1 *Correspondence: [email protected] Abstract 1Center for Therapeutic Innovation and Department of We address the need for expanding the presence of the Lisp family of Psychiatry and Behavioral programming languages in bioinformatics and computational biology research. Sciences, University of Miami Languages of this family, like Common Lisp, Scheme, or Clojure, facilitate the Miller School of Medicine, 1120 NW 14th ST, Miami, FL, USA creation of powerful and flexible software models that are required for complex 33136 and rapidly evolving domains like biology. We will point out several important key Full list of author information is features that distinguish languages of the Lisp family from other programming available at the end of the article languages and we will explain how these features can aid researchers in becoming more productive and creating better code. We will also show how these features make these languages ideal tools for artificial intelligence and machine learning applications. We will specifically stress the advantages of domain-specific languages (DSL): languages which are specialized to a particular area and thus not only facilitate easier research problem formulation, but also aid in the establishment of standards and best programming practices as applied to the specific research field at hand. DSLs are particularly easy to build in Common Lisp, the most comprehensive Lisp dialect, which is commonly referred to as the “programmable programming language.” We are convinced that Lisp grants programmers unprecedented power to build increasingly sophisticated artificial intelligence systems that may ultimately transform machine learning and AI research in bioinformatics and computational biology. -
Paul Graham's Revenge of the Nerds
Paul Graham’s Revenge of the Nerds What made Lisp different Symbols and S-Expression Trees 6. Programs composed of expressions. Lisp programs are trees of expressions, each of which returns a value. … 7. A symbol type. Symbols are effecBvely pointers to strings stored in a hash table. So you can test equality by comparing a pointer, instead of comparing each character. 8. A notation for code using trees of symbols and constants. CS251 Programming [Lyn adds: these trees are called symbolic expressions = s-expressions] Languages 9. The whole language there all the time. There is no real distinction Spring 2018, Lyn Turbak between read-time, compile-time, and runtime. … reading at runtime enables programs to communicate using s-expressions, an idea recently reinvented Department of Computer Science as XML. [Lyn adds: and JSON!] Wellesley College Symbols & S-expressions 2 Symbols TesBng Symbols for Equality: eq? Lisp was invented to do symbolic processing. (This was thought to be the core of ArBficial Intelligence, and disBnguished Lisp from Fortran (the other The key thing we do with symbols is test them for equality main language at the Bme), whose strength with numerical processing.) with eq? (pronounced “eek”). A symbol is eq? to itself and A key Racket value is the symbol. nothing else. The symbol cat is wriNen (quote cat) or 'cat. > (eq? 'cat 'cat) Symbols are values and so evaluate to themselves. #t > 'cat > (map (λ (s) (eq? s 'to)) 'cat (list 'to 'be 'or 'not 'to 'be)) '(#t #f #f #f #t #f) ; 'thing is just an abbreviation for (quote thing) > (quote cat) 'cat Symbols are similar to strings, except they’re atomic; we don’t do character manipulaBons on them. -
Teach Yourself Scheme in Fixnum Days"
http://xkcd.com/224/ CS 152: Programming Language Paradigms Prof. Tom Austin San José State University What are some programming languages? Taken from http://pypl.github.io/PYPL.html January 2016 Why are there so many? Different domains Different design choices • Flexibility • Type safety • Performance • Build time • Concurrency Which language is better? Good language features • Simplicity • Readability • Learn-ability • Safety • Machine independence • Efficiency These goals almost always conflict Conflict: Type Systems Stop "bad" programs … but ... restrict the programmer Why do we make you take a programming languages course? • You might use one of these languages. • Perhaps one of these languages is the language of the future (whatever that means). • You might see similar languages in your job. • Somebody made us take one, so now we want to make you suffer too. • But most of all… We want to warp your minds. Course goal: change the way that you think about programming. That will make you a better Java programmer. The "Blub" paradox Why do I need higher order functions? My language doesn't have them, and it works just fine!!! "As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down… [Blub programmers are] satisfied with whatever language they happen to use, because it dictates the way they think about programs." --Paul Graham http://www.paulgraham.com/avg.html Languages we will cover (subject to change) Administrative Details • Green sheet: http://www.cs.sjsu.edu/~austin/cs152- spring19/Greensheet.html. • Homework submitted through Canvas: https://sjsu.instructure.com/ • Academic integrity policy: http://info.sjsu.edu/static/catalog/integrity.html Schedule • The class schedule is available through Canvas. -
Design Research Quarterly Volume 2, Issue 3
Design Research Society DRS Digital Library Design Research Quarterly DRS Archive 1-7-2007 Design Research Quarterly Volume 2, Issue 3 Peter Storkerson Follow this and additional works at: https://dl.designresearchsociety.org/design-research-quarterly Recommended Citation Storkerson, Peter, "Design Research Quarterly Volume 2, Issue 3" (2007). Design Research Quarterly. 4. https://dl.designresearchsociety.org/design-research-quarterly/4 This Book is brought to you for free and open access by the DRS Archive at DRS Digital Library. It has been accepted for inclusion in Design Research Quarterly by an authorized administrator of DRS Digital Library. For more information, please contact [email protected]. V.2:3 July 2007 www.designresearchsociety.org Design Research Society ISSN 1752-8445 Designing the Interface Between Research, Learning and Teaching Linda drew University of the Arts, London Abstract Introduction Table of Contents: This paper’s central argument is that ‘Universities need to set as a mission teaching and research need to be re- goal the improvement of the nexus Articles: shaped so that they connect in a pro- between research and teaching.... The 1 Designing the Interface Between ductive way. This will require actions aim is to increase the circumstanc- Research, Learning and Teaching at a whole range of levels, from the es in which teaching and research Linda Drew individual teacher to the national have occasion to meet, and to provide system and include the international rewards not only for better teaching or 4 DRS 2008 Conference: communities of design scholars. To do for better research but also for demon- Undisciplined! this, we need to start at the level of the strations of the integration between individual teacher and course team. -
Reading List
EECS 101 Introduction to Computer Science Dinda, Spring, 2009 An Introduction to Computer Science For Everyone Reading List Note: You do not need to read or buy all of these. The syllabus and/or class web page describes the required readings and what books to buy. For readings that are not in the required books, I will either provide pointers to web documents or hand out copies in class. Books David Harel, Computers Ltd: What They Really Can’t Do, Oxford University Press, 2003. Fred Brooks, The Mythical Man-month: Essays on Software Engineering, 20th Anniversary Edition, Addison-Wesley, 1995. Joel Spolsky, Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity, APress, 2004. Most content is available for free from Spolsky’s Blog (see http://www.joelonsoftware.com) Paul Graham, Hackers and Painters, O’Reilly, 2004. See also Graham’s site: http://www.paulgraham.com/ Martin Davis, The Universal Computer: The Road from Leibniz to Turing, W.W. Norton and Company, 2000. Ted Nelson, Computer Lib/Dream Machines, 1974. This book is now very rare and very expensive, which is sad given how visionary it was. Simon Singh, The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography, Anchor, 2000. Douglas Hofstadter, Goedel, Escher, Bach: The Eternal Golden Braid, 20th Anniversary Edition, Basic Books, 1999. Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, 2nd Edition, Prentice Hall, 2003. -
Neri Oxman Material Ecology
ANTONELLI THE NERI OXMAN CALLS HER DESIGN APPROACH MATERIAL ECOLOGY— A PROCESS THAT DRAWS ON THE STRUCTURAL, SYSTEMIC, AND AESTHETIC WISDOM OF NATURE, DISTILLED AND DEPLOYED THROUGH COMPUTATION AND DIGITAL FABRICATION. THROUGHOUT HER TWENTY- ECOLOGY MATERIAL NERI OXMAN NERI OXMAN YEAR CAREER, SHE HAS BEEN A PIONEER OF NEW MATERIALS AND CONSTRUCTION PROCESSES, AND A CATALYST FOR DYNAMIC INTERDISCIPLINARY COLLABORATIONS. WITH THE MEDIATED MATTER MATERIAL GROUP, HER RESEARCH TEAM AT THE MIT MEDIA LAB, OXMAN HAS PURSUED RIGOROUS AND DARING EXPERIMENTATION THAT IS GROUNDED IN SCIENCE, PROPELLED BY VISIONARY THINKING, AND DISTINGUISHED BY FORMAL ELEGANCE. ECOLOGY PUBLISHED TO ACCOMPANY A MONOGRAPHIC EXHIBITION OF OXMAN’S WORK AT THE MUSEUM OF MODERN ART, NEW YORK, NERI OXMAN: MATERIAL ECOLOGY FEATURES ESSAYS BY PAOLA ANTONELLI AND CATALOGUE HADAS A. STEINER. ITS DESIGN, BY IRMA BOOM, PAYS HOMAGE TO STEWART BRAND’S LEGENDARY WHOLE EARTH CATALOG, WHICH CELEBRATED AND PROVIDED RESOURCES FOR A NEW ERA OF AWARENESS IN THE LATE 1960S. THIS VOLUME, IN TURN, HERALDS A NEW ERA OF ECOLOGICAL AWARENESS—ONE IN WHICH THE GENIUS OF NATURE CAN BE HARNESSED, AS OXMAN IS DOING, TO CREATE TOOLS FOR A BETTER FUTURE. Moma Neri Oxman Cover.indd 1-3 9.01.2020 14:24 THE NERI OXMAN MATERIAL ECOLOGY CATALOGUE PAOLA ANTONELLI WITH ANNA BURCKHARDT THE MUSEUM OF MODERN ART, NEW YORK × Silk Pavilion I Imaginary Beings: Doppelgänger Published in conjunction with the exhibition Published by Neri Oxman: Material Ecology, at The Museum of The Museum of Modern Art, New York Modern Art, New York, February 22–May 25, 2020. 11 West 53 Street CONTENTS Organized by Paola Antonelli, Senior Curator, New York, New York 10019 Department of Architecture and Design, www.moma.org and Director, Research and Development; and Anna Burckhardt, Curatorial Assistant, © 2020 The Museum of Modern Art, New York 9 FOREWORD Department of Architecture and Design Certain illustrations are covered by claims to copyright cited on page 177. -
Paul Graham Is an Essayist, Programmer, and Programming Language Designer
Paul Graham is an essayist, programmer, and programming language designer. The article below is one that he wrote about getting ideas for startups. http://www.paulgraham.com/ideas.html Ideas for Startups October 2005 (This essay is derived from a talk at the 2005 Startup School.) How do you get good ideas for startups? That's probably the number one question people ask me. I'd like to reply with another question: why do people think it's hard to come up with ideas for startups? That might seem a stupid thing to ask. Why do they think it's hard? If people can't do it, then it is hard, at least for them. Right? Well, maybe not. What people usually say is not that they can't think of ideas, but that they don't have any. That's not quite the same thing. It could be the reason they don't have any is that they haven't tried to generate them. I think this is often the case. I think people believe that coming up with ideas for startups is very hard-- that it must be very hard-- and so they don't try do to it. They assume ideas are like miracles: they either pop into your head or they don't. I also have a theory about why people think this. They overvalue ideas. They think creating a startup is just a matter of implementing some fabulous initial idea. And since a successful startup is worth millions of dollars, a good idea is therefore a million dollar idea. -
1. with Examples of Different Programming Languages Show How Programming Languages Are Organized Along the Given Rubrics: I
AGBOOLA ABIOLA CSC302 17/SCI01/007 COMPUTER SCIENCE ASSIGNMENT 1. With examples of different programming languages show how programming languages are organized along the given rubrics: i. Unstructured, structured, modular, object oriented, aspect oriented, activity oriented and event oriented programming requirement. ii. Based on domain requirements. iii. Based on requirements i and ii above. 2. Give brief preview of the evolution of programming languages in a chronological order. 3. Vividly distinguish between modular programming paradigm and object oriented programming paradigm. Answer 1i). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN John Backus 1957 COBOL CODASYL, ANSI, ISO 1959 JOSS Cliff Shaw, RAND 1963 BASIC John G. Kemeny, Thomas E. Kurtz 1964 TELCOMP BBN 1965 MUMPS Neil Pappalardo 1966 FOCAL Richard Merrill, DEC 1968 STRUCTURED LANGUAGE DEVELOPER DATE ALGOL 58 Friedrich L. Bauer, and co. 1958 ALGOL 60 Backus, Bauer and co. 1960 ABC CWI 1980 Ada United States Department of Defence 1980 Accent R NIS 1980 Action! Optimized Systems Software 1983 Alef Phil Winterbottom 1992 DASL Sun Micro-systems Laboratories 1999-2003 MODULAR LANGUAGE DEVELOPER DATE ALGOL W Niklaus Wirth, Tony Hoare 1966 APL Larry Breed, Dick Lathwell and co. 1966 ALGOL 68 A. Van Wijngaarden and co. 1968 AMOS BASIC FranÇois Lionet anConstantin Stiropoulos 1990 Alice ML Saarland University 2000 Agda Ulf Norell;Catarina coquand(1.0) 2007 Arc Paul Graham, Robert Morris and co. 2008 Bosque Mark Marron 2019 OBJECT-ORIENTED LANGUAGE DEVELOPER DATE C* Thinking Machine 1987 Actor Charles Duff 1988 Aldor Thomas J. Watson Research Center 1990 Amiga E Wouter van Oortmerssen 1993 Action Script Macromedia 1998 BeanShell JCP 1999 AngelScript Andreas Jönsson 2003 Boo Rodrigo B. -
A History of Clojure
A History of Clojure RICH HICKEY, Cognitect, Inc., USA Shepherd: Mira Mezini, Technische Universität Darmstadt, Germany Clojure was designed to be a general-purpose, practical functional language, suitable for use by professionals wherever its host language, e.g., Java, would be. Initially designed in 2005 and released in 2007, Clojure is a dialect of Lisp, but is not a direct descendant of any prior Lisp. It complements programming with pure functions of immutable data with concurrency-safe state management constructs that support writing correct multithreaded programs without the complexity of mutex locks. Clojure is intentionally hosted, in that it compiles to and runs on the runtime of another language, such as the JVM. This is more than an implementation strategy; numerous features ensure that programs written in Clojure can leverage and interoperate with the libraries of the host language directly and efficiently. In spite of combining two (at the time) rather unpopular ideas, functional programming and Lisp, Clojure has since seen adoption in industries as diverse as finance, climate science, retail, databases, analytics, publishing, healthcare, advertising and genomics, and by consultancies and startups worldwide, much to the career-altering surprise of its author. Most of the ideas in Clojure were not novel, but their combination puts Clojure in a unique spot in language design (functional, hosted, Lisp). This paper recounts the motivation behind the initial development of Clojure and the rationale for various design decisions and language constructs. It then covers its evolution subsequent to release and adoption. CCS Concepts: • Software and its engineering ! General programming languages; • Social and pro- fessional topics ! History of programming languages. -
Theory and Design in the First Digital
Theory and design in the first digital age Rivka Oxman, Faculty of Architecture and Town Planning Technion, Haifa 32000, Israel Digital design and its growing impact on design and production practices have resulted in the need for a re-examination of current design theories and methodologies in order to explain and guide future research and development. The present research postulates the requirements for a conceptual framework and theoretical basis of digital design; reviews the recent theoretical and historical background; and defines a generic schema of design characteristics through which the paradigmatic classes of digital design are formulated. The implication of this research for the formulation of ‘digital design thinking’ is presented and discussed. Ó 2005 Elsevier Ltd. All rights reserved. Keywords: digital design, design theory, design methodology, design thinking he evolution of digital design as a unique field of design endeavor, motivated by its own body of theoretical sources, promulgated by Ta culture of discourse, supported by new technologies, and pro- ducing unique classes of designs is a phenomenon that has been rapidly crystallizing in the past decade. Among the significances of digital design for the design theoretical community is the way that this form of highly mediated design is beginning to evolve unique design methodologies, unique forms of design interaction and unique formal content. Due to the large body of diverse publication that has accompanied these devel- opments the problem of encompassing the intellectual domain of digital design culture is, in itself, a difficult mandate. Beyond this problem of diversity, there are other, more theoretical, challenges to our interpreta- tion and understanding of digital design. -
Theories and Models of Parametric Design Thinking
Thinking difference: Theories and models of parametric design thinking Rivka Oxman, Faculty of Architecture and Town Planning, Technion Israel Institute of Technology, Haifa, 32000, Israel The paper examines the uniqueness of seminal parametric design concepts, and their impact on models of parametric design thinking (PDT). The continuity and change within the evolution of design thinking is explored through review of key texts and theoretical concepts from early cognitive models up to current models of parametric design thinking. It is proposed that the seminal role for parametric schema, as a strategic medium of parametric design thinking, is formulated at the intersection of three bodies of knowledge: cognitive models of typological and topological design in architecture; process models of digital design; and tectonic order of material fabrication design (MFD). Differentiation is introduced as a key design strategy of PDT and is demonstrated through classification of prominent case studies. Ó 2017 Elsevier Ltd. All rights reserved. Keywords: computational models, parametric design, design cognition, design knowledge, parametric design thinking eyond being another tool for modeling complex forms, parametric design is emerging as a unique and distinctive model of design. BBoth research and praxis in parametric design are influencing the emergence of parametric design theories that are currently undergoing a re- formulation and an epistemological shift. In parallel, the development of cur- rent tools and practices of parametric design are beginning to impact forms of parametric design thinking (PDT). Current parametric design systems are adapting to changing context under the impact of a new generation of script- ing languages and techniques (Burry, 2011), relational topological schema, associative geometries, and re-editing processes (Woodbury, 2010; Jabi, 2015) and computational process models of digital design (Oxman, 2006). -
Materializing Design: the Implications of Rapid Prototyping in Digital Design
Materializing design: the implications of rapid prototyping in digital design Larry Sass, Department of Architecture, Massachusetts Institute of Technology, 77 Massachusetts Avenue, Cambridge, MA 02139, USA Rivka Oxman, Faculty of Architecture and Town Planning, Technion, Israel Institute of Technology, 32000 Haifa, Israel Rapid prototyping (RP) today is absorbed into practice and is being recognized as a significant technology for design. This paper attempts to formulate key aspects of the design methodological framework that are coalescing with RP’s capability to build artifacts as part of the creative design process. In doing so, it attempts to formulate questions and issues of RP as a design medium that supports the full spectrum of digital design as a paperless process. These issues have been the resultant of early experimental and hands-on involvement with RP technologies in research and educational environments. In this paper, a DDF method (Digital Design Fabrication) is introduced. The DDF method is a two-stage process of working that integrates generative computing and RP into one process. Together they support a process to generate diverse candidate artifacts as solutions to design problems. Through a presentation of issues, procedural observations, and research findings, a range of potential applications of the DDF model are defined and presented. It demonstrates a process of design situated between conceptual design and real-world construction. Ó 2005 Elsevier Ltd. All rights reserved. Keywords: digital process, rapid prototyping hysical modeling is one way through which designers realize mental concepts (Cuff, 1992). As a design representational medi- Pum, the model making process can lead to new forms beyond the original concept.