CSE5910 : Multimedia Programming in Java

Lecture : Introduction to Multimedia & Java

In the previous lecture:

There was no previous lecture... this is the first one so please have a look over the:

In this lecture:

About Multimedia

What do we mean by medium, media and multimedia?

message in a bottle

A medium is a substance (e.g. air / water) through which something (e.g. light / sound / information / a message from the dead) is conveyed.

med - middle, that which stands between.

Please note that media is the plural form of medium.

Example applications for media for conveying information or messages to humans:

Media Sample a pplications for traditional delivery methods Sample applications for digital delivery methods
typography newspapers, books, magazines, signs web pages, user interfaces
prose, poetry spoken performances, newspapers, books for documentation, artworks
photography, cinematography movies, art, advertising instruction manuals and animations, games
drawing, sculpture, painting art, posters, toys graphing, 3D modelling, interface elements
dance, mime, theatre art, instructional videos, comedy, television installation art, games
music, speech performances, technical presentations interface elements, games, control systems

A theatre production with shadow puppets projected as a backdrop, music played by an orchestra and singing, dancing actors is a multimedia production — multimedia doesn't require any digital technology!

Dynamic media are media that change (as opposed to static media that remain fixed).

Interactive media are media that permit humans to alter the way they change.

What is this course all about?

This course examines the design and development of interactive media controlled by software written in the Java programming language.

You will be expected to understand the design principles of interactive multimedia software in many different contexts.

You will be expected to be a competent Java programmer who can implement a design for multimedia software that you have developed.

To do well in this course you will have to:

  • Attend lectures and understand the lecture material (2 hours per week)
  • Attend the laboratory sessions and complete the exercises (2 hours per week)
  • Complete the assignment work and study at home or in the library (8 hours per week)
  • Complete the examination (3 hours at the end of semester)

With some luck, hard work and a little bit of help from your friendly lecturer... this course will be challenging and rewarding. It may even be great fun!

Skills learned in this course will be applicable when designing...

Formula 1 car cockpit
computer game robot being violent
Control panels and displays
Computer games
man at a touch screen kiosk
a graph
Information kiosks
2D graphing and drawing software
a model of a building with lots of grass growing on it
visualisation software screen grab
Architectural & 3D modelling software
(Image © Texas A&M University, Collecge of Architecture)

3D Scientific visualisation software
(Image © David Bock)

syringe usage simualtion screen grab
art work installation
Scientific simulation software
(Image © Adaptive Care Systems)
Interactive media art
eight screen stereoscopic presentation system
Interactive museum exhibitions
(Image of VROOM at the Melbourne Museum)
...and a huge variety of more "everyday" items.

The combination of multiple media requires not only a thorough understanding of each of them, but also experience in their combination, and an understanding of their relationship with the message being conveyed...

....and that is what this course is all about!

About Java

java program, compiler, java bytecode, interpretter, machine language program

Components of Java

The Java Programming Language (for writing Java applications, applets, servlets and JavaBeans)

  • Object-oriented language with a syntax similar to C that avoids some "dangerous" aspects of C/C++ programming

The Java compiler (part of the Java Software Development Kit (SDK)) takes Java programs and compiles them into...

Java Bytecode, an intermediate machine code for a "virtual machine" that will be translated into machine language for a real machine by...

The Java Interpretter or Java Virtual Machine (JVM)

  • Java programs are portable to any machine for which a Java interpretter has been written (e.g. Linux, MacOS, Windows, PalmOS...)

  • The JVM uses just in time compilation to convert Java bytecode into a machine language program that is executed on the real computer that is running the JVM
Stages from written Java code to execution.


  • The Java Platform is a set of Java classes organised into packages for providing functionality for common tasks through an Application Programming Interface (API) (e.g. I/O, networking, graphics, user-interface design...)

  • javadoc is a tool that generates HTML documentation from Java source files. Documentation will be generated from "documentation comments" in your source code denoted /** like this */

Java "Hello World"

Login to your Unix account and type the following code into a file called, HelloWorld.java using a text editor such as vi (do not use a word processor in Windows... it isn't suitable for this application).

public class HelloWorld
     public static void main(String[] args)
          System.out.println("Hello World!");

The file name for the file must always match the name of the public class (in this case that's HelloWorld) with a .java extension.

Compile the code using the Java compiler by typing the following at the command-line prompt:

> javac HelloWorld.java

This will produce a file HelloWorld.class (the Java bytecode file). Execute the program using the Java interpretter by typing the following at the command-line prompt:

> java HelloWorld

and the program should print out:

> Hello World!

This is how you will need to write, compile and execute all of your programs for this course. Please don't use an integrated development environment (IDE). All of your assignments must run from the command-line (or later, when we get up to applets, from within a web-browser) under Unix/Linux.

In your own time investigate and try out:

  1. jar the Java Archive Tool. You will need to use this to submit your assignment part 2.
  2. jdb the Java debugger. This might make debugging your code easier than if you use print statements.
Java developer resources for you to install on your home computer are available from http://java.sun.com

Lecture summary:

CSE5910 Courseware | CSE5910 Lecture Notes