CS 209 Programming in Java #1



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

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

NetBeans IDE Field Guide

Programming Languages

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

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

Chapter 1. Introduction to Computers, Programs, and Java

For Introduction to Java Programming, 5E By Y. Daniel Liang

An Overview of Java. overview-1

Syllabus for CS 134 Java Programming

Chapter 1 Introduction to Computers, Programs, and Java

2 Introduction to Java. Introduction to Programming 1 1

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

Fundamentals of Java Programming

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

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX

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

1. Overview of the Java Language

Java Platform, Micro Edition (Java ME) Mokoena F.R. The 7046 Team

CSC 551: Web Programming. Spring 2004

Extreme Java G Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti

Real-time Device Monitoring Using AWS

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

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

Applets, RMI, JDBC Exam Review

Java applets. SwIG Jing He

Elements of Advanced Java Programming

Online Recruitment System 1. INTRODUCTION

What Perl Programmers Should Know About Java

How to use the Eclipse IDE for Java Application Development

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

System Structures. Services Interface Structure

Java Application Developer Certificate Program Competencies

Glassfish, JAVA EE, Servlets, JSP, EJB

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

Chapter 1 Fundamentals of Java Programming

Fahim Uddin 1. Java SDK

Habanero Extreme Scale Software Research Project

How To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

Web Development with the Eclipse Platform

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

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

Web Pages. Static Web Pages SHTML

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Application Servers - BEA WebLogic. Installing the Application Server

Java with Eclipse: Setup & Getting Started

CrownPeak Java Web Hosting. Version 0.20

A Modular Approach to Teaching Mobile APPS Development

Tutorial 5: Developing Java applications

CS3600 SYSTEMS AND NETWORKS

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

IBM Rational Web Developer for WebSphere Software Version 6.0

Implementing Java Distributed Objects with JDBC

Web Application Developer s Guide

LECTURES NOTES Organisational Aspects of Software Development

Java on z/os. Agenda. Java runtime environments on z/os. Java SDK 5 and 6. Java System Resource Integration. Java Backend Integration

era J2EE Platform and Tool Recommendations

Installing Java. Table of contents

JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK

What Is the Java TM 2 Platform, Enterprise Edition?

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

JAVA WEB START OVERVIEW

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Latte Rapid Application Development. William Dunlap Product Manager Borland International

The Context of Software Development

How To Develop An Application Developer For An Ubio Websphere Studio 5.1.1

What is a programming language?

JAVA 2 Network Security

Supplement IV.E: Tutorial for Tomcat. For Introduction to Java Programming By Y. Daniel Liang

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

Building Java Servlets with Oracle JDeveloper

Modern Software Development Tools on OpenVMS

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Android Programming: Installation, Setup, and Getting Started

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

Zulu by Azul OpenJDK for Azure

Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

Lecture 1 Introduction to Android

Version Overview. Business value

Running a Program on an AVD

1 Building, Deploying and Testing DPES application

Introduction to Sun ONE Application Server 7

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

The Darwin Game 2.0 Programming Guide

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

Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues

An Overview of Servlet & JSP Technology

ArcGIS 9. Installing ArcIMS 9 on Red Hat Linux

OVERVIEW HIGHLIGHTS. Exsys Corvid Datasheet 1

A standards-based approach to application integration

Java (12 Weeks) Introduction to Java Programming Language

Transcription:

CS 209 Programming in Java #1 Introduction Spring, 2006 Instructor: J.G. Neal 1 Topics CS 209 Target Audience CS 209 Course Goals CS 209 Syllabus - See handout Java Features, History, Environment Java Development Software Information Sources Applications and Applets 2 1

CS 209 Programming in Java Target audience: Designed for students with previous programming experience Ideally the student should have some experience with: Arrays, Functions/procedures, Passing parameters to functions/procedures 3 CS 209 - Course Goals Goals: Learn the Java programming language Learn about the Java Virtual Machine and Java API Learn to design, develop, debug, and run Java programs Web-based Java applets Stand-alone Java applications Learn to use Java development tools Learn to use good principles and practices 4 2

