Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design



Similar documents
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

CSC 551: Web Programming. Spring 2004

1. Overview of the Java Language

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution

Contents. Java - An Introduction. Java Milestones. Java and its Evolution

OVERVIEW HIGHLIGHTS. Exsys Corvid Datasheet 1

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

Flash. Using Flash to Teach Mathematics. The competition

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

4D and SQL Server: Powerful Flexibility

Building Applications Using Micro Focus COBOL

C# and Other Languages

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Online Recruitment System 1. INTRODUCTION

An Overview of Java. overview-1

Rapid application development for JEE using Adobe ColdFusion 9

Java applets. SwIG Jing He

AS/400 System Overview

2 Introduction to Java. Introduction to Programming 1 1

Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS.

Effective Java Programming. efficient software development

Java vs. Java Script

Software: Systems and Application Software

Chapter 12 Programming Concepts and Languages

What Is the Java TM 2 Platform, Enterprise Edition?

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

System Structures. Services Interface Structure

A Monitored Student Testing Application Using Cloud Computing

DIPLOMA IN GRAPHIC WEB DESIGN AND WEB DEVELOPMENT COURSE INFO PACK

Chapter 1 Fundamentals of Java Programming

Hardware/Software Co-Design of a Java Virtual Machine

CURRICULUM MAP. Web Design I Mr. Gault

Chapter 13: Program Development and Programming Languages

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Evolution of the Major Programming Languages

SmartArrays and Java Frequently Asked Questions

Web Pages. Static Web Pages SHTML

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Lesson 1 Quiz. 3. The Internet is which type of medium? a. Passive b. Broadcast c. One-to-one d. Electronic print

Business & Computing Examinations (BCE) LONDON (UK)

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

Programming Languages & Tools

How Java Software Solutions Outperform Hardware Accelerators

Distributed Network Management Using SNMP, Java, WWW and CORBA

Lecture 1 Introduction to Android

Cache Database: Introduction to a New Generation Database

IDL. Get the answers you need from your data. IDL

Java and Real Time Storage Applications

Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding

DIABLO VALLEY COLLEGE CATALOG

Web Application Development and Frameworks

CS 209 Programming in Java #1

A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet

Building Java Servlets with Oracle JDeveloper

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software?

Titolo del paragrafo. Titolo del documento - Sottotitolo documento The Benefits of Pushing Real-Time Market Data via a Web Infrastructure

Apache Jakarta Tomcat

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone

A Modular Approach to Teaching Mobile APPS Development

Java TM WorkShop TM and Beyond. Joe Keller Director of Marketing SunSoft Developer Products

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

FLASH. Mac versus PC. Pixels versus Vectors Two kinds of images are in the digital world: bitmaps and vectors:

Chapter 10: Multimedia and the Web

<Insert Picture Here> Java, the language for the future

Glassfish, JAVA EE, Servlets, JSP, EJB

Web Design Specialist

CA CPT CICS Programmers Toolkit for TCP/IP r6.1

Java Garbage Collection Basics

Introduction... Learn to insert event sounds and streaming sounds and to change the effects for a sound... 69

MULTICULTURAL CONTENT MANAGEMENT SYSTEM

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

System Architecture V3.2. Last Update: August 2015

Web Integration Technologies

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

Nomadic Beer Game on Computer Networks

Chapter 5: System Software: Operating Systems and Utility Programs

ATSBA: Advanced Technologies Supporting Business Areas. Programming with Java. 1 Overview and Introduction

SE 450 Object-Oriented Software Development. Requirements. Topics. Textbooks. Prerequisite: CSC 416

Comparing Course Authoring Software: WebCT vs. Blackboard

picojava TM : A Hardware Implementation of the Java Virtual Machine

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

1/20/2016 INTRODUCTION

How To Understand The History Of The Web (Web)

Information Technology Studies

An Easier Way for Cross-Platform Data Acquisition Application Development

