Copywrite ASC1 System development with Java Instructors: Rina Zviel-Girshin Interdiciplinary Center Herzlia School of the Computer Science Fall: 2000-2001.

Slides:



Advertisements
Similar presentations
Chapter 1: Computer Systems
Advertisements

Programming with Java. Problem Solving The purpose of writing a program is to solve a problem The general steps in problem solving are: –Understand the.
1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.
The Java Programming Language
Slides prepared by Rose Williams, Binghamton University Chapter 1 Getting Started 1.1 Introduction to Java.
Outline Java program structure Basic program elements
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 1 Introduction. © 2004 Pearson Addison-Wesley. All rights reserved1-2 Outline Computer Processing Hardware Components Networks The Java Programming.
COMP 14: Intro. to Intro. to Programming May 23, 2000 Nick Vallidis.
Chapter 1 Introduction.
1. 2 Chapter 1 Introduction to Computers, Programs, and Java.
Copyright 2013 by Pearson Education Building Java Programs Chapter 1 Lecture 1-1: Introduction; Basic Java Programs reading:
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Getting Started with Java
Java Software Solutions Lewis and Loftus Chapter 2 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Software Concepts -- Introduction.
Java: Chapter 1 Computer Systems Computer Programming II Aug
Introducing Java.
Prepared by Uzma Hashmi Instructor Information Uzma Hashmi Office: B# 7/ R# address: Group Addresses Post message:
1 Identifiers  Identifiers are the words a programmer uses in a program  An identifier can be made up of letters, digits, the underscore character (
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
© 2006 Pearson Education Computer Systems Presentation slides for Java Software Solutions for AP* Computer Science A 2nd Edition.
Java: Chapter 1 Computer Systems Computer Programming II.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
Java Language and SW Dev’t
Chapter 1: A First Program Using C#. Programming Computer program – A set of instructions that tells a computer what to do – Also called software Software.
System development with Java Lecture 2. Rina Errors A program can have three types of errors: Syntax and semantic errors – called.
Rina System development with Java Instructors: Rina Zviel-Girshin Interdiciplinary Center Herzlia School of the Computer Science Fall:
1 Computer Systems -- Introduction  Chapter 1 focuses on:  the structure of a Java application  basic program elements  preparing and executing a program.
Introduction to Programming David Goldschmidt, Ph.D. Computer Science The College of Saint Rose Java Fundamentals (Comments, Variables, etc.)
The Java Programming Language
CSC204 – Programming I Lecture 4 August 28, 2002.
Introduction. Objectives An overview of object-oriented concepts. Programming and programming languages An introduction to Java 1-2.
Lecture 2 Object Oriented Programming Basics of Java Language MBY.
Java Programming, Second Edition Chapter One Creating Your First Java Program.
C Derived Languages C is the base upon which many build C++ conventions also influence others *SmallTalk is where most OOP comes Java and Javascript have.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 1 Section 1.1 Introduction to Java Slides prepared by Rose Williams, Binghamton University Kenrick Mock, University of Alaska Anchorage.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
Rina System development with Java Instructors: Rina Zviel-Girshin Interdiciplinary Center Herzlia School of the Computer Science Fall:
Chapter 1: Introduction Java Programming Language How the Java Virtual Machine Works (compiling, etc…) Update by: Dan Fleck Coming up: The Java Programming.
Lecture 2 Software Concepts Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung Institute of Technology.
1 Problem Solving b The purpose of writing a program is to solve a problem b The general steps in problem solving are: Understand the problemUnderstand.
White Space Spaces, blank lines, and tabs are collectively called white space and are used to separate words and symbols in a program Extra white space.
Java Software Solutions Lewis and Loftus Chapter 2 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Software Concepts -- Introduction.
Quick Review of OOP Constructs Classes:  Data types for structured data and behavior  fields and methods Objects:  Variables whose data type is a class.
WEEK 2 1 Software Concepts -- Introduction Now we can begin to examine the basic ideas behind writing programs Chapter 2 focuses on: history.
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 1: Computer Systems Presentation slides for Java Software Solutions for AP* Computer Science.
Java Programming Fifth Edition Chapter 1 Creating Your First Java Classes.
Introduction to Java Programming by Laurie Murphy Revised 09/08/2016.
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
Copyright 2010 by Pearson Education APCS Building Java Programs Chapter 1 Lecture 1-1: Introduction; Basic Java Programs reading:
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
1 Programming Languages and Java Programming languages Java language The basic program Java syntax.
1 Problem Solving  The purpose of writing a program is to solve a problem  The general steps in problem solving are: Understand the problem Dissect the.
JAVA MULTIPLE CHOICE QUESTION.
Working with Java.
Chapter No. : 1 Introduction to Java.
Internet and Java Foundations, Programming and Practice
Data types and variables
null, true, and false are also reserved.
Introduction to Java Programming
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA
An overview of Java, Data types and variables
Chapter 1: Computer Systems
Units with – James tedder
Units with – James tedder
Focus of the Course Object-Oriented Software Development
Zorah Fung University of Washington, Spring 2015
Chap 2. Identifiers, Keywords, and Types
Zorah Fung University of Washington, Winter 2016
Presentation transcript:

Copywrite ASC1 System development with Java Instructors: Rina Zviel-Girshin Interdiciplinary Center Herzlia School of the Computer Science Fall:

Copywrite ASC2 Information Source Course site : Course book: Java Software Solutions /Lewis & Loftus Thinking in Java / Bruce Eckle

Copywrite ASC3 Course Methodology Non-Linearity Spiral model Hypermedia CAI – Computer Assisted Instruction Interactive learning Labs and programming Multi-approach: inductive-deductive trails

Copywrite ASC4 Programming Languages and Java Programming languages Java language The basic program Java syntax

Copywrite ASC5 Programming The process of writing programs called a programming. The process requires: Programming language A translator of the programming language into machine language Programs are written in programming language.

Copywrite ASC6 Syntax Syntax describes the grammatical rules of a language. Valid words Valid grammar constructions Valid punctuation Programs must be syntactically correct.

Copywrite ASC7 Semantics Semantics gives the meaning of what you write with a language. A programming language must precisely define the meaning of every statement that can be written with it. Programs must be semantically correct.

Copywrite ASC8 Example The following sentence is syntactically correct but semantically incorrect. “ Java programs are green and yellow.” –All words are correct words. –Punctuation is correct. –But logically the sentence makes no sense.

Copywrite ASC9 Programming languages There are several families of the programming languages: Procedural ( Pascal, C++, Java) Logical ( Prolog) Visual ( Visual Basic) Document (HTML, LATEX)

Copywrite ASC10 Programming languages Procedural languages can be divided into:  Machine languages  Low-level (Assembler )  Intermediate-level (C)  High-Level (C++, Java)

Copywrite ASC11 Java Java is high-level language. Java is object oriented language. In this course we will use the terms: – OOP, – OOA, – OOD.

Copywrite ASC12 OOA and OOD OOA- Object-Oriented Analysis is a way to analyze a problem. OOD- Object-Oriented Design is a way to design a solution. Both see the world as: objects and their relations (behavior, communication).

Copywrite ASC13 OOA and OOD (cont) The way to analyze a problem is to define the objects relevant to it and their behavior. The way to solve a problem is to realize the objects relevant and the behavior we need. Both are useful as preliminary stages in OOP- Object Oriented Programming.

Copywrite ASC14 OOP Objects are the building blocks of:  the problem  the solution  the input source  the output target  the environment

Copywrite ASC15 Objects Objects include both: data (fields, variables, state) processing (behavior, methods, functions) Objects have two kinds of behavior: outer – I/O, messages, relations with others inner – processing (usually computing the messages)

Copywrite ASC16 Objects (cont) Relations between objects are implemented using communication (messages). Communication can have many forms. Some forms are very different from the usual idea of a message. Objects acquire structure using their relations. The structure is usually tree-like.

Copywrite ASC17 High-level languages Writing programs in machine language is possible but very difficult and time consuming. Programs usually written in a more human readable language - high-level language. Java is high-level language. A program written in any computer language must be translated into a machine language in order to be executed.

Copywrite ASC18 Translators Compiler A compiler is a program that translates a source program (usually high level language) into target program (usually machine language program). The resulting program can be executed many times. Interpreter An interpreter is a program that reads, translates and executes the source program statement by statement. The translation is done each time the program runs.

Copywrite ASC19 Java Java is a high-level, third generation programming language, like C, Fortran, Smalltalk. Shares much of C's syntax. Designed by a group at Sun MicroSystems. Originally called Oak.

Copywrite ASC20 Java advantages Platform independent “Write once, run anywhere”. Improve robustness, remove unsafe language loopholes. According to Sun: “ Java is simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multithread, and dynamic language.”

Copywrite ASC21 Java disadvantages The main Java disadvantage: Efficiency concerns. Looking to the future: VM performance will improve.

Copywrite ASC22 Java environments Java has many environments. The number grows as Java evolves. Among them are: Text applications Beans Applets GUI Applications Packages

Copywrite ASC23 Two main environments The two main environments:  Web Browser  Operating System

Copywrite ASC24 Web Browser In the browser environment the browser acts as an intermediate between the program and the operating system. The JVM resides inside the browser. The program can be simpler. The program has to work in graphical mode. The program is called “Applet” (a small application).

Copywrite ASC25 Operating System In the operating system environment the program is called “application”. Application has a more rigid structure. Application can be textual or graphical. Application is less secure.

Copywrite ASC26 Learning Java The specific challenge is twofold:  Learning the language technical aspect: the large set of new features class libraries classes methods which are provided as part of the language.  Learning to maximize the benefits of the object- oriented paradigm.

Copywrite ASC27 OOA and OOD vs. OOP OOA is a way of analyzing - OOD is a way of thinking – OOP is a way of doing. OOA is about “why” – OOD is about “what” – OOP is about “how”.

Copywrite ASC28 Starting to Program The basic idea of the course is to start programming as soon as possible. At first you will have to take a lot of things on trust. Promise: we will return to the details later.

Copywrite ASC29 Java programs All Java programs have three parts: Auxiliary prescriptions A class – an envelope around the other components Code per se – Optionally – other components which include the instructions themselves Instructions to be executed

Copywrite ASC30 Writing a Java Program Use an editor to type the program code. Save the code file. Compile the file with Java language compiler. Fix the bugs! Run the program.

Copywrite ASC31 A basic Java Program // Prints “How are you?” to the screen class My { public static void main (String[] args) { System.out.println(“How are you?”); }

Copywrite ASC32 A basic Java Program // Prints “How are you?” to the screen class My { public static void main (String[] args) { System.out.println(“How are you?”); }

Copywrite ASC33 Java program structure A Java is made up of one or more classes. Classes have names. The ‘My’ program consists of one class named ‘My’.

Copywrite ASC34 Class structure A Java class contains one or more methods. Methods have names too. The program (the class) has to have a main method. The method is called (surprisingly) – main.

Copywrite ASC35 Main The main method has a standard syntax: public static void main(String args[]) {… // your code } There can be only one main per file. The main method contains the code to be executed when the program runs.

Copywrite ASC36 Method structure A method contains one or more statements. The main method of My program has a single statement: System.out.println(“How are you?”);

Copywrite ASC37 Stages of Writing and Executing Assumptions: Using only the basic JDK software Assuming the JDK was installed properly In the WIN/DOS environment Class name is My File name is My.java Directory (folder) name is c:\java

Copywrite ASC38 Stages of Writing and Executing 1.Open a text editor that can produce a plain text file (such as Notepad). 2.Create a source code file with the extension on the file name being.java. The file has to have the same name as the outer class. 3.Start a the DOS command environment by opening MSDOS prompt (using the Start->Programs->MSDOS Prompt series of choices).

Copywrite ASC39 Stages of Writing and Executing 4.Change directory to the directory containing the source file. 5.Compile the file, using the prompt command: javac My.java 6.The result is My.class in the same folder. 7.Run using the prompt command: java My

Copywrite ASC40 Applets The program has to import two packages: applet.Applet awt The program (the class) has to extend the Applet class, using the following syntax: public class My extends Applet { // your code }

Copywrite ASC41 Basic applet code The final code looks like this: import java.awt.*; import java.applet.*; public class My extends Applet { // your code }

Copywrite ASC42 Stages of Writing and Executing Applet can’t be run directly. Applet has to be run in Browser and by the Browser. Web browser executes web pages. Web page should call the applet code.

Copywrite ASC43 Call to applet The call to applet consist of: –the command APPLET –the name of the applet class –the dimensions of the panel in which the applet will run

Copywrite ASC44 Example Assuming the name of the applet class is HelloWorld.class the call to applet looks like this: <APPLET CODE = "HelloWorld.class" WIDTH = 150 HEIGHT= 50>

Copywrite ASC45 HTML The call to applet has to be in HTML file. The file can look as follows: Java applet test page <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=50>

Copywrite ASC46 Execution Assuming the file is called HelloWorld.html 1.The stages common to all, described above. 2.Open the file HelloWorld.html in the Browser.

Copywrite ASC47 Java Compiler The Java compiler is called javac. Java programs are compiled to byte code.

Copywrite ASC48 Byte code The Java compiler translates Java program into a special representation called byte code. Java byte code is a machine code for Java virtual Machine(JVM). VM is a platform-specific tool to interpret the byte code and to translate it to commands for certain processor and OS. The use of the byte code makes Java platform independent.

Copywrite ASC49 Compile-interpret-execute cycle

Copywrite ASC50 Compile-interpret-execute cycle

Copywrite ASC51 Errors A program can have three types of errors: Syntax and semantic errors – called compile- time errors Run-time errors – occur during program execution Logical errors

Copywrite ASC52 Errors Compile-time errors occur during program compilation and an executable version of the program is not created. Run-time errors occur during program execution and cause abnormal program termination. Logical errors occur during program execution and produce incorrect results.

Copywrite ASC53 Java Syntax To write without syntax mistakes you have to know Java syntax. Syntax Syntax - the study of the patterns of formation of sentences and phrases from words and of the rules for the formation of grammatical sentences in a language.

Copywrite ASC54 Java Syntax Case-sensitive Semi-colon (;) is line terminator Curly braces ({,}) used for block structure Several keywords

Copywrite ASC55 Comments There are two kinds of comments: /* text */ A traditional comment: all the text from the ASCII characters /* to the ASCII characters */ is ignored. // text An end-of-line comment: all the text from the ASCII characters // to the end of the line is ignored.

Copywrite ASC56 Comments Comments do not nest. /* and */ have no special meaning in comments that begin with //. // has no special meaning in comments that begin with /* or /**. As a result, the text: /* this comment /* // /** ends here: */ is a single complete comment.

Copywrite ASC57 Identifiers An identifier is: an unlimited-length sequence of Java letters and Java digits, the first of which must be a Java letter. An identifier cannot have the same spelling (Unicode character sequence) as: a keyword, boolean literal, the null literal

Copywrite ASC58 Identifiers Letters and digits may be drawn from the entire Unicode character set (The character set that uses 16 bit per character). Identifier can be written in most writing scripts in use in the world today, including: Hebrew, Chinese, Japanese, Korean Practically all languages

Copywrite ASC59 Identifiers Uppercase and lowercase are different. All the following are different identifiers: MYmyMymYmy1 Examples of identifiers are: Stringi3 isLetterOrDigit מונה MAX_VALUE

Copywrite ASC60 Keywords The following are reserved words called keywords and cannot be used as identifiers: abstract boolean break byte byvalue case cast catch char class const continue default do double else extends false final finally float for future generic goto if implements import inner instanceof int interface long native new null operator outer package private protected public rest return short static super switch synchronized this throw throws transient true try var void volatile while

Copywrite ASC61 Keywords While true and false might appear to be keywords, they are technically Boolean literals. Similarly, while null might appear to be a keyword, it is technically the null literal.

Copywrite ASC62 Any Questions?