CS 589: Visual Programming Languages, Winter 1999
Instructor: Dr. Burnett
Office: 217 Dearborn
Phone: 737-2539
E-Mail: burnett@cs.orst.edu
Dr. Burnett's Office Hours:
To be announced
Newsgroup: orst.cs.589
Course Objectives
In this course we will study the ideas behind visual programming
languages (VPLs). The purpose of the course is to understand some of
the problems and opportunities that arise in designing a new
programming language that is visual, from both a theoretical and
a practical perspective. Students will do a variety of
small programming projects in several languages and also some written
homeworks, and will do a final project that will either be
to develop a very small VPL of their own or some other
project of similar magnitude.
Grading
There will be no midterm or final in this course. Your grade will be computed
as follows:
- 25% Programming miniprojects (Late policy: 1/2 letter grade if < 24 hours late, after that 1 letter grade off per day).
- 25% Homework
- 25% Presentations and similar in-class contributions
- 25% Final project
Prerequisites
Graduate standing in CS and interest in programming language design issues,
or permission of the instructor.
Tentative Schedule and Assigned Readings
All papers listed below are assigned readings unless otherwise specified.
Weeks 1-4: A Survey of Several Modern VPLs
- M 1/4: What is Visual Programming?
M 1/4: Introduction to Forms/3. (Browse this site, being sure to follow the
links to the history and the list of theses.)
M 1/4: Graphical Definitions in Forms/3 (there is a paper on this you may read if you wish, but it is not required).
- W 1/6: Rebecca Walpole Djang on Similarity Inheritance in Forms/3
-----
- M 1/11: What You See Is What You Test in Forms/3
- W 1/13: Time and Declarative I/O in Forms/3: presented by: Dusty Reichwein & Zach Welch.
- Of the 2 papers above, I suggest you read this paper first. It sets the stage for the implementation work described by the other paper.
-----
- M 1/18: Martin Luther King Day (University holiday)
- W 1/20: Prograph: presented by: Andrei Sheretov
There are many possible papers to read on Prograph. Depending
on how much you already know about Prograph, choose at least one from these resources:
- A highly-enthusiastic article in a computing magazine (MacTech) introducing Prograph.
- A Prograph tutorial in MacTech with lots of detail.
- Once you've already seen a bit of Prograph, this MacTech article helps you see the main ideas present in it. (I'm not sure if it will be useful before you've actually seen Prograph.)
- The original Prograph research article (1989) is available from me, and will provide a historical perspective on its roots. There are a couple of additional hardcopy tutorials also available from me, in case you feel you need more examples. See me if you want any of these.
- Prograph manuals are on reserve in all the Mac Labs, and PDF versions of these manuals are stored with Prograph on the CS Lab Setup server.
- Forms/3 Mini-project #2 due 11:00 am F 1/22.
-----
- W 1/27: Cocoa: presented by: David Haney & Karen Rothermel
- F 1/29: Visual Basic (this is a VPE, not a VPL): presented by: Jim Nelson & Nanyu Cao. There are many books and other resources on Visual Basic. Go to this
web page and choose something to read appropriate for enhancing whatever you may already know about Visual Basic.
-----
- M 2/1: Gamut: presented by: Roger Chen and Joseph Davis.
Weeks 5-6: Evaluation-Based VPL Design
- W 2/3: Scalability: (no discussion questions are required for this paper, but see discussion leader roles).
-----
- M 2/8: Pane/Myers "Natural Programming" human-subject-study-based design. This project is about designing a programming language as an outcome of studying how its intended users (non-programmers) tend to express solutions to problems. Presented by Andrei.
- W 2/10: Cognitive Dimensions: no discussion questions, but see in-class presentation assignments
- Green, T. R. G. and Petre, M. (1996) Usability analysis of visual
programming environments: a 'cognitive dimensions' framework. J.
Visual Languages and Computing, 7, 131-174. Click
here for a compressed postscript version by ftp (needs gunzip to decompress); 180 KB
- Green T R G and Blackwell, A F (1998) A 70+ page tutorial on cognitive dimensions (1.1 Mb, zipped postscript file). This tutorial has 3 parts: an introduction to the framework; analysis of two real-life examples; and a set of interactive widgets, accessible via the web, which illustrate different design decisions and their trade-offs.
- Additional optional material: Feel free to explore Thomas Green's research interests web page.
-----
- M 2/15: Representation Design Benchmarks: The paper was published in the Journal of Visual Languages and Computing, Oct./Dec. 1997. An almost-final version is available online here. No discussion questions are due, but see in-class presentation assignments
Weeks 7-8: Formal Specification of VPLs
- F 2/19: An Approach Based on Attribute Grammars: Marriott/Meyer JVLC Aug. 97 paper on classifying VL grammars and on their own approach, constraint multiset grammars (previously handed out in class; more readable copies coming 2/15). Section 2 presenter: Karen. Sections 3/4 presenter: Roger. Section 5 presenter: Dusty.
-----
- M 2/22: Rekers tutorial on VL syntax specification. Presenter for pp. 15-46 of graph grammars/syntax-directed editing: Andrei. Presenter for Picture Layout Grammar: Nanyu.
- W 2/24: Rekers material continued. Presenter for pp. 1-12 & 29-30 of comparison of CMGs with others: Jim.
- also W 2/24: Visual specification of formal semantics: Erwig paper. Sections 1-3 presenter: David. First part of 4.1 & also 5 presenter: Zach.
If necessary, we will also meet on the scheduled final exam time to allow
sufficient time for presentations.
- M 3/1: Roger (journal of programming a scheduler in a VPL, with conclusions about CDs), Joseph (cog-dim, etc., eval of Gamut)
- W 3/3: Nanyu (functional testing in Prograph), Zach (a dataflow VPL with special attention to liveness and/or "spotlights")
- M 3/8, W 3/10: no class
- F 3/12: Karen (a grammar for Cocoa), David (a rule-based demonstrational VPL for cellular automata)
- W 3/17 (this is finals week, so class meets 12:00 - 1:50): Andrei (a genetic simulation in Cocoa with conclusions about CDs), Dusty (a static rep for a new demonstrational VPL), Jim.
Margaret M. Burnett, burnett@cs.orst.edu
Date of last update: Mar. 3, 1999