Transcription:

Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers include Visual Basic, Java, Flash, Dreamweaver (standalone and web based applications) etc. This paper deals with advantages and disadvantages of using Java in Education. Significance Java is a powerful programming language. It can be used to create complex standalone applications or small components which can be used over the network. But its potential seems to be unexploited in the field of education. This paper discusses some significant features of Java alongwith a discussion of why Java not so popular among educators. This discussion will be helpful for an educator who wants to implement technology in education. Discussion What is Java? When Java was created by Sun Microsystems in 1995 it was not for the Internet. Instead, the primary motivation was the need for a platform independent language that could be used to create software to be embedded in various consumer electronic devices. This feature of platform independence made java very useful for the Internet where all kinds

of machines are networked. Java expands the universe of objects that can be moved freely in cyberspace. Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language. Features of Java Simple: Java is an extension of C and C++ with added feature of garbage collection and improved memory management. Object-oriented: Object oriented programming deals with objects and there behaviors and hence an analogy of real world can be found in programs. Network-savvy: Java has an extensive library of routines for coping easily with TCP/IP protocols like HTTP and FTP. This makes creating network connections much easier Robust: Java is intended for writing programs that must be reliable in a variety of ways. Java puts a lot of emphasis on early checking for possible problems, later dynamic (runtime) checking, and eliminating situations that are error prone. Secure: Java is intended for use in networked/distributed environments. Toward that end, a lot of emphasis has been placed on security. the changes to the semantics of pointers make it impossible for applications to forge access to the user s hard disk. Architecture neutral: To enable a Java application to execute anywhere on the network, the compiler generates an architecture-neutral code bytecode which is executable on many processors, given the presence of the Java runtime system.

Portable: There are no "implementation dependent" (machine/ processor dependent) aspects of the specification. The sizes of the primitive data types (integer, float) are specified. Interpreted: Java bytecodes are translated on the fly to native machine instructions (interpreted) and not stored anywhere. High performance: Java Bytecode is more efficient and its interpreted nature provides high performance. Multithreaded: Multithreading is a way of building applications with multiple threads (more than one processes running at the same time). It is useful for better interactive responsiveness and real-time behavior. Dynamic language: Java programs carry substancial amount of run time information Java can be used to create programs of two types: Applications and Applets. Application: A program that runs on a computer, under the operating system of that computer (stand alone applications). I am going to discuss applets in detail. Applets It is an application designed to be transimitted over the Internet and executed by java compatible web browser. An Applet is actually a tiny Java program, dynamically downloaded across the Internet just like an image or sound clip. The important difference is that applet is an intelligent program. It can react to user input and change dynamically. Most important feature of applet is security. Java creates a firewall between the

networked application and computer and thus confines the program to Java environment not allowing it to access other parts of the computer. Some more distinct advantages of Applets are: Multimedia can be incorporated in Applets Applets can provide better user interaction Applets are platform independent and portable Applets support distributed and Network computing Main program + Graphics + User interface are all embedded in unified environment Java-compliant WWW browsers as well as Java compiler, run time environments are freely available. Applets can be included in HTML document by <Applet>.. </Applet> or <Object> </Object> Example : <html> <body> <applet code = "hi.class" width=300 height=200> Please get a Java compatible browser to see this. </applet> </html> The applet code label (<applet code = {filename}...>) tells the browser what file contains your Java code and sets up the applet's size. Also, command line parameters for the applet can be passed in from here.

Java also provides Database connectivity (Java DataBase Connectivity JDBC) to enable search, random generation of questions and other database related operations Applets in Education Java applets can be classified as follows for educational settings: Informational applets: Minimal user interactivity. Similar to HELP files Concept illustrating applets: Maximum interactivity. User learns the concept by exploring the applet Computational applets: Good user interactivity. Exaples, Illustrations, Visualization Assessment applets: Less interactivity. Quizz, multiple choice questions To use applets in classroom we have two options: In-house development of applets Use preexisting applets It is difficult to develop applets particularly for those having little or no prior programming experience. Hence in-house development of applets by teacher may not be feasible (although Java compiler and run time environment are free). Java applets for education are available for free on the web. But these have to be searched for, tested and adapted for classroom use. If applets are to be used effectively in classroom, random search for appropriate applet is not always the efficient way. The teachers might go through the following steps:

