Visual Programming SFT 5030 - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Visual Programming SFT 5030

Description:

Visual IDEs (Visual Basic, Delphi ...) Visual Basic is not a VPL! Private Sub TimerMove ... Visual IDEs: Visual Basic, Delphi etc. Related Areas. Toontalk ... – PowerPoint PPT presentation

Number of Views:222
Avg rating:3.0/5.0
Slides: 34
Provided by: bernd4
Category:
Tags: sft | ides | programming | visual

less

Transcript and Presenter's Notes

Title: Visual Programming SFT 5030


1
Visual ProgrammingSFT 5030
See http//www.monash.edu.au/pubs/handbooks/units/
CSE5030.html
Bernd Meyer bernd.meyer_at_acm.org Ph 9905 2240
2
Consultation
Clayton Campus, Building 26, Room 115 Wednesdays
1100-1200 Caulfield Campus, by appointment
Resources and Literature
Will be made available at http//www.csse.monash.e
du.au/berndm/SFT5030/
3
Tutorials
Always Labs, Tuesday, 8pm-10pm B346B, B348B
Tutor
To be announced
4
Assessment
  • 100 project-based homework
  • Implementation project using an object-oriented
    VPL
  • Design Paper (10 ) April 1
  • Implementation (60 ) June 3
  • Documentation (30 ) June 3
  • Groupwork in pairs, if necessary one group with
    n3
  • Implementation basis Prograph CPX
  • Assignments should be received at identify place
    and process on or before the due date.
  • Late submissions will be penalised at the rate of
    penalty rates.
  • If you believe that your assignment will be
    delayed because of circumstances beyond your
    control
  • such as illness you should apply for an extension
    before the due date.
  • Medical certificates or certification supporting
    your application may be required.

5
Prerequisite Knowledge
  • Working Knowledge of Object-Oriented Programming
  • (no particular language)
  • Basic Concepts of GUI Programming
  • (Widget Programming, Event-driven Programming,
  • Container Hierarchies, etc.)
  • Overview of Alternative Programming Paradigms
  • (as given e.g. in CSE 3322)
  • Data-flow Programming
  • Functional Programming
  • Logic Programming (Introduction in Course)

6
Cheating
It is important that your solutions to the
assignment questions be your own work. It is
perfectly acceptable to seek help and advice when
completing the assignments, but this must not be
taken to the point where what is submitted is in
part someone else's work. Please note that,
since the assignments are used in assessing your
final grade in this subject, the following
Faculty policy applies. "Students should note
that cheating is regarded as a very serious
offence which is likely to lead not only to
failure in the subject concerned but also to
additional penalties including exclusion.
Students should carefully note that the taking of
any unauthorised material into examinations such
as notes and unauthorised dictionaries will be
regarded as cheating. Students should also note
that essays, assignments and other work are
generally understood to be the student's own work
and where such work is identical with, or similar
to, another student's work, an assumption of
cheating may arise. Where students wish to
undertake work in conjunction with other
students, it is suggested that the matter be
discussed with the lecturer concerned." Faculty
of Computing and Information Technology Handbook
In addition, the following School policy applies.
"The assignments set in this subject are designed
primarily as learning exercises, but they also
contribute to your final grade. Copying of
other student's assignment solutions is
unacceptable. All students have a
responsibility to ensure that their assignment
solutions are their own work. You must ensure
that others do not obtain access to your
solutions for the purpose of copying a part of
them. Where such plagiarism is detected, both of
the assignments involved will receive no marks.
In significant cases of plagiarism, action may
be taken against the offenders under the
University's disciplinary regulations."
7
Computing Resources
It is important that your solutions to the
assignment questions be your own work. It is
perfectly acceptable to seek help and advice when
completing the assignments, but this must not be
taken to the point where what is submitted is in
part someone else's work. Please note that,
since the assignments are used in assessing your
final grade in this subject, the following
Faculty policy applies. "Students should note
that cheating is regarded as a very serious
offence which is likely to lead not only to
failure in the subject concerned but also to
additional penalties including exclusion.
Students should carefully note that the taking of
any unauthorised material into examinations such
as notes and unauthorised dictionaries will be
regarded as cheating. Students should also note
that essays, assignments and other work are
generally understood to be the student's own work
and where such work is identical with, or similar
to, another student's work, an assumption of
cheating may arise. Where students wish to
undertake work in conjunction with other
students, it is suggested that the matter be
discussed with the lecturer concerned." Faculty
of Computing and Information Technology Handbook
In addition, the following School policy applies.
"The assignments set in this subject are designed
primarily as learning exercises, but they also
contribute to your final grade. Copying of
other student's assignment solutions is
unacceptable. All students have a
responsibility to ensure that their assignment
solutions are their own work. You must ensure
that others do not obtain access to your
solutions for the purpose of copying a part of
them. Where such plagiarism is detected, both of
the assignments involved will receive no marks.
In significant cases of plagiarism, action may
be taken against the offenders under the
University's disciplinary regulations."
8
Questionnaire SFT5030
  • Why have you taken this subject?
  • What do you expect to learn?
  • Which programming languages do you know?
  • Have you heard of visual programming languages?
    Which?

