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



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

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages

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

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

McGraw-Hill The McGraw-Hill Companies, Inc.,

Chapter 12 Programming Concepts and Languages

How To Understand Programming Languages And Programming Languages

Software: Systems and Application Software

Lecture 1: Introduction

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

Programming Languages

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. CIV 112 Computer Programming Lecture Notes (1)

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.

CSE 307: Principles of Programming Languages

Programming Languages

Fundamentals of Java Programming

Chapter 6: Programming Languages

OKLAHOMA SUBJECT AREA TESTS (OSAT )

1. Overview of the Java Language

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program

Online Recruitment System 1. INTRODUCTION

Chapter 14. Programming and Languages. McGraw-Hill/Irwin. Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved.

What is a programming language?

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

Programming Languages

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

3 SOFTWARE AND PROGRAMMING LANGUAGES

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

Course MS10975A Introduction to Programming. Length: 5 Days

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines

Information and Communications Technology Courses at a Glance

Introduction to programming

Fundamentals of Programming and Software Development Lesson Objectives

Levels of Programming Languages. Gerald Penn CSC 324

Chapter 1 Introduction to Computers, Programs, and Java

CSE 130 Programming Language Principles & Paradigms

CSC 551: Web Programming. Spring 2004

1/20/2016 INTRODUCTION

Software Development. Topic 1 The Software Development Process

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

Lesson 06: Basics of Software Development (W02D2

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser)

CS 51 Intro to CS. Art Lee. September 2, 2014

Cambridge International AS and A Level Computer Science

Compilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam.

Efficiency of Web Based SAX XML Distributed Processing

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

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

The Context of Software Development

Ch. 10 Software Development. (Computer Programming)

Effective Java Programming. efficient software development

Asogwa Tochukwu Chijindu Department of Computer Engineering, Enugu State University of Science and Technology(ESUT), Enugu, Nigeria.

Solar Power Systems Web Monitoring