Getting Ready Decide what you want to teach. Go to the Java Applet Library Search and shortlist 2 to 5 applets (no thourough search at this step) Decide what kind of applet you want to use (Informational/ concept illustrating/ computational/ assessment) Check out the shortlisted applets for functionality Preparing the lesson Visualize the complete lesson (for what part of the lesson you are using applet) Logistics Computer availability, coordinatiion etc Lesson plan creation Create a clear lesson plan Delivering the lesson Test with one or two students for understaning In class give background content knowledge Give instructions on using the applet and let them know the objectives Review the lesson for students reactions Feedback Give feedback about the applet for other teachers to use Applet library (Search for a specific Applet on the Internet) Java applets are available for free on the Internet. http://java.sun.com/applets/ provides some sites where the applets are available. I have provided a list of applet libraries at the end of this document. EOE (Educational Object Economy) provides an Applet Library.

But most of the applets available are for Math Education or Science Education. I could not find applets for languages or social science. Some sites also give an easy template for applet creation/ design. Many of the applet libraries are found to be associated with various learning communities. On some sites like EOE teacher can even send a request if she wants some change/enhancement in some applet. These applets are of different types Informational/concept illustrating/ computational/ assessment. Once the teacher has a shortlist of 2 to 5 applets she should check every applet for functionality. She should also see if the instructions provided are sufficient and if the applet satisfies the instructional objectives. Java vs. Flash So why is Java not as popular in education field as it was about two years back. Has Flash overtaken Java? What are the similarities and differences between Flash and Java? Can we use Flash for everything that can be accomplished with Java? Let us discuss some of these questions here. Java is a full blown programming language whereas Flash is mainly Animation tool (although it is equipped with ActionScript it is mainly for FrontEnd design). We can t really compare Java and Flash. They have different purposes different forte. But Java Applets can be compared to Flash. Both support multimedia and both were created to operate on the Internet. Java File size larger. Slow download. Flash File size shorter. Fast download.

No visual environment for design. Inefficient use of graphic element (eg bitmaps). Available for free. Open ended. Scalable to any processor driven platforms Visual coding environment. Supports a wide range of graphic elements (gif) and features (opacity). Has to be purchased from Macromedia. Very closed. Not scalable. (computers,cell phones, smart cards etc). Integrates easily with other web page Less so. elements. Look of the applications (bitmap/raster) Applications have a vector graphic look. depends on the designer. Complex computations easier in Java. Complex computations or complex logic difficult to implement. More secure. Less secure. Summary In reality Flash can not replace Java because Java is a programming language with very high capabilities. But in the field of education where most of the applications do not require complex computing but high quality graphics and faster download rates, Flash seems to have overtaken Java. Most obvious reason for this is the ease of use. With the visual developing environment of Flash it is easy to create simple animations quickly which is not so easy with Java. But Java provides more user interactivity, more

dynamism, database connectivity, memory management, garbage collection, reusability and free open ended use because of which Java has maintained its own place.

References and Related Links Use of Applets in Mathematics Edcuation http://www.utc.edu/~cpmawata/instructor/tsukuba1.htm Use of Applets in Chemistry Education http://ir.chem.cmu.edu/irproject/applets/ Use of Applets in Physics Education http://www3.adnc.com/~topquark/fun/fun.html Applets for K-12 developed in UIUC http://www.mste.uiuc.edu/java/ Educational Object Economy (Applet Library) http://www.eoe.org/index.htm Lessons for creating simple Applets http://www.ies.co.jp/math/javalesson/menu.html Educational Java Program http://www.arcytech.org/java/java.shtml Java Applets in Education http://tech.irt.org/articles/js151/index.htm The Java Language Overview http://java.sun.com/docs/overviews/java/java-overview-1.html Java vs. Flash http://www.winneronline.com/articles/september2002/javavsflash.htm This paper is written by Kavita Karandikar for the course EDC385G Interactive Multimedia Design & Production at the University or Texas - Austin