A Taxonomy of Programming Environments and Languages for Novice Programmers

Total Page:16

File Type:pdf, Size:1020Kb

A Taxonomy of Programming Environments and Languages for Novice Programmers Lowering the Barriers to Programming: A Taxonomy of Programming Environments and Languages for Novice Programmers Caitlin Kelleher and Randy Pausch Carnegie Mellon University Since the early 1960’s, researchers have built a number of programming languages and environments with the intention of making programming accessible to a larger number of people. This article presents a taxonomy of languages and environments designed to make programming more accessible to novice programmers of all ages. The systems are organized by their primary goal, either to teach programming or to use programming to empower their users, and then, by each system’s authors’ approach, to making learning to program easier for novice programmers. The article explains all categories in the taxonomy, provides a brief description of the systems in each category, and suggests some avenues for future work in novice programming environments and languages. Categories and Subject Descriptors: H.5.2 [Information Interfaces and Presentation]: User Interfaces—User-centered design; Interaction styles; Theory and methods; K.3 [Computing Milieux]: Computers and Education General Terms: Design, Languages, Human Factors Additional Key Words and Phrases: Human-computer interaction, computer Science education, literacy, learning, problem solving 1. INTRODUCTION programmers. Since the early 1960’s, re- searchers have built a number of program- Learning to program can be very difficult ming languages and environments with for beginners of all ages. In addition to the intention of making programming ac- the challenges of learning to form struc- cessible to a larger number of people. This tured solutions to problems and under- article presents a taxonomy of these lan- standing how programs are executed, be- guages and environments and discusses ginning programmers also have to learn a the challenges they address. rigid syntax and rigid commands that may For the purposes of this article, we de- have seemingly arbitrary or perhaps con- fine programming as the act of assem- fusing names. Tackling all of these chal- bling a set of symbols representing com- lenges simultaneously can be overwhelm- putational actions. Using these symbols, ing and often discouraging for beginning users can express their intentions to the This work was supported by a National Science Foundation graduate fellowship and grants from DARPA, NSF, NASA, and ONR. Authors’ address: Department of Computer Science, Carnegie Mellon University, 5000 Forbes Ave., Pittsburgh, PA 15213; email: [email protected]. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 1515 Broadway, New York, NY 10036 USA, fax: +1 (212) 869-0481, or [email protected]. c 2005 ACM 0360-0300/05/0600-0083 $5.00 ACM Computing Surveys, Vol. 37, No. 2, June 2005, pp. 83–137. 84 C. Kelleher and R. Pausch computer and, given a set of symbols, a ond, by the primary aspect of program- user who understands the symbols can ming that the system attempts to simplify. predict the behavior of the computer. This Each system appears in the taxonomy only definition excludes many of the “Program- once. However, many of the systems in the ming by Demonstration” systems [Cypher taxonomy have built on the ideas of earlier 1993] where the computer observes the systems. Consequently, a system that was user’s actions and uses internal heuris- influenced by natural language program- tics to generate a program for the user. In ming may not be classified with other nat- these systems, the user cannot accurately ural language systems if supporting nat- predict what program will be produced. ural language programming was not the In this article, we describe the high-level systems’ primary contribution. organization of our taxonomy, present the taxonomy, and briefly describe all of the 3. TEACHING SYSTEMS categories and systems within those cat- egories. We then present two additional These systems were designed with the tables: a table of the most influential goal of helping people learn to program. systems and a system comparison table. Most of the systems in this category are (or The system comparison table compares include) simple programming tools that all systems in our taxonomy based on provide novice programmers with expo- 1) what programming constructs they sup- sure to some of the fundamental aspects port, and 2) their approaches to making of the programming process. After gain- programming more accessible to novice ing experience with a teaching system, programmers. Finally, we summarize the students are expected to move to more approaches and discuss some possible general-purpose, commercially available avenues for future work in this area. languages. A few systems attempt to pro- Appendix A contains a complete list of the vide support in learning a more general systems included in the taxonomy,their lo- language from the start. Because students cations within the taxonomy, and pointers interacting with teaching systems are ex- to associated Web pages. pected to transition to general-purpose languages, many teaching systems are in- tentionally similar to general-purpose lan- 2. TAXONOMY guages. For example, knowing that a stu- In creating a programming environment dent will eventually have to do “for loops” for novices, one of the first questions in a Java-style, the designers of teach- that must be answered is why novices ing languages are less likely to intro- need to program. There are a variety of duce a different style of looping. Because possible motivations for learning to pro- general-purpose languages are not always gram: to pursue programming as a ca- designed with beginners in mind, the sys- reer path, to learn how to solve problems tems in this category are juggling two pos- in a structured and logical way, to build sibly conflicting goals: making it easier software customized for personal use, to for beginners to get started programming, explore ideas in other subject areas, and and giving students a background that so on. The systems in this taxonomy (see makes it easy for them to transition from Figure 1) fall into two large groups: sys- the teaching system to a general-purpose tems that attempt to teach programming language. for its own sake and those that attempt to The teaching systems focus on several support the use of programming in pursuit areas that can be difficult for novice pro- of another goal such as teaching cognitive grammers. The majority of the systems modeling to psychology students. Because in this category address the mechanics these two goals place very different con- of programming: both expressing inten- straints on systems, the taxonomy is or- tions to the computer and understand- ganized first by the system goals, either ing the actions of the computer [Norman teaching or using programming, and, sec- 1986]. Other systems attempt to place ACM Computing Surveys, Vol. 37, No. 2, June 2005. Lowering the Barriers to Programming 85 Fig. 1. Novice programming systems and languages taxonomy. ACM Computing Surveys, Vol. 37, No. 2, June 2005. 86 C. Kelleher and R. Pausch Fig. 1.(Continued ). programming in a context that is acces- structions to the computer (e.g., syntax), sible and motivating to a wider audi- how to organize these instructions (e.g., ence of people either by providing concrete programming style), and how the com- reasons for programming or by support- puter executes these statements. Systems ing novice programmers working together in this category attempt to make it easier and learning from one another. for beginners to learn one of these three skills. 3.1. Mechanics of Programming The systems in this category are designed 3.1.1. Expressing Programs. In most around the hypothesis that the primary general-purpose languages, users create barrier in learning to program lies in the programs by typing sentences into a text mechanics of writing programs. To suc- editor. Beginning programmers often cessfully write a program, users must un- have trouble translating their intentions derstand several topics: how to express in- into syntactically correct statements that ACM Computing Surveys, Vol. 37, No. 2, June 2005. Lowering the Barriers to Programming 87 the computer can understand. The sys- tems in this category explore two possible avenues for making this process easier for beginning programmers: improve the language so that beginners can more Fig. 2.Afor loop to compute the sum of the numbers easily learn it or find alternate ways from 1 to 10 written in Fortran and Basic. for beginners to communicate their instructions to the computer. BASIC: DARTMOUTH COLLEGE, 1963 [Kurtz 1981]. Basic was designed to Simplify Entering Code. Many teach Dartmouth’s non-science students general-purpose languages have been in- about computing through programming. fluenced by the need for sufficient power to Fortran and Algol, the commonly used tackle arbitrary programming tasks and a languages at the time, were both large desire to make the programming language and complex. Kemeny and Kurtz believed easier to implement, making the result- that the students would “balk at the ing languages unnecessarily difficult for seemingly pointless detail” [Kurtz 1981]. beginning programmers. The systems in After considering using subsets of Fortran this category examine three approaches to or Algol, Kemeny and Kurtz agreed they making languages more approachable for would have to create their own lan- beginning programmers: 1) simplifying guage.
Recommended publications
  • Parameters of Palo.Exe
    Parameters of Palo.exe The Palo parameters have a short and a long form. On the command line, the short form has one dash (-) in front; the long form has two dashes (- -) in front. Examples: palo -? / palo – -help. Palo.exe gets these parameters as command line arguments and/or via the palo.ini file. Please see Order of command execution at the end of this document. In the file …\Jedox Suite\olap\data\palo.ini.sample you can find descriptions and examples of how to use parameters in the palo.ini. Short Long form Argument(s) Description / Example(s) Default value form ? help Displays the parameters of palo.exe. False Only for the command line. On/off switch. a admin <address> <port> Http interface with server browser and online documentation. An address can be a server name, an internet address or “” for all server internet addresses. Port is a number: admin 192.168.1.2 7777 admin localhost 7770 admin “” 7778 A auto-load Loads all databases on server start into memory True which are defined in the palo.csv. On/off switch. b cache-barrier <max number Sets the max number of cells to store in each cube 100000000 of cells to store cache. in each cube cache> cache-barrier 150000000 cache-barrier 0 (sets cache-barrier to 0). B auto-commit Commits all changes on server shutdown. True On/off switch. Copyright © Jedox AG c crypt Turns on encrypting of the database files. Newly False saved files are encrypted if this is set using the Blowfish algorithm. On/off switch.
    [Show full text]
  • Types and Programming Languages by Benjamin C
    < Free Open Study > . .Types and Programming Languages by Benjamin C. Pierce ISBN:0262162091 The MIT Press © 2002 (623 pages) This thorough type-systems reference examines theory, pragmatics, implementation, and more Table of Contents Types and Programming Languages Preface Chapter 1 - Introduction Chapter 2 - Mathematical Preliminaries Part I - Untyped Systems Chapter 3 - Untyped Arithmetic Expressions Chapter 4 - An ML Implementation of Arithmetic Expressions Chapter 5 - The Untyped Lambda-Calculus Chapter 6 - Nameless Representation of Terms Chapter 7 - An ML Implementation of the Lambda-Calculus Part II - Simple Types Chapter 8 - Typed Arithmetic Expressions Chapter 9 - Simply Typed Lambda-Calculus Chapter 10 - An ML Implementation of Simple Types Chapter 11 - Simple Extensions Chapter 12 - Normalization Chapter 13 - References Chapter 14 - Exceptions Part III - Subtyping Chapter 15 - Subtyping Chapter 16 - Metatheory of Subtyping Chapter 17 - An ML Implementation of Subtyping Chapter 18 - Case Study: Imperative Objects Chapter 19 - Case Study: Featherweight Java Part IV - Recursive Types Chapter 20 - Recursive Types Chapter 21 - Metatheory of Recursive Types Part V - Polymorphism Chapter 22 - Type Reconstruction Chapter 23 - Universal Types Chapter 24 - Existential Types Chapter 25 - An ML Implementation of System F Chapter 26 - Bounded Quantification Chapter 27 - Case Study: Imperative Objects, Redux Chapter 28 - Metatheory of Bounded Quantification Part VI - Higher-Order Systems Chapter 29 - Type Operators and Kinding Chapter 30 - Higher-Order Polymorphism Chapter 31 - Higher-Order Subtyping Chapter 32 - Case Study: Purely Functional Objects Part VII - Appendices Appendix A - Solutions to Selected Exercises Appendix B - Notational Conventions References Index List of Figures < Free Open Study > < Free Open Study > Back Cover A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute.
    [Show full text]
  • The Role of Multidimensional Databases in Modern Organizations
    Vol.IV (LXVII) 95 - 102 Economic Insights – Trends and Challenges No. 2/2015 The Role of Multidimensional Databases in Modern Organizations Ana Tănăsescu Faculty of Economic Sciences, Petroleum-Gas University of Ploieşti, Bd. Bucureşti 39, 100680, Ploieşti, Romania e-mail: [email protected] Abstract The relational databases represent an ineffective data storage method when organizations manipulate a large amount of heterogeneous data and must realize complex analyses on these data. Thus, a new concept is required, the multidimensional database concept. In this paper the multidimensional database concept will be presented, its characteristics will be described, a comparative analysis between multidimensional databases and relational databases will be realized and a multidimensional database will be presented. This database was designed using Palo for Excel tool and can be used in order to analyse the academic staff research activity from a faculty. Keywords: multidimensional databases; multidimensional modelling; relational databases JEL Classification: C63; C81 Introduction The large amount of heterogeneous data accumulated by organizations represents one of the reasons why organizations need a technology that allows them to quickly achieve complex analyses on these data. Because the relational databases are ineffective from this point of view, a new concept is required, the multidimensional database concept. Annually, a large volume of information regarding the teaching and research activity of the academic staff from faculty departments is accumulated. The departments’ managers as well as the teaching process and research activity responsible persons must, periodically, elaborate reports, synthesizing the information accumulated in different time periods. A multidimensional database where this information will be stored is required to be designed in order to streamline their activity.
    [Show full text]
  • A High-Level Programming Language for Multimedia Streaming
    Liquidsoap: a High-Level Programming Language for Multimedia Streaming David Baelde1, Romain Beauxis2, and Samuel Mimram3 1 University of Minnesota, USA 2 Department of Mathematics, Tulane University, USA 3 CEA LIST – LMeASI, France Abstract. Generating multimedia streams, such as in a netradio, is a task which is complex and difficult to adapt to every users’ needs. We introduce a novel approach in order to achieve it, based on a dedi- cated high-level functional programming language, called Liquidsoap, for generating, manipulating and broadcasting multimedia streams. Unlike traditional approaches, which are based on configuration files or static graphical interfaces, it also allows the user to build complex and highly customized systems. This language is based on a model for streams and contains operators and constructions, which make it adapted to the gen- eration of streams. The interpreter of the language also ensures many properties concerning the good execution of the stream generation. The widespread adoption of broadband internet in the last decades has changed a lot our way of producing and consuming information. Classical devices from the analog era, such as television or radio broadcasting devices have been rapidly adapted to the digital world in order to benefit from the new technologies available. While analog devices were mostly based on hardware implementations, their digital counterparts often consist in software implementations, which po- tentially offers much more flexibility and modularity in their design. However, there is still much progress to be done to unleash this potential in many ar- eas where software implementations remain pretty much as hard-wired as their digital counterparts.
    [Show full text]
  • Managing Files with Sterling Connect:Direct File Agent 1.4.0.1
    Managing Files with Sterling Connect:Direct File Agent 1.4.0.1 IBM Contents Managing Files with Sterling Connect:Direct File Agent.......................................... 1 Sterling Connect:Direct File Agent Overview.............................................................................................. 1 How to Run Sterling Connect:Direct File Agent.......................................................................................... 2 Sterling Connect:Direct File Agent Logging.................................................................................................3 Sterling Connect:Direct File Agent Configuration Planning........................................................................ 3 Sterling Connect:Direct File Agent Worksheet ...........................................................................................4 Considerations for a Large Number of Watch Directories.......................................................................... 6 Modifying MaxFileSize............................................................................................................................ 6 Modifying MaxBackupIndex...................................................................................................................6 Considerations for a Large Number of Files in a Watch Directory..............................................................7 Sterling Connect:Direct File Agent Configuration Scenarios...................................................................... 7 Scenario:Detecting
    [Show full text]
  • The Sitcom | Arts & Entertainment in Spokane Valley, WA | Mainvest
    3/18/2021 Invest in Selling Seattle- The Sitcom | Arts & Entertainment in Spokane Valley, WA | Mainvest ls dashboard | Print to text | View investment opportunities on Mainvest Edit Profile Watch this investment opportunity Share Selling Seattle- The Sitcom Arts & Entertainment 17220 E Mansfield Ave Spokane Valley, WA 99016 Get directions Coming Soon View Website Profile Data Room Discussion This is a preview. It will become public when you start accepting investment. THE PITCH Selling Seattle- The Sitcom is seeking investment to produce one or two episodes. Generating Revenue This is a preview. It will become public when you start accepting investment. Early Investor Bonus: The investment multiple is increased to 20 for the next $200,000 invested. This is a preview. It will become public when you start accepting investment. SELLING SEATTLE IS? Play 0000 0107 Mute Settings Enter fullscreen Play Who or What is Michael? This is a preview. It will become public when you start accepting investment. OUR STORY "Selling Seattle" is a smart broad comedy in the vein of "Seinfeld" and "Arrested Development". We are working with the video production company North by Northwest to produce the pilot and the second episode in Spokane, Washington this spring. We plan to stream episodes on the internet with commercials in a thirty-minute format. With cash flow from the pilot and second episode we will produce four to six episodes this fall and at least twelve episodes next year. The money raised through Mainvest will be used to produce the first one or two episodes of Selling Seattle and for advertising costs, office expenses and an income for Jim McGuffin not to exceed $15,000 per episode.
    [Show full text]
  • Computational Thinking Patterns
    Computational Thinking Patterns Andri Ioannidou, Agentsheets Inc., Boulder, CO Vicki Bennett, Communication Department, University of Colorado at Boulder Alexander Repenning, Kyu Han Koh, Ashok Basawapatna, Computer Science Department, University of Colorado at Boulder Paper presented at the 2011 Annual Meeting of the American Educational Research Association (AERA) in the Division C - Learning and Instruction / Section 7: Technology Research symposium “Merging Human Creativity and the Power of Technology: Computational Thinking in the K-12 Classroom” Publication Date: April 8, 2011 Objectives The iDREAMS project aims to reinvent Computer Science education in K-12 schools, by using game design and computational science for motivating and educating students through an approach we call Scalable Game Design, starting at the middle school level. In this paper we discuss the use of Computational Thinking Patterns as the basis for our Scalable Game Design curriculum and professional development and present results from measuring student learning outcomes using our unique Computational Thinking Pattern Analysis. Background: Scalable Game Design project The iDREAMS project1 (Integrative Design-based Reform-oriented Educational Approach for Motivating Students), funded by the National Science Foundation under the ITEST program, investigates the potential impact on the IT workforce by stimulating interest in computer science at the middle school level through an approach called Scalable Game Design (Repenning & Ioannidou, 2008; Repenning, Ioannidou, et al., 2010; Repenning, Webb, & Ioannidou, 2010). The main goal of this project is to increase opportunities for computer science education in the regular curriculum and broaden participation, especially of women and underrepresented communities, by motivating and educating students about computer science through game design and computational science.
    [Show full text]
  • The Cedar Programming Environment: a Midterm Report and Examination
    The Cedar Programming Environment: A Midterm Report and Examination Warren Teitelman The Cedar Programming Environment: A Midterm Report and Examination Warren Teitelman t CSL-83-11 June 1984 [P83-00012] © Copyright 1984 Xerox Corporation. All rights reserved. CR Categories and Subject Descriptors: D.2_6 [Software Engineering]: Programming environments. Additional Keywords and Phrases: integrated programming environment, experimental programming, display oriented user interface, strongly typed programming language environment, personal computing. t The author's present address is: Sun Microsystems, Inc., 2550 Garcia Avenue, Mountain View, Ca. 94043. The work described here was performed while employed by Xerox Corporation. XEROX Xerox Corporation Palo Alto Research Center 3333 Coyote Hill Road Palo Alto, California 94304 1 Abstract: This collection of papers comprises a report on Cedar, a state-of-the-art programming system. Cedar combines in a single integrated environment: high-quality graphics, a sophisticated editor and document preparation facility, and a variety of tools for the programmer to use in the construction and debugging of his programs. The Cedar Programming Language is a strongly-typed, compiler-oriented language of the Pascal family. What is especially interesting about the Ce~ar project is that it is one of the few examples where an interactive, experimental programming environment has been built for this kind of language. In the past, such environments have been confined to dynamically typed languages like Lisp and Smalltalk. The first paper, "The Roots of Cedar," describes the conditions in 1978 in the Xerox Palo Alto Research Center's Computer Science Laboratory that led us to embark on the Cedar project and helped to define its objectives and goals.
    [Show full text]
  • Tools, Languages, and Environments Used in Primary and Secondary Computing Education
    Session: Computing in Schools I ITiCSE ’20, June 15–19, 2020, Trondheim, Norway Tools, Languages, and Environments Used in Primary and Secondary Computing Education Monica M. McGill Adrienne Decker Knox College University at Buffalo CSEdResearch.org Buffalo, NY, USA Galesburg, IL, USA [email protected] [email protected] ABSTRACT an increased interest in the tools, languages, and environments 1 With the advent of teaching primary and secondary computing (TLEs) used to teach K-12 students and teachers [2, 7, 19]. These education, tools, languages, and environments (TLEs) are important pedagogical support systems are not unlike many other manipula- pedagogical support systems for students and teachers. While there tives and resources used throughout education and are recognized are a number of resources available for teaching K-12 students and by organizations as a critical part of learning and understanding teachers, there is little synthesis of the data with respect to usage computer science [2, 7]. and adoption rates for various TLEs. Using data extracted from TLEs at the post-secondary level have been of great interest 510 articles related to K-12 education, we conducted an analysis to the computing education research community, though prior to using descriptive statistics to determine what TLEs in K-12 are 2007, interest in computing education at the primary and secondary most frequently studied by researchers. We found 193 TLEs being levels did not appear frequently in documented discussions (via the used in research studies and experience reports, then differentiate ACM SIGCSE-Members listserv) [4]. Further, there are only limited between these two types of data and between students and teacher references in the literature to the broader context of TLEs at the professional development.
    [Show full text]
  • Open Source As an Alternative to Commercial Software
    OPEN-SOURCE AS AN ALTERNATIVE TO COMMERCIAL SOFTWARE Final Report 583 Prepared by: Sean Coleman 2401 E Rio Salado Pkwy. #1179 Tempe, Arizona 85281 March 2009 Prepared for: Arizona Department of Transportation 206 South 17th Avenue Phoenix, Arizona 85007 in cooperation with U.S. Department of Transportation Federal Highway Administration The contents of this report reflect the views of the authors who are responsible for the facts and the accuracy of the data presented herein. The contents do not necessarily reflect the official views or policies of the Arizona Department of Transportation or the Federal Highway Administration. This report does not constitute a standard, specification, or regulation. Trade or manufacturers’ names which may appear herein are cited only because they are considered essential to the objectives of the report. The U.S. Government and the State of Arizona do not endorse products or manufacturers. TECHNICAL REPORT DOCUMENTATION PAGE 1. Report No. 2. Government Accession No. 3. Recipient’s Catalog No. FHWA-AZ-09-583 4. Title and Subtitle 5. Report Date: March, 2009 Open-Source as an Alternative to Commercial Software 6. Performing Organization Code 7. Authors: 8. Performing Organization Sean Coleman Report No. 9. Performing Organization Name and Address 10. Work Unit No. Sean Coleman 11. Contract or Grant No. 2401 E Rio Salado Pkwy, #1179 SPR-583 Tempe, AZ 85281 12. Sponsoring Agency Name and Address 13. Type of Report & Period Arizona Department of Transportation Covered 206 S. 17th Ave. Phoenix, AZ 85007 14. Sponsoring Agency Code Project Managers: Frank DiBugnara, John Semmens, and Steve Rost 15. Supplementary Notes 16.
    [Show full text]
  • An Investigation and Usability Study of Novice
    SIMBUILDER: AN INVESTIGATION AND USABILITY STUDY OF NOVICE PROGRAMMING TECHNIQUES Except where reference is made to the work of others, the work described in this thesis is my own or was done in collaboration with my advisory committee. This thesis does not include proprietary or classified information. _______________________________ Sumitha Kanakadoss Certificate of Approval: _______________________________ _______________________________ Juan E. Gilbert Cheryl D. Seals, Chair Assistant Professor Assistant Professor Computer Science and Software Computer Science and Software Engineering Engineering _______________________________ ______________________________ N. Hari Narayanan Stephen L. McFarland Associate Professor Dean Computer Science and Software Graduate School Engineering SIMBUILDER: AN INVESTIGATION AND USABILITY STUDY OF NOVICE PROGRAMMING TECHNIQUES Sumitha Kanakadoss A Thesis Submitted to the Graduate Faculty of Auburn University in Partial Fulfillment of the Requirements for the Degree of Master of Science Auburn, Alabama December 16, 2005 SIMBUILDER: AN INVESTIGATION AND USABILITY STUDY OF NOVICE PROGRAMMING TECHNIQUES Sumitha Kanakadoss Permission is granted to Auburn University to make copies of this thesis at its discretion, upon request of individuals or institutions and at their expense. The author reserves all publication rights. ______________________________ Signature of Author ______________________________ Date of Graduation iii THESIS ABSTRACT SIMBUILDER: AN INVESTIGATION AND USABILITY STUDY OF NOVICE PROGRAMMING TECHNIQUES Sumitha Kanakadoss Master of Science, December 16, 2005 (B.E., University of Madras, Madras, India, 2003) 125 Typed Pages Directed by Cheryl D. Seals In many existing programming languages, novices always find it difficult to transform their mental plan to terms compatible with the computer. By analyzing the ways users think to solve their daily problems and designing programming languages accordingly, would help novices to overcome this transformation barrier.
    [Show full text]
  • KIMONO, a Descriptive Agent-Based Modelling Method for the Exploration of Complex Systems: an Application to Epidemiology
    KIMONO, a descriptive agent-based modelling method for the exploration of complex systems: an application to epidemiology. Edouard Amouroux To cite this version: Edouard Amouroux. KIMONO, a descriptive agent-based modelling method for the exploration of complex systems: an application to epidemiology.. Modeling and Simulation. Université Pierre et Marie Curie - Paris VI, 2011. English. tel-00630779 HAL Id: tel-00630779 https://tel.archives-ouvertes.fr/tel-00630779 Submitted on 5 Dec 2011 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THESE DE DOCTORAT DE L’UNIVERSITE PIERRE ET MARIE CURIE Spécialité: Informatique (Ecole doctorale: EDITE) Présentée par Edouard AMOUROUX Pour obtenir le grade de DOCTEUR de l’UNIVERSITÉ PIERRE ET MARIE CURIE Sujet de la thèse : KIMONO: une méthode de modélisation descriptive centrée agent pour l'explication des systèmes complexes, une application en épidémiologie soutenue le 30/09/2011 devant le jury composé de : M. Directeur de thèse: Alexis Drogoul, Directeur de Recherche, IRD - UMMISCO / IFI - MSI Rapporteurs: David
    [Show full text]