Andrew J. Ko & Brad A. Myers Carnegie Mellon University

Slides:



Advertisements
Similar presentations
Programming Languages By Stefan Kyriacou. Procedural Language Procedural (also known as imperative language) language is a programming language that works.
Advertisements

Hibernate 1. Introduction ORM goal: Take advantage of the things SQL databases do well, without leaving the Java language of objects and classes. ORM.
1 How to create GUI's in MatLAB Rigo Dicochea. 2 Introduction Graphical User Interface (GUI) MatLab provides Graphical User Interface Development Environment(GUIDE)
1 Component Description Pebbles PDA Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Brad Myers, March.
What is Alice? Graphical Programming Environment and Language Learn object oriented programming using 3 dimensional objects and a story telling approach.
Brad A. Myers, CMU Pilot: Exploratory Programming for Interactive Behaviors: Unleashing Interaction Designers’ Creativity Brad Myers, Stephen Oney, John.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
1 System: Teallach Presenters: Baolinh Le, [Bryce Carder] Course: Knowledge-based User Interfaces Date: April 29, 2003 Teallach: A Model-Based User Interface.
Stanford hci group / cs376 research topics in human-computer interaction I/O Toolkits Scott Klemmer 29 November 2005.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
HTML 1 Introduction to HTML. 2 Objectives Describe the Internet and its associated key terms Describe the World Wide Web and its associated key terms.
Event-driven programming. Most modern computer programs that people use have Graphical User Interfaces (GUIs). A GUI has icons on the computer screen.
GAME DESIGN IN CONJUNCTION WITH UNION UNIVERSITY COMPUTER SCIENCE DEPARTMENT By Jacob Lynn and Hananiah Nyabam.
Designing and refining A snapshot of a website design journey.
INTRODUCTION TO DHTML. TOPICS TO BE DISCUSSED……….  Introduction Introduction  UsesUses  ComponentsComponents  Difference between HTML and DHTMLDifference.
An Introduction to Visual Basic
Learning about Programming Languages By: Mike and Sean.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
Integrated Development Environment (IDE)
CHAPTER TEN AUTHORING.
Introduction to Windows Programming
Dreamweaver 8 Introduction What you can do with Dreamweaver 8 What's new in Dreamweaver 8.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
Active Code Completion Cyrus Omar Computer Science School of Computer Science Carnegie Mellon University [ICSE12] YoungSeok Yoon Software Engineering Brad.
Ke Li. Agenda Introduction User Identification Features of the Tutorial What I Have Learned Demo.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 – Graphical User Interfaces Java Foundations: Introduction to Programming.
Reusability within Learning Tools Jonny Crook, Andrew Gold, Phil Styles Humanities eLearning Team.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Imagine Creating Software Without a Single Line of Code!
Copyright © 2006 – Brad A. Myers Answering Why and Why Not Questions in User Interfaces Brad Myers, David A. Weitzman, Andrew J. Ko, and Duen Horng (“Polo”)
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
What is Alice? Alice is an innovative 3D programming environment that makes it easy to create an animation for telling story, playing an interactive game,
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Motivates, interests and engages. Teaches problem solving skills. Allows for creativity and imagination. Demonstrates project design. Encourages teamwork.
COMPUTER III. Fundamental Concepts of Programming Control Structures Sequence Selection Iteration Flowchart Construction Introduction to Visual Basic.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
MATLAB and SimulinkLecture 61 To days Outline Graphical User Interface (GUI) Exercise on this days topics.
 Real world › Bimanual  Mouse and keyboard? › Unintuitive › One point  Special device? › Expensive › Still not very intuitive.
1/7/2016www.infocampus.co.in1. 1/7/2016www.infocampus.co.in2 Web Development training gives you and all-round training in both the design and the development.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
Chapter 1 Introduction to Visual Basic
Chapter 3: I Need a Tour Guide (Introduction to Visual Basic 2012)
Project 1 Introduction to HTML.
Human Computer Interaction (HCI)
Inquiry learning and SimQuest
DELLSOFT Technologies Pvt. Ltd.
Computer Software: Programming
6/10/ :23 PM TOOL-504T A deep dive into Visual Studio 11 Express for designing Metro style apps using XAML Joanna Mason & Unni Ravindranathan Program.
Distributive Property
Event loops 16-Jun-18.
Java Look-and-Feel Design Guidelines
1. Introduction to Visual Basic
Human Computer Interaction (HCI)
WPF AKEEL AHMED.
The Celera Genome Browser: A Tool for Visualizing and Annotating the Human Genome
Silverlight Technology
Subprograms and Programmer Defined Data Type
Hands-on Introduction to Visual Basic .NET
Tree Growth Static Add Subtitle Here Your Text Here Your Text Here
Event loops.
Event loops 17-Jan-19.
Event loops 17-Jan-19.
I/O Toolkits Scott Klemmer · 16 November 2006.
Introduction Object-Oriented Programming Reprise
Event loops 8-Apr-19.
HP ALM Introduction.
Event loops.
FRAMEWORKS AND REUSE What is “Framework”?
Event loops.
Event loops 19-Aug-19.
Presentation transcript:

Andrew J. Ko & Brad A. Myers Carnegie Mellon University CITRUS: A Language and Toolkit for Simplifying the Creation of Structured Editors for Code and Data Andrew J. Ko & Brad A. Myers Carnegie Mellon University

INTRODUCTION Citrus - Creating Interactive Tools for Reshaping and Utilizing Structure. It is a language and user interface toolkit. Used to simplify the creation of editors for structured data and code. It is specifically designed for creating model- view-controller based direct-manipulation editors for highly structured data.

CITRUS SPECIFICATION LANGUAGE Citrus is an object-oriented, statically-typed and interpreted language Features of the language Elements Properties Expressions Listeners and Notification Restrictions Serialization Specify Languages

CITRUS USER INTERFACE TOOLKIT Central design goals Flexibility Expressiveness Features Views Graphical Objects Layout Behaviors Animation Styles Drag and Drop Keyboard and Mouse Pointer

EXAMPLE – TO DO LIST

QUESTIONS Does Citrus solve a problem ? What are the advantages over traditional methods ? Any drawbacks ? What would you change ?

THANK YOU