Download Interactive online environments

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Perl 6 wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Java (programming language) wikipedia , lookup

Java performance wikipedia , lookup

Java ConcurrentMap wikipedia , lookup

Transcript
interaction
Interactive online environments
purposeful interaction
In building interactive online environments we are designing
experiences to enhance users comprehension of concepts
by encouraging critical and creative thinking through active
participation.
types of
interaction
Rich online environments encourage and support at least three
forms of interaction:
Interpersonal
Collaboration
Communication
Intrapersonal
Contemplation
Independent engagement
Human/Computer
Simulations
Responsive systems
lecture Goals
To suggest some reasons for using online interactive elements
To provide an introduction to several technical means of
supporting human/machine interactivity
To understand some of the benefits and limitations of the
technologies introduced
To become familiar with the basic requirements for and
tradeoffs of implementing a few of these technologies
reasons for interactive content
There are numerous, good reasons for implementing various
forms of online interaction.
because you can is not one of them . . .
illustrative examples
Interactive applications can be
used to present complex
processes unfolding or to
dynamically illustrate important
relationships in multivariate
phenomena.
Density Lab (Macromedia Shockwave)
Thermodynamics (Java Applet)
NBC Olympics (Flash)
interactive simulations
Working through interactive
simulations, may provide
experiences impossible to
construct in the real world.
(Java Applet)
(Macromedia Flash)
cognitive tools
Online tools can be provided
to augment cognitive
processes.
VasserStats
(JavaScript)
CSILE
(JavaScript/Server-Side)
online
assessment
Forms of assessment can be
implemented via interactive
online modules and exams.
(Cold Fusion & DHTML)
Learning to Learn
(CGI – Perl)
C.L.A.S.S
UI
feedback
System status, feedback and
additional information can be
provided via interactive UI
elements.
American Trail
(Macromedia Flash)
Yale (JavaScript)
custom content
Customized content can be provided
based upon user preferences or needs.
CNN Multimedia (JavaScript – browser detection)
selecting interactive tools
Factors to consider
Time
Expense
Maintenance
Technical Support
Learning curve
Flexibility
Accessibility
Technology’s fit with all
participants
Technology’s ability to
address the educational
challenge(s)
approaches to interactivity
Client-Side
programming
JavaScript
DHTML
web savvy plug-ins
Flash
Authorware
Shockwave
Acrobat
Server-Side
programming
CGI (many languages)
Java Servlets
Cold Fusion
Active Server Pages, Java Server
Pages, etc.
web savvy applications
Macromedia Generator
Test Pilot (quiz application)
client-side vs. server-side
Client-Side
advantages
Does not require access to
server technologies
Some forms provide direct
control over the browser and
HTML elements
Places processing load on
client computer
disadvantages
Support for plug-ins and
scripting can vary from client
to client, platform to platform
Places processing load on
client computer
Server-Side
advantages
eliminates client as a variable
can leverage other server-side
applications
disadvantages
Cannot directly manipulate HTML
content on browser screens
Does not provide immediate
response or feedback (needed for
animation)
client-side tools
Client-side interaction
designing interaction within the browser
server-side tools
Server-side interaction
creating dynamic web pages using remote servers
client/server: Java
Overview
Developed by Sun Microsystems
Robust Object-Oriented Programming Language
Same code can be executed on many platforms
Advantages for the Web
Provides both server and client side options
Network Savvy
Browser support for Applets
Flexibility provided by programming
Java: some flavors
Java Servlets - Java programs that can provide server-side
support for web interaction
Java Server Pages (JSP) – A technology for adding
java programming logic directly to web pages
Java Applets - Java programs that can be run within
web browsers
executing an Applet
Use the <applet> tag which
provides the network address
of the Applet class files to be
downloaded
Applets download from the
server as files separate from
the HTML document
Browser verifies they do not
violate any security restrictions
Applets are executed in the
browser
Existing applets can easily be
incorporated into your web
pages
embedding an Applet
<applet codebase=“applet”code=“main.class” width=680 height=350>
<param name=gridx value=4>
<param name=gridy value=2>
<param name=dbfilename value=“applet/pics/imagedb1.txt”>
<param name=thumbnailprefix value=“tn”>
<param name=hiresdirectory value=“pics/”>
<param name=“scale” value=“no”>
<param name=“gridspacing” value=5>
<param name=“enablehires” value=“yes”>
</applet>
slideshow applet
Java Applet examples
Counter-Rotating Spiral Illusion
Harvard Medical School
WBA Navigator
Visual Thesaurus
java: resources
Sun’s JavaSoft Site (JDKS, API Docs, etc.)
http://www.javasoft.com
The Java Tutorial (online tutorial)
http://java.sun.com/docs/books/tutorial/index.html
Thinking in Java (electronic book on OOP and Java by Bruce Eckel)
http://www.bruceeckelcom/TIJ2/index.html
Java Accessibility Utilities
http://www.javasoft.com/products/jfc/jaccess-1.3/doc/
IBM’s Accessibility Center
http://www.-3.ibm.com/able/accessjava.html
Applets: The Java Boutique
http://javaboutique.internet.com/
JARS
http://jars.developer.com/jars_resources_java.html
CGI common gateway interface
Earliest method of creating dynamic, interactive web
applications
CGI is a protocol, an established set of rules that govern how
server-side applications communicate with web servers.
CGI acts a gateway between the web server and its users on
the one side and additional server-side applications on the
other.
CGI processing cycle
CGI allows users to
connect with server-side
programs through the web
and receive feedback via
HTML pages.
Perl/CGI scripts at the GSE
Steps for implementing a perl/CGI script at the GSE
1. Locate a script – (see Matt’s Script Archive
http://worldwidemart.com/scripts/)
2. Download and unzip or untar the archived files
3. Read the readMe.txt file to learn how to set the scripts parameters
4. Move script files to the public_html directory on your GSE account
5. Change permissions to allow scripts to be executed via ws_ftp (chmod to rwxr-xr-x for the actual perl file (.pl or .cgi)
6. Edit the necessary parameters in the script and make sure the perl file has a
.cgi extension. Add this line to the top of the script: #!/usr/local/bin/perl –w
7. Try it out via the web
– http://gseweb.harvard.edu/~your_username/your_script.cgi
cgi/perl example
Problem-based web
application that presents
a case to medical
students for diagnoses.
Health Sciences Database
cgi/perl: resources
Intro to Perl for CGI
http://hotwired.lycos.com/webmonkey/98/47/index2a.html
CGI Scripts for Fun and Profit
http://hotwired.lycos.com/webmonkey/99/26/index4a.html?tw=programming
Matt’s Script Archive
http://worldwidemart.com/scripts/
W3C CGI:Common Gateway Interface (Docs and Specs)
http://www.w3.org/CGI/
Comprehensive Perl Archive Network http://www.cpan.org/
Perl Documentation from Perl.com
http://www.perl.com/pub/v/documentation
server-side development
ASP - Active Server Pages; .NET (Microsoft)
http://www.microsoft.com
PHP - Hypertext Preprocessor (open source)
http://www.php.net/
JSP - Java Server Pages (Sun Microsystems)
http://www.javasoft.com
Java Servlets (Sun Microsystems)
http://www.javasoft.com
Cold Fusion - rapid development tool (Allaire, Inc.)
http://www.allaire.com
technologies
server-side development
Introduction to Cold Fusion
technologies
the
problem space
Lots of information to distribute online changes frequently and
is gathered from multiple sources
Information needs to be organized and managed for other
purposes not just for web distribution
Information needs to made available using current/common
technologies
One solution:
Content providers send copy to web editors to be marked up in html.
Static web pages are created that must be edited with every new
change to the content.
the
problem space
A better solution …
Use HTML for what it is good for - presenting electronic information –
and use databases for what they are good for – managing data.
Select a technology that can bridge these two worlds – often called
middleware.
We’ll consider Cold Fusion, a suite of technologies for creating
database driven web sites.
Allaire’s
Middleware
Dynamic web sites
Groupware
Network applications
Advantages
Scalable
Rapid development
Cold Fusion Components
Cold Fusion Application Server
Cold Fusion Studio/Home Site
Cold Fusion Markup Language (CFML)
cold fusion
cold fusion: requirements
Operating Systems
Unix (Solaris)
Linux
Windows NT, 2000, 98
Software
Web server
Cold Fusion Application Sever
Database Program/Server (w/ODBC support)
Skill Sets
HTML
Cold Fusion Markup Language (CFML)
SQL/Database Design
cold fusion: process
cold fusion: dynamic
html
cold fusion: tutorial application
Link Library
designing for interactivity
THE END