Features of Java Provides for both web-based and stand-alone applications Is totally object-oriented Provides networking capabilities for distributed systems Provides for dynamic interactive programs Simplifies memory management - automatic garbage collection Supports multithreading - concurrent processing Is portable and platform independent; interpreted Programs run on the Java Virtual Machine at runtime Provides for security Very large set of library packages in the Java API Graphics, user interface capabilities, networking, database operations, file manipulations, etc. 5 Some Java History Developed in the early 1990 s at Sun Microsystems Originally called Oak Designed for use in embedded consumer electronic applications Redesigned for developing Internet applications and renamed Java Releases: JDK 1.0, the first Java programming language release, was officially announced in May 1995 JDK 1.1 released in 1997 Java 2 SDK v 1.2 (a.k.a. JDK 1.2), 1998 Java 2 SDK v 1.3 (a.k.a. JDK 1.3), 2000 Java 2 SDK v 1.4 (a.k.a. JDK 1.4), 2002 Java 2 SDK v 1.5 (a.k.a. JDK 1.5), 2004 Java programmer certification program is available from Sun 6 3

JDK Editions Java Standard Edition (J2SE) ** J2SE can be used to develop client-side standalone applications or applets. Java Enterprise Edition (J2EE) J2EE can be used to develop server-side applications such as Java servlets and Java ServerPages. Java Micro Edition (J2ME). J2ME can be used to develop applications for mobile devices such as cell phones. ** This course uses the J2SE 7 The Java Environment Editor Java Program (MyProgram.java) (Source Code File) Java Compiler (javac) Java Bytecode (MyProgram.class) (Compiled File) Interpreter or Java Platform: Java API Java Virtual Machine Interpreter or Java Platform: Java API Java Virtual Machine Interpreter or Java Platform: Java API Java Virtual Machine HW-based Platform (Sun + Solaris OS) HW-based Platform (PC + WIN OS) HW-based Platform (Mac + Mac OS) 8 4

Java Development Software Sun Microsystems, Inc. Java 2 Standard Edition (J2SE) SDK from Sun Microsystems No cost download from the Sun Microsystems website J2SE includes: javac - Compiler for the Java language java - Launcher for execution of Java applications javadoc - API documentation generator appletviewer - Run applets without a web browser jar - Manage Java Archive (JAR) files jdb - Java Debugger javah - C header and stub generator javap - Class file disassembler extcheck - Utility to detect Jar conflicts HtmlConverter - Converts to a new HTML file with tags for invoking the Java plugin among others... 9 Java Development Software Integrated Development Environments (IDEs): NetBeans IDE (http://www.netbeans.org; http://www.sun.com) Eclipse IDE (http://www.eclipse.org) Borland JBuilder (http://www.borland.com) Sun Java Studio (http://www.sun.com) IBM WebSphere (http://www.ibm.com) JCreator (http://www.jcreator.com) BlueJ (http://www.bluej.org) 10 5

Object-Oriented Programming Benefits: Software modularity Information hiding A wealth of well-tested predefined classes, especially the Java API (part of the J2SE) Software reuse Enhanced programmer productivity 11 Object-Oriented Programming Fundamental principle: Encapsulation of data and methods in an object Objects: Real world objects have state (attributes or data) and behavior (actions or operations) A software object maintains its state (attributes or data) in variables and implements its behavior as methods A class: Is a blueprint or template Defines the variables and methods common to all objects of a certain kind An object is an instance of a class Can you give an example? 12 6

Object-Oriented Fundamentals Programs are developed in the form of classes: The conceptual entities/objects that comprise the program Classes are organized into a hierarchy Levels: The higher the level, the more generic The lower the level, the more specific Inheritance: subclasses automatically have the variables and methods of their superclasses Inherited methods can be overridden in a subclass Programmers write their new programs building on the existing Java Class Hierarchy (Java 2 API) Bicycles Mountain Bikes Racing Bikes Tandem Bikes 13 Example Application-Specific Hierarchy Level 1: Employee Level 2: SalariedEmployee HourlyEmployee TemporaryEmployee Level 3: Tier1 Tier2 Tier3 Union NonUnion Category1 Category2 14 7

Type of Java Programs Application - two types Console-based program: Input and output are typically from/to the command prompt window Window-based program: User interaction (input and output) is performed by way of a graphical user interface (GUI) Applet Runs within a web browser (e.g., Microsoft Internet Explorer, Netscape, Mozilla, Opera) Requires an HTML page containing an Applet tag or Object tag that holds the information needed to invoke the applet To view an applet use: Web browser or JDK appletviewer 15 8