| |
| Flash
Master Class: Building Equipment Simulators |
| |
|
| Registration: |
CONTACT US for information |
| |
|
| Course
Description: |
Computerized,
interactive device simulators, such as flight simulators, enable
learning when it is impractical or inconvenient to use the real
device. The array of multimedia tools available today makes the
production of simulators accessible to a wider audience of designers
and programmers. These tools facilitate the process of creating
simulators such that the challenge of producing them is less about
how to program the specific elements involved, and more about
how to manage the complexities of developing a simulator. In other
words, you need good methodologies for planning, organizing, designing,
and implementing an interactive device simulator. That is where
this class comes in.
Over the eight weeks
of this course, students learn the fundamentals of creating Flash-based
interactive simulators, in the context of creating their own simulation
projects. The class teaches programmers practical applications
of state machines (finite state automata and statecharts) in the
design and use of product simulators, as well as how to use and
build components. Students are introduced to the principles and
processes, as well as their implementation in ActionScript 2.0
(Macromedia Flash Professional 8).
The class format is
a mix of pre-recorded material, several (depending on class size)
weekly live "office hour" sessions (delivered via ASAP,
by Convoq), and asynchronous discussion (board) interaction.
Before the class begins, students receive all the printed and
electronic materials, and therefore can proceed at their own pace.
The class is designed, however, to fit a eight week schedule in
which each week is devoted to a different topic. We expect students
should devote at least 8-10 hours per week to the class--approximately
2-3 hours of recorded lectures, and the remaining time on application
to their simulation projects. Separate discussion boards are set
up for each weekly topic, however the priority during office hours
will be for topics related to the current week.
We understand that
high priority work may spring up during the class and we don't
want you to feel you will miss out on the material. That's why
once you join the class, you become part of the community. That
means you have access to the private discussion boards and future
class office hours (space permitting). This class is like joining
a focused group of talented developers who need to address the
same issues as you and want to help one another!
 |