9
Visual IDEs (Visual Basic, Delphi )
10
Visual Basic is not a VPL!
Private Sub TimerMove () Static X As Long, Y As
Long X X 1 Y Y 1 'Keep the ball of the
edge If (X gt Me.ScaleWidth) Then X 0 End
If If (Y gt Me.ScaleHeight) Then Y 0 End
If End Sub
11
Visual Computing
Visual Programming
Computer Graphics
Algorithm Animation
Scientific Visualization
User Interfaces
End User Languages
12
Prograph
13
Definition of Visual Programming
Visual Programming Languages Languages that
use visual notations or Diagrams for
expressing programming constructs, e.g.
Dataflow, Control flow, Abstraction
etc. Subfields End User Programming Domain
Specific Programming Universal Programming
Languages ()
14
Related Areas
  • Graphical User Interfaces
  • Computer Graphics
  • Information Visualization / Scientific
    Visualization
  • End User Languages (Databases etc.)
  • Special Purpose Languages (e.g. UML)
  • Algorithm Animation
  • Visual IDEs Visual Basic, Delphi etc.

15
Toontalk
Literature at http//www.toontalk.com
16
Goals of this course
  • Learn about paradigms in VP
  • Learn concrete VPLs in Research and Industry
  • Learn implementation techniques for VPLs
  • Learn about specification and formalization of
    VPLs
  • Get a feeling for the potential of VPLs
  • Learn about the limits of visual computing
  • Implement a small project using an
    object-oriented VPL !

17
Course Outline
  • Unit A Visual Dataflow Programming in Prograph
    CPX
  • Unit B Paradigms of Visual Programming
  • Unit C Implementation and Specification of VPLs
  • Unit C Beyond Programming - Diagrammatic
    Reasoning

18
Unit A Prograph
(4 Lectures)
  • Overview of Visual Programming Paradigms
  • Aspects of Prograph
  • Basic Dataflow Programming
  • Object-oriented Programming
  • Debugging
  • Using an Application Framework
  • Project work for assignment

19
Unit B Paradigms
(5 Lectures)
  • Data Flow Languages Prograph, Labview
  • Functional Languages Clarity, VEX
  • Logic and Constraint Languages, Rule Languages
    TPM, Pictorial Janus, ToonTalk
  • Languages with new Paradigms Agentsheets,
    KidSim, Forms3, ToonTalk

20
Unit B Implementation / Specification
(2 Lectures)
  • Overview of VPL Implementation
  • Specification of VPLs
  • Visual Language Syntax and Parsing
  • Layout of VPLs

