Aalborg Media Lab 18-Jun-15 Introduction Introduction to System Design I Fall 2004
Aalborg Media Lab 18-Jun-15 Purpose To give the student knowledge on object oriented software engineering. To enable the student to comprehend how to design simple programs (application) using the Java language.
Aalborg Media Lab 18-Jun-15 Course Content syntax and semantics of the JAVA language use of techniques in the programming environment of the JAVA language basic data structures and algorithms in JAVA techniques for program specification, including reasoning about the relationship between specification and program (OOP)
Aalborg Media Lab 18-Jun-15 Exam Students are assessed through an individual oral examination, where the grade pass/not pass is given.
Aalborg Media Lab 18-Jun-15 Tools, Books & Website Programming Tools –JDK (Java Development Kit) –BlueJ (Editor) Books –Java Software Solutions, 3rd edition Lewis & Loftus Addison Wesley ISBN: –Thinking on Java (free book available on the Internet) Second Edition, Bruce Eckel MindView, Inc Website:
Aalborg Media Lab 18-Jun-15 Learning Java a new way of programming…
Aalborg Media Lab 18-Jun-15 Java's unofficial biography 1/2 Invented in 1991 by Sun Microsystems as part of the Green-Project. Green-Project = project initiated to develop controllers for future consumer electronics (toasters, mowers, etc.) ensuring interoperability. C++ was the original target language, but a developer (James Gosling) got frustrated with C++, and invented his own language Gosling Oak (later Java).
Aalborg Media Lab 18-Jun-15 Java's unofficial biography 2/2 Java was originally not developed for standard PCs, but for toasters! Therefore Java had to be light, small and efficient. These properties made it suitable for the growing WWW. For demonstration purpose a Browser was developed at Sun able of executing applets, but breakthrough came first in 1995 when Netscape licensed the language.
Aalborg Media Lab 18-Jun-15 So what is Java? Programming language for the WWW (applets) –Download the program –Execute the program on local machine Platform independent (almost) –Java is executed by a platform dependent interpreter Is an object oriented language –Introduces a “different” programming paradigm requiring / introducing a different approach to system design.
Aalborg Media Lab 18-Jun-15 Java’s capabilities Many options of using the language –Applets (embedded in HTML) –Servlets (Web-Server application) –Application (stand-alone programs) –“Java Script” HAS NOTHING TO DO WITH JAVA!!!! Java and Graphical User Interfaces –SWING (graphical component for stand-alone JAVA) –Applets
Aalborg Media Lab 18-Jun-15 My first applet example JAVA CODE: import java.applet.*; import java.awt.*; public class SimpleApplet extends Applet { public void paint(Graphics g) { g.drawString( "Hi! I'm a simple Applet!!",10,10); } HTML CODE:
Aalborg Media Lab 18-Jun-15 My first java example (console) class HelloDan { public static void main(String args[]) { System.out.println(“What’s the frequency Kenneth?”); } Output: What’s the frequency Kenneth?
Aalborg Media Lab 18-Jun-15 Advanced graphics using Java
Aalborg Media Lab 18-Jun-15 The object-oriented paradigm a new and different way of thinking about programming…
Aalborg Media Lab 18-Jun-15 OOP.. introduces methodologies helping How to approach an OOP project. To gain a better understanding of the concept of objects. Result in better designs, enables to take full advantage of the benefits and capabilities Java has to offer.
Aalborg Media Lab 18-Jun-15 Methodologies A methodology (sometimes simply called a method) is a set of processes and heuristics used to break down the complexity of a programming problem. Whatever you do when you design and write a program is a methodology. Adopting a methodology is to follow the formulated guidelines (processes).
Aalborg Media Lab 18-Jun-15 Design Guidelines ? Think before you write any code! –Is the software the correct (best) solution for the problem? –Draw Think in objects!! –Only objects can be implemented using Java. –Object = something from the “real word”
Aalborg Media Lab 18-Jun-15 Design Example: “Trees” Features: –global: grows, leaves, roots, chlorophyll –specific: size, color, etc