MakingThings:
Connecting the Physical and Software Worlds in Flash |
While learning principles
of good simulator design should be strong motivation in itself,
we want to make this even more enticing. In cooperation with the
folks at MakingThings,
we have some great prizes for the best simulators built, in a
couple of categories. Whether for work or play, this means you
can bring your simulations into the real world with their products--a
line of modular and networkable hardware components that control
and manage a wide variety of input and output devices (e.g., sensors,
motors, LEDs, and more).
Important: prize(s) are offered depending on the number of students that register for each class. Small classes limit the number and size of prizes we offer. |
| |
|
| Prerequisites: |
Students
should have experience with object-oriented programming in ActionScript
or a related language (Java, C++, etc.). Experience with Flash 8 is highly recommended. |
| |
|
| |
What
are students saying from prior classes?
The
class definitely met my expectations. As a self taught developer
I needed to be exposed to effective structures for planning
and building simulations. This course offers, and presents,
structures that can be applied to simulation projects.
I
would recommend this class to anyone planning and developing
complex simulations requiring logical assembly and extensibility....For
me, the strength of the course was the underlying logical structures
that have been clearly refined over the years. It was good to
get perspectives and understanding from someone who has 'done
the hard yards' so that I don't have to.
I
just wanted to thank you for the time you took teaching us this
method of designing simulations in Flash. I've seen Flash sims
done both ways and what you have provided here is a virtual
lifesaver as far as communication, development time, troubleshooting
and documentation are concerned. I can foresee us using this
method extensively here...
I
bought the book a little while before the class was announced
and the class really helped to clarify the concepts in the book.
...Your
RTVis, XML2Code, and components are worth the price of admission,
by themselves...
Snapshots
of the prize-winning entries from recent classes:
|
March
Class - First Place.
Ron Starck. Home Range/Stove. |
| |
|
March
Class - Second Place.
Darvin Fitzgerald: MP3 Player |
| |
|
Jan
Class - First Place.
Tim Seeley: Home Generator. |
| |
|
Jan
Class - Second Place.
Craig Clark: Home Heater. |
| |
|
| |
Jan
Class - Third Place.
Grant Sherson: IV Infusion Pump.
The
key role of this simulation is as a realistic input device
for training and evaluating students understanding of
drug dosage. The IV simulation will be incorporated within
a training package that will enable student input of 'rate'
and 'volume' data in response to practice exercises. The
training package will be used within the nursing courses
offered at UCOL – Universal College of Learning (www.ucol.ac.nz)
and is being developed in-house by Grant Sherson (www.ucol.ac.nz/~g.sherson).
|
|
| |
|
| Course Schedule: |
The class
is conducted over an eight week period, with an average of 1-2
hours of recorded audio/video lecture per week typically, as well
as a minimum of two hours of office hours (via ASAP,
by Convoq), and 24/7 asynchronous discussion boards. A limited
amount of further chat and email time with the instructor is free,
but available by appointment.
Some dates may change
due to unforeseen scheduling conflicts that arise. |
| |
|
| Cost: |
Corporate
Developer |
US
$500 |
| |
Member
of local Macromedia Users Group |
US $450 |
| |
Non-Profit
/ Educational / Government |
US
$350 |
| |
|
|
|
| |
Students
who work together on a project can qualify for an overall discounted
rate of $200 for each additional student (the additional student
rate for non-profit developers is $150). |
| |
|
| |
|
| Required
Text/ Materials: |
Kaye,
J. and D. Castillo, Flash
MX for Interactive Simulation: How to Construct and Use Device
Simulations. Delmar Thomson Learning, November, 2002.
When you register for
the class, you will receive
|
| Optional texts: |
|
| |
|
| Instructor: |
Jonathan
Kaye, PhD |
| |
|
| Contact: |
jmk-at-FlashSim.com |
| |
|
| Office
Hours: |
Via
ASAP. Held:
- Tuesdays from
3:00PM - 4:00PM EST
- Fridays from 12:00PM
- 1:00PM EST
- or by appointment.
Important: due to the instructor's summer schedule, there will be no office hours during the week of June 26. Also, some office hours will have to be changed during the course due to other scheduling conflicts that may arise.
Depending on geographic
distribution of class, we may add more office hours to suit various
time zones around the world. |
| |
|
| Discussion Boards: |
Private
discussion boards off of the main FlashSim
boards. |
| |
|
| Objectives:
|
Upon
completion of this course, students will be able to:
- Use the event/listener
mechanism to program Macromedia v2 components, and use and skin
FlashSim equipment interface components
- (optional)
Build and install (MXP) a simple Flash 8 component
- Design and implement
simulated equipment using hierarchical state machines (statecharts)
and the UCM design pattern; and,
- Articulate how multiple
simulators and didactic material can be integrated within a
realistic training context.
|
| |
|
| Topical
Outline: |
| |
Each
class will focus on the following particular concepts: |
| |
| Weeks
1&2. Fundamentals of Simulator Design and Organization |
| |
|
Videos:
|
|
00.HiItsMe
|
Short
introductory video |
00
OPTIONAL SmartMedTech
|
Optional:
A 20 minute overview on designing simulators for performance
improvement, geared to medical device simulation (a remote
talk given at a NASA conference) |
01.
Installing FlashSim MXPs
|
How
to install the components needed for the class. |
02.
Tech Overview Part 1
|
Technical
overview of the critical simulator development methodologies.
Recorded from Breeze seminars in April 2004. |
03.
Tech Overview Part 2
|
Optional:
A 1-hour video on how to build a traffic light system. Recorded
from Breeze seminars in April 2004. |
04.
Using FlashSim Components
|
How
to use events and listeners, as well as skinning, for the
FlashSim components. |
Suggested
Reading:
|
Chapters
1, 4, 11-13, 19. |
Assignment:
|
Determine
scope of class project and sketch performance objectives.
This should be completed within the first two weeks of the
class. The office hours and discussion board can help you
to focus your problem and perhaps find other classmates
who want to work on the project with you.
Important:
You do not need to complete the project within the class
time--please read the section on "Project", below,
for more information. |
OPTIONAL |
|
05.
How to Build Components
|
Step-by-step
instructions on how to build a component in the v2 framework.
This 2-hour video is optional. |
Creating
a Flash MX 2004 Component - A Walkthrough
|
A series
of guided walkthroughs demonstrating how to build a component
in the v2 framework, by Flash expert Jesse Warden
(http://www.jessewarden.com/),
aka JesterXL. |
| |
|
| Weeks
3&4. Statecharts |
Videos:
|
|
06.
BuildSimsOverview
|
Overview
of the two central methodologies for designing simulators,
statecharts and the UCM pattern. |
07.
Statecharts
|
Main
lecture on the principles and elements of statecharts. |
09.
Example StatechartStart
|
Supplementary
lesson on common state patterns and how to approach their
design. |
10.
Using the FlashSim Tools
|
Introductory
video on the tools that accompany our state engine, to make
production and testing quicker. |
11.
PlumbCodeFStEngv15
|
Explanation
of the "plumbing code" required to program statecharts
with our FStEng implementation. |
12.
Programming Statecharts
|
Detailed
walk-through of how to code all elements of the statechart
design, from states to actions and transitions, as well as
laying out your simulator FLA. |
Suggested
Reading:
|
Chapters
7-9, 15-18 |
Assignment:
|
Sketch
preliminary statecharts for your project; Develop XML representation;
Generate working infrastructure code. |
| |
|
| Week
5. The UCM Design Pattern |
Videos:
|
|
13.
UCM
|
Describes
how to divide-and-conquer by separating system into different,
loosely-coupled layers. |
Suggested
Reading:
|
Chapter
6. |
Assignment:
|
Determine
levels of your system and sketch their roles and communication;
Document the messages they will pass between them. |
| |
|
| Week
6. Integrating a Simulator with a Presentation |
Videos:
|
|
13.
Sim And Outside World
|
How
to place your simulator in the context of other presentations
and interacting devices. |
Suggested
Reading:
|
Chapters
14, 20, 21, 24. |
Assignment:
|
Articulate
the API that the outside world will use to communicate with
your simulator; Demonstrate successful integration. |
| |
|
| Week
7. Advanced Concepts |
Videos:
|
|
14.
AdvancedConcepts
|
A collection
of odds-and-ends techniques going beyond the basic use of
the implementation, including event recording/playback, an
explanation of how event handling is implemented, and more. |
15.
FinalAdieu
|
What
do you expect this one to be? |
Suggested
Reading:
|
Chapter
27. |
Assignment:
|
Complete
your work on your class project. |
| |
|
| |
|
|
| Class Materials: |
Videos
(MOV and AVI format), PDF files, printed slides, and Flash materials
will be sent to students before the beginning of the class. To
minimize the number of disks, the DVD containing all electronic
materials will contain the videos in a ZIP file.
All materials are copyrighted
by Jonathan Kaye and Equipment
Simulations LLC. You are granted a royalty-free license to
use the state engines and components in your commercial and non-commercial
work, but you may not distribute them or the class materials without
prior written consent. |
| |
|
| Assessment
and Grading Policy: |
A
PASS or FAIL assessment will be made by the instructor, based on
student projects and class participation. PASS requires a grade
of 70% or above. Students who PASS will receive a certificate of
completion. |
| |
|
|
|
|
| |
|
Project |
90% |
|
| |
|
|
How would
you measure success with your presentation/simulator? |
5% |
| |
|
|
How could
this be used? |
5% |
| |
|
|
Design: Clear
documents, appropriate complexity, met project goals |
45% |
| |
|
|
Implementation:
works as charts say it does; efficiency |
45% |
| |
|
|
|
|
| |
|
Discussion Board Participation |
10% |
|
| |
|
|
|
|
| |
|
| |
Project:
Since the goal of the class is to enable students to design and
build equipment simulations, each student will choose a project
to develop. Students may work together on projects. A good project
is not necessarily a completely-working system, as few complex
systems can be built in such a short time while learning the concepts.
Rather, the goal is to find a well-defined, "proof-of-concept"
project that you can see will contribute to your work goals. You
will need to declare your project within the first two weeks,
and the instructor and classmates can help focus what you would
like to accomplish for the project.
At the completion of
the course, projects and designs will be displayed to the public
on the Flash MX for Interactive Simulation web
site (www.FlashSim.com),
unless a student specifically requests not to publish the work.
Participation:
The online discussion board is provided for your benefit and those
of your classmates, to help evoke, think out, and solve common
issues. The online discussion board will give you the opportunity
to help one another on project work. A part of your grade will
be based on your participation.
Discussion Board:
The discussion board URL will be sent to students at the beginning
of the course. |
| |
|
| Instructor Profile: |
Jonathan
is the president and co-founder of Equipment
Simulations LLC, an interactive design and engineering firm
that specializes in the development of interactive device simulations
for training and promotional presentations, particularly, but
not limited to, the medical device industry. He is the lead author
of the book, “Flash MX for Interactive Simulation: How
to Construct and Use Device Simulations,” (www.FlashSim.com)
published by Delmar Thomson Learning, November, 2002.
At Equipment Simulations,
Jonathan is the chief programmer, and has coordinated and developed
Amethyst's most successful products. He has taught audiences at
various skill levels, from management overviews, to technical
lectures on introductory computer science classes or advanced
programming topics. His academic and technical articles have appeared
in several major journals, magazines, and web sites. He is an
invited speaker at Flash, simulation, e-Learning, and medical
conferences, including Macromedia DevCon, AAMI, SIGGRAPH, Online
Learning, and Flash Forward, among others. Jonathan also leads
customized workshops to teach how to develop simulations for training
and rapid prototyping.
Jonathan graduated
from Cornell University with a B.A. in Computer Science, and from
the University of Pennsylvania with a Ph.D. in Computer Science
(1996). His award-winning doctoral research simulated cardiopulmonary
interactions and its disruption by penetrating trauma. |
| |
|
| |
|
The instructor
reserves the right to make changes to this syllabus if circumstances
warrant such change. All changes will be provided to students
by email. |
|