Programming. Languages & Frameworks. Hans- Pe(er Halvorsen, M.Sc. h(p://home.hit.no/~hansha/?page=sodware_development

Memory management basics (1) Requirements (1) Objectives. Operating Systems Part of E1.9 - Principles of Computers and Software Engineering

2667A - Introduction to Programming

CSCI 3136 Principles of Programming Languages

An Easier Way for Cross-Platform Data Acquisition Application Development

PCCC PCCC Course Description

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

McAfee Product Entitlement Definitions

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

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

CS 40 Computing for the Web

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Announcements FORTRAN ALGOL COBOL. Simula & Smalltalk. Programming Languages

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Evolution of the Major Programming Languages

Risks with web programming technologies. Steve Branigan Lucent Technologies

David Pilling Director of Applications and Development

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Welcome to Introduction to Computers and Programming Course using Python

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

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

Server-Based PDF Creation: Basics

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

Virtual Machines.

System Structures. Services Interface Structure

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud.

Chapter 1. Introduction to Computers, Programs, and Java

CSC Software II: Principles of Programming Languages

A Modular Approach to Teaching Mobile APPS Development

Developing Embedded Software in Java Part 1: Technology and Architecture

IT Services Management Service Brief

The Application of Visual Basic Computer Programming Language to Simulate Numerical Iterations

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

1. Introduction 1.1 Methodology

Virtual Credit Card Processing System

CS 106 Introduction to Computer Science I

Transcription:

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

1 Overview and Introduction 1 Overview and Introduction 1.1 Programming and Programming Languages 1.1.1 Programming 1.1.2 Basic Program Structures 1.1.3 Programming Languages 1.2 What is Java? 1.2.1 Origin of Java 1.2.2 Advantages of Java 1.3 Examples of Java 1.3.1 Java programs 2

1.1 Programming and Programming Languages 1 Overview and Introduction 1.1 Programming and Programming Languages 1.1.1 Programming 1.1.2 Basic Program Structures 1.1.3 Programming Languages 1.2 What is Java? 1.3 Examples of Java 3

1.1 Programming and Programming Languages An important part of software engineering is the software development. The software development can be divided in phases, according to the life cycle of the software: Requirements Phase Specification / Analysis Phase Design Phase Implementation / Programming Phase Integration and Deployment Phase Maintenance Phase Within the implementation phase the programming takes place. Here, the concepts which describe which requirements and how the software should fulfil are transcribed into a programming code. In general, this programming code is then translated into an executable computer program (machine code). 4

1.1.1 Programming Simply spoken, programming signifies the following: Write a text which a computer can interpret. By means of programming an algorithm becomes an executable program. A program is thereby a machine-readable and machine-compatible description of one or several algorithms and the necessary data. Here then, one also speaks of software. Algorithm In mathematics an algorithm is a procedure with which, on account of a system of given rules, data (input information, tasks) can be converted into other data (issue information, solutions). Complex processes of (arithmetic) machines are modelled by algorithms. [Source: www.wissen.de; date: 23.9.02] 5

1.1.1 Programming Software All programs and program modules of a computer in contrast to the hardware. Also the data which is already known to the program at the start (initialization data) belongs to the software. The software divides itself into the system software which forms the computer system together with the hardware, and the application software which formulates particular, special tasks; this disintegrates again into two groups: the standard software, programs that can be used by many users, and individual solutions which cover in each case only a completely special case. The system software serves the operability of the computer system and allows the construction of application software. [Source: www.wissen.de; date: 23.9.02] Two big different kinds of programming (also called paradigms) are distinguished: structured programming (also called modular, imperative or procedural programming) object-oriented programming 6

1.1.1 Programming: Definitions Structured programming is an approach towards the production of software which puts together single modules of a program in the form of hierarchically arranged components. In every component its functions are exclusively executed. Object-oriented programming (abbreviation OOP) is a name for a programming approach with which data and the operations to be applied on these data (algorithms) are considered as unities, so-called classes. The class is an abstract type definition which contains a data structure and the methods operating on it (operations). The concrete copies of a class are called objects. In the program sequence, the objects communicate with each other by questioning the other object on certain qualities or by asking it to explain a certain operation with a transmitted data value. How a certain operation is realised on the inside, remains concealed to the outside. [Source: www.wissen.de; date: 23.9.02] 7

1.1.2 Basic Program Structures If one converts algorithms into a computer-understandable form, the same three (or four) basic program structures appear again and again, regardless of a programming language. These structures are: Instructions Branching out or alternatives on the basis of conditions Repetitions with loops (Call of other algorithms or blocks with additional program structures) If one summarizes several of these single program structures, another basic program structure arises, that is circumscribed depending on the programming language or program type respectively as: Block (module, function, subroutine, class, object or however) 8

1.1.3 Programming Languages For the programming the most different computer languages can be used: Procedural or imperative: C, FORTRAN, Modula, Pascal, BASIC, Cobol, assembler language... Object-oriented: C ++, Java, small talk, Eiffel, Simula... Logically: Prologue... A program code (source code) is formulated according to exactly specified rules. These rules are called syntax. These rules or the syntax are exactly fixed in every programming language: Programs must keep to the syntax. Every point, every comma has its meaning; in general, even the smallest mistakes lead to a non- or misunderstanding of the program. 9

1.1.3 Programming Languages Early programming languages orientated themselves at the available operations of a computer: machine-close programming, e.g., assembler language. Modern high-level programming languages permit the abstract formulation of an algorithm. The characteristics of the hardware do no longer play a role in the programming. The advantages are that the programs are workable without change of their program text on different computers. 10

1.1.3 Programming Languages: Java Virtual Machine Some programming languages are compiled, some are interpreted, some are both, like Java. Java Program Text sjfhs =jfh 456kjhsjkhfksf fkjgwsh=fshfksfkjhsdf et45vrkjgwert5hegfkjhdg; erthjjhjdjfg 45 3424gwr v ekj:; hkjdhfdhfsf ejhkjd5v 3 2hgfkahf gs dgjkdfghkjdhfgwge jhbd345sfkjhkasdfw asdff:; hkjadhsfka ashfbf kjashfk sdf ffsf adasfa fasfa fsfd Java compiler translates Java Byte Code 010101001010101 010010100101010 010100100010101 001000000000001 111101010100100 101010100000010 011110101010100 101001010010100 100101010010010 10011 other computer platform Computer Memory Java Virtual Machine Processor CPU 11

1.2 What is Java? 1 Overview and Introduction 1.1 Programming and Programming Languages 1.2 What is Java? 1.2.1 Origin of Java 1.2.2 Advantages of Java 1.2.3 Some Misunderstandings of Java 1.3 Examples of Java 12

1.2.1 Origin of Java Sun Microsystems or JavaSoft, a subsidiary of Sun Microsystems, started to develop Java in 1990. (The name Java goes back to a coffee sort which the developers are said to have drunk in large quantities.) The motivation to develop Java lay in the fact that the most different electronic devices (e.g., video recorder, washing machine, coffeemaker, phone...) will own a processor. A special operating system and a special programming language should run on all devices. However, this could not yet be realised at the beginning of the 1990s. http://java.sun.com/ 13

1.2.1 Origin of Java Later, in 1995, Java with its heterogeneous target platforms (workstations, PCs of various manufacturers) found use in Internet applications (as the first language worldwide). Sun makes Java available for free together with its development environment JDK (Java Development Kit) for different operating systems. No matter which hardware was used for surfing on the Internet, Internet applications could be programmed for the first time with Java independent of the platform. Also then originated the first applications running in the browser, the so-called Java Applets. http://java.sun.com/ 14

1.2.2 Advantages of Java The syntax of Java is simpler than the syntax of C/C ++, but it is very similar: simple for programmers changing the programming language and programming-beginners Java code is widely platform-independent, architecture-neutral and stable: Java programs can be developed where the Java compiler runs. Java programs can run where the Java Virtual Machine runs. Java programs also run distributed decentralized through various computer architectures (distributed applications). Java programs are easily portable. Java (almost) never crashes. The basic interpreter of Java does not need a lot of storage space (approx. 40 KB): Suitable also for "small" electronic devices (Embedded systems). Java is completely object-oriented and safe: Its memory cannot be accessed arbitrarily. Java supports Multithreading: Several tasks and processes are able to run at the same time, virtually in parallel on a processor (respectively computer). 15

1.3 Examples of Java 1 Overview and Introduction 1.1 Programming and Programming Languages 1.2 What is Java? 1.3 Examples of Java 1.3.1 Java Programs 16

1.3.1 Java Programs Java applications: Eclipse (integrated development environment = IDE): http://www.eclipse.org/ Other: http://java-source.net/ e.g., data banks, web servers, mail clients, Search engines... and many, many more 17

Learning Targets To be able to explain what programming, algorithms and software signifies, describe the three basic structures in computer programs, explain the differences between compiler and interpreter as well as the way of functionality of the Java Virtual Machine, give an overview over Java. 18