21
Unit C Diagrammatic Reasoning
(1 Lectures)
  • Experimental Systems for Diagrammatic Reasoning
  • BITPICT
  • Inter-DR
  • Diagrammatic Calculi and Diagrammatic Proofs
  • Heterogeneous Reasoning

22
Proofs Without Words
23
Proofs Without Words
Example of an Induction Schema
24
Reasoning by Diagram Transformation

b
a
Diagrammatic Proof of Pythagorean Thorem Circa
200 B.C.
25
Reasoning by Diagram Transformation

c
b
a
Diagrammatic Proof of Pythagorean Thorem Circa
200 B.C.
26
Diagrams in Software Engineering
27
Diagrammatic Refinement
Are Diagrammatic Proofs for UML possible?
28
Paradigms of Visual Programming
  • Dataflow Programming
  • Nodes describe operations,
  • arrows the flow of information between
  • these nodes
  • Rule-based visual Programming
  • Basis Logical Implication
  • if fact A holds, then fact B holds
  • or Production-system like action rules
  • if situation A is found, then do action B
  • Functional Programming
  • Basis mathematical functions (without
    side-effects)
  • a program has the form
  • f1(f2(f3(... (input) ...)))

29
Functional Visual Programming

CLARITY (http//www.clarity-support.com/) Clarity
is a complete functional language in the style
of ML original motivation for Clarity was work on
the functional database model An important
aspect is the incremental, interactive design of
programs The claim of the Clarity designers is
that visualization introduces an additional
conceptual level.
30
Rule-based Visual Programming
  • Universal Programming Paradigms
  • Visual Logic Programming (Prolog etc.)
  • Visual Constraint Programming (Pictorial Janus,
    Toontalk)
  • Programming Paradigms for Programming with
    Pictures,
  • particularly visual Simulations
  • Production-system languages pixel-based
    BitPict high-level image based Agentsheets
    (http//www.agentsheets.com) Visual
    production systems generally have the
    form SearchPicture gt Modification This is
    interpreted as if you find the picture
    SearchPicture in the current picture then apply
    the right-hand side modification to the current
    picture
  • Can be used for simplified Programming by
    Example


31
Visual Production Systems
  • used for implementing computations that directly
    operate on pictures.
  • Mainly experimental research vehicle. Only
    real-world application Visual Simulation /
    Creating AnimationExample
  • BITPICT, a system for reasoning purely by diagram
    transformation.
  • (For more information visit http//www.si.umich.ed
    u/furnas/)


The given rules (right) count the number of trees
in a tangled forest by reducing each tree to a
single dot.
32
Data Flow Programs

Visual data-flow programming is the most common
visual programming paradigm. We use Prograph
CPX as described in Visual Programming with
Prograph CPX by Scott B. Steinman and Kevin G.
Carver, Manning Publications/Prentice Hall, ISBN
0134411633 The Power of Prograph CPX by D.
Shafer, The Reader Network, 1994. (out of
print) More information on (as well as the
implementations of) Prograph can be found
at http//www.pictorius.com/prograph.html Prograp
h CPX runs on Windows and will be available in
the CA Labs.
33
Recommended Literature
There are no prescribed texts. Visual
Programming with Prograph CPX by Scott B.
Steinman and Kevin G. Carver, Manning
Publications/Prentice Hall, ISBN 0134411633 Is
recommended (the only available text on
Prograph), but not strictly required. Other
literature (research papers) will be referenced
throughout the subject and are generally
available on the web. For the project you should
read the following paper, which will be availble
on-line. Simulating Graphs as Physical Systems,
A. Frick, G. Sander and K. Wang in Dr. Dobbs
Journal, August 1999 R. Davidson and D. Harel.
Drawing Graphs Nicely Using Simulated Annealing.
ACM Transactions on Graphics, 15(4)301-331,
October 1996. Fruchtermann, T. M. J. and
Reingold, E. M. (1991). Graph drawing by
force -directed placement. Software Practice and
Experience, 21(11)1129--1164.
Write a Comment
User Comments (0)
About PowerShow.com