Visual Languages (Outline)

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Prepared by Arch PhD Antonino Di Raimo UNIVERSITETI POLIS SHKOLLA NDERKOMBETARE E ARKITEKTURES DHE POLITIKAVE URBANE Write the shape! (An introduction.
Programming Paradigms and languages
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2 - Problem Solving
EEE 243B Applied Computer Programming 11 - Flowcharts §Appendix C Sylvain P. Leblanc.
© Franz Kurfess Project Topics 1 Topics for Master’s Projects and Theses -- Winter Franz J. Kurfess Computer Science Department Cal Poly.
Chapter 2: Input, Processing, and Output
CSE S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
CSE 341 S. Tanimoto Vis Lang - 1 Programming Languages/Systems A set of possible computations (usually infinite) A set of primitive operations: e.g., arithmetic.
CSE S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation.
Lesson-21Process Modeling Define systems modeling and differentiate between logical and physical system models. Define process modeling and explain its.
CSE S. Tanimoto Introduction 1 CSE 341 Programming Languages Autumn 2001 Instructor: Steve Tanimoto Teaching assistants:
Computer Programming 12 Lesson 2 - Organizing the Problem By Dan Lunney.
PROCESS MODELING Chapter 8 - Process Modeling
CS 0004 –Lecture 8 Jan 24, 2011 Roxana Gheorghiu.
Chapter 11 An Introduction to Visual Basic 2008 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
Chapter 11 An Introduction to Visual Basic 2005 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
Editors And Debugging Systems Other System Software Text Editors Interactive Debugging Systems UNIT 5 S.Sharmili Priyadarsini.
1 April 8, 1998Marat Boshernitsan In the beginning there was LOGO... A dialect of Lisp, developed in 1960 by Daniel Bobrow, Wallace Feurzeig and Seymour.
1 Muhammed Al-MulhemVisual Languages - 2 Visual Programming Languages ICS 539 Diagrams ICS Department KFUPM Sept. 1, 2007.
Computer Programming CONTENTS Introduction to Operating Systems Introduction to programming languages Introduction to perl programming language Programming.
CSE S. Tanimoto Visual Languages - 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STARTING OUT WITH Python Python First Edition by Tony Gaddis Chapter 2 Input,
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Chapter 7: Designing solutions to problems OCR Computing for A Level © Hodder Education 2009.
CSCI-235 Micro-Computer Applications
Computer Programming.
Architecture Concept Documents
Chapter 2: Input, Processing, and Output
presentation is a powerful tool
Unified Modeling Language
Representation, Syntax, Paradigms, Types
System Design.
Algorithms An algorithm is a sequence of steps written in the form of English phrases that specific the tasks that are performed while solving the problem.It.
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
Chapter 1 - An Introduction to Computers and Problem Solving
Introduction to Computer Programming
Online Shopping APP.
Design AH Computing.
Multimedia: making it Work
Design, prototyping and construction
Computer Programming LAB 1 Tejalal Choudhary Asst. Prof, CSE Dept.
Programming Languages
Representation, Syntax, Paradigms, Types
Chapter 2- Visual Basic Schneider
What is Concurrent Programming?
CSE 341 Programming Languages Autumn 2001
CSE 341 Programming Languages Autumn 2003
CSE 341 Programming Languages Autumn 2002
Chapter 2- Visual Basic Schneider
Representation, Syntax, Paradigms, Types
Introduction to Software Planning and Design
CSE S. Tanimoto Paradigms
What is Concurrent Programming?
How Are Algorithms Developed?
CSE 341 Programming Languages Spring 2003
Visual Languages (Outline)
Members: Keshava Shiva Sanjeeve Kareena
CSE 341 Programming Languages Autumn 2003
Representation, Syntax, Paradigms, Types
CMSC 345 Programming.
Social and Ethical Issues in Programming Language Design
Chapter 2: Input, Processing, and Output
Design, prototyping and construction
Programming Logic and Design Eighth Edition
Presentation transcript:

Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation Visual Languages for Computer-based Human Communication Programming by Demonstration CSE 341 -- S. Tanimoto Visual Languages

CSE 341 -- S. Tanimoto Visual Languages

CSE 341 -- S. Tanimoto Visual Languages Motivation Programming is difficult because it’s hard to imagine what the state of the program is. Programming is difficult because language constructs are cryptic. Most PL concepts were developed in the text-only days, before graphical interfaces were widespread. Human visual perception is capable of high-bandwidth input if images, rather than text, are used. Visual languages can sometimes be learned more quickly. CSE 341 -- S. Tanimoto Visual Languages

CSE 341 -- S. Tanimoto Visual Languages Control Flow Diagrams Flow charts: originally used only for specification and documentation later, executable flow charts were developed. Read n product = 1 N n > 1 Y Print product product *= n n-- CSE 341 -- S. Tanimoto Visual Languages

CSE 341 -- S. Tanimoto Visual Languages Data Flow Diagrams Captures potential parallelism Usually requires scheduling Allows cueing of types by line attributes sin sqr Input double + Output cos * 5 Input image To Black&White Output image CSE 341 -- S. Tanimoto Visual Languages

CSE 341 -- S. Tanimoto Visual Languages Iconic Programming Icons can sometimes be learned more quickly and remembered more easily than textual names. An icon can represent an object or an operation. “Icons on strings” -- replacement of the boxes in flowcharts and data flow diagrams by icons Scripts composed of “iconic sentences” Example: Pictorial Language for Animation by Youngsters (PLAY) -- Runyan & Tanimoto, 1985. CSE 341 -- S. Tanimoto Visual Languages

CSE 341 -- S. Tanimoto Visual Languages

CSE 341 -- S. Tanimoto Visual Languages

Iconic Representation Icons can sometimes be learned more quickly and remembered more easily than textual names. Icon design involves metaphor -- use of analogy. Stylization -- graphical simplification and exaggeration. Decontextualization -- the trashcan is not in the kitchen. Abstract concepts are difficult to represent. Composing new images takes longer than new names. CSE 341 -- S. Tanimoto Visual Languages

CSE 341 -- S. Tanimoto Visual Languages

Example Iconic Language Vedo-Vedi: An iconic language for computer-based human communication. Prototype supports multi-lingual communication Meaning is expressed in an animation, with subtitles developed by S. Tanimoto & C. Bernardelli, 1998. CSE 341 -- S. Tanimoto Visual Languages

Programming by Demonstration The user performs a sample computation. The system may generalize the sequence. Requires an interface in which users can manipulate data directly. Controlling the generalization process is tricky. CSE 341 -- S. Tanimoto Visual Languages

CSE 341 -- S. Tanimoto Visual Languages Example Systems Gael Curry: Programming by Abstract Demonstration -- UW, 1977. Stagecast Creator: A simulation environment using programming by demonstration and rule-based simulation. (based on Cocoa & KidSim). Avail. at www.stagecast.com. ToonTalk: A robot programming environment supporting concurrent computation and complex control structures via a visual programming-by-demonstration method. (developed by Ken Kahn, available at www.toontalk.com). CSE 341 -- S. Tanimoto Visual Languages

Example Commercial Software Development Language Topological sort algorithm in Prograph. Prograph, by Pictorius, Inc. of Halifax, N.S., Canada. (uses data-flow paradigm) CSE 341 -- S. Tanimoto Visual Languages

Issues with Visual Languages Scaling up: Diagrams can turn into “spaghetti”. Editability: Programming by demonstration avoids an editable representation. Naming without text: iconic naming conventions tend not to be as natural for programmers as textual ones. Visual representations for complex concepts: Metaphors are more difficult to design and understand for abstract notions than simple ones. CSE 341 -- S. Tanimoto Visual Languages