The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java...

36
The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson

Transcript of The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java...

Page 1: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

The University of AkronSummit College

2440: 160Java Programming

Introduction to Computers & JavaProfessor: Enoch E. Damson

Page 2: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 2

Parts of an Information System

Hardware Software Procedures Data People

Page 3: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 3

Hardware

Physical components of a computer Consists of:

Input devices Processor or Central Processing Unit

(CPU) Main memory Secondary storage devices Output devices

Page 4: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 4

Input Devices

Collects data for the computer Common devices include:

Keyboard Mouse Scanner Digital camera

Page 5: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 5

Central Processing Unit (CPU)

Fetches instructions, follow the instructions, and produce some resulting data

Measured in terms of its speed in hertz (MHz, GHz)

Consists of two parts: Control Unit – coordinates all of the

computer’s operations Arithmetic & Logic Unit (ALU) – performs

mathematical operations

Page 6: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 6

Main Memory

Commonly known as the random-access memory (RAM)

Measured in terms of its size in bytes (KB, MB, GB)

RAM is usually a volatile type of memory for temporary storage

Divided into sections (bytes) that hold equal amount of data

Each byte is made up of 8 binary digits (bits) that use 0 and 1 to represents on and off “switches”

Each byte is a assigned a unique number known as an address, which are ordered from lowest to highest

Page 7: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 7

Secondary Storage Devices

Type of memory that hold data for long periods of time

Measured in terms of their size in bytes (KB, MB, GB)

Common types of secondary storage devices include: Hard disks Jump drives Zip disks Floppy disks

Page 8: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 8

Output Devices

Formats and presents processed data (information) to the outside world Common devices include:

Monitors Printers

Page 9: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 9

Software

Programs that run on a computer Has two general categories:

System software – enables application software to interact with the computer hardware

E.g. operating systems, utilities, device drivers, and programming languages

Application software – programs that solve specific problems or perform general operations useful to the user

E.g. word processors, spreadsheets, etc

Page 10: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 10

Procedures

Rules or guidelines for people to follow when using software, hardware, and data Guidelines are documented in manuals

Page 11: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 11

Data

Raw facts entered into the computer system for processing

Processed to produce information

Page 12: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 12

People

Making people more productive is what computers are all about Users include:

Analysts Designers Developers End-users

Page 13: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 13

Computer Program

Set of instructions that enables the computer to solve a problem or perform a task

The instructions are called algorithms A computer’s CPU can only process algorithms

written in machine language – consisting of binary numbers (0s and 1s)

E.g. 1011010000000101 Each different type of CPU has its own machine

language Algorithms written with programming

languages are much easier to understand

Page 14: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 14

Computer Programming

An art and a science of creating instructions to solve problems and perform tasks An art because every aspect of the

program should be carefully designed A science because of the need to

indulge in the tasks of analyzing, experimenting, correcting, and redesigning

Page 15: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Program Development (Programming) Cycle

The process of writing instructions (programs) for a computer to solve a problem

Programming steps include:1. Creating program specifications2. Designing the application3. Writing source code4. Compiling/Interpreting programs5. Executing (running) program

Introduction to Computers & Java 15

Page 16: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Program Development (Programming) Cycle…

Creating program specifications – the requirements the application must meet

Introduction to Computers & Java 16

Page 17: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Program Development (Programming) Cycle…

Designing the application – create file formats, screen layouts, and algorithms Algorithm – a sequence of procedures,

programming code, or commands that are used as part of a program or result in a program

Tools used in designing the sequential and logical structure of a program include:

Flowchart – uses symbols for program design Pseudocode – uses natural English for program

design

Introduction to Computers & Java 17

Page 18: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Program Development (Programming) Cycle…

Writing source code – the code must be written, tested and debugged Source code (file) – the file with the actual

code which is written with a programming language of choice in a text editor

Debugging – the process of going through program code to locate and fix errors such as:

Syntax errors – grammatical mistakes in program language use

Logical errors – logical mistakes in a program

Introduction to Computers & Java 18

Page 19: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Program Development (Programming) Cycle…

Compiling/Interpreting programs – the source code is translated in its entirety at one time (compiled) or a single line at a time (interpreted) from high-level program instructions into machine language, and executed if no errors are found (run)

Introduction to Computers & Java 19

Page 20: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Program Development (Programming) Cycle…

Compiling/Interpreting programs Compiler – a system software program that translates

an entire high-level program (source code) at one time into machine language (object code grouped together in files called library files) that the computer can interpret and execute

It gives no feedback until the entire program has been compiled Interpreter – a system software program that

translates a single line at a time in a program An immediate feedback is given if the code contains an error

Introduction to Computers & Java 20

Page 21: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Program Development (Programming) Cycle…

Executing (running) program – the compiled or interpreted code is executed if no errors are found Executable code – a linker or link editor

resolves object code references to other programs by creating an executable code.

Introduction to Computers & Java 21

Page 22: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 22

Programming Languages

Invented to ease the task of programming with the use of words instead of binary numbers

Programming languages have evolved in generations and are improved over the years

The generations of programming languages include: Low-level languages High-level languages

Page 23: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 23

Programming Languages…

Low-level languages – include: Machine language (1st Generation) – instructions

are coded as a series of 0s and 1s and are unique to a particular computer

Assembler language (2nd Generation) – instructions are coded using some recognized symbols called mnemonics (memory aids) and are also unique to a particular computer

Example: MUL is used to represent a multiply instruction. An assembler translates the mnemonics into 0s and 1s

Page 24: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 24

Programming Languages…

High-level languages – programs instructions are often written in English-like expressions in languages such as:

3rd Generation languages – instructions are coded at the programmer’s convenience but cannot be executed in their original form (source code)

A compiler or interpreter is needed to translate the language syntax into low-level machine language to be executed.

Examples include: FORTRAN (FORmula TRANslator)-1955, Pascal-1968, C-1972, C++-1980s, Java-1990

4th Generation languages – Has a graphical user interface (GUI) that combines a code editor, compiler, debugger, linker, and executor into a single Inter-Development Environment (IDE).

Examples include: Visual Basic, Delphi, PowerBuilder, Visual.NET, etc

Page 25: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 25

Programming Language Elements

Every programming language uses the following general program elements: Syntax – rules of a programming language Comments – non executing programming language

statements Constant data – raw data used in programming such

as numbers, strings, etc Data output – displaying data on a screen or sending

data to a file Data input – receiving data from the keyboard or file Variables – named memory locations for data storage

Page 26: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 26

Programming Language Elements…

Other programming language elements include: Data types – specifies the types of data native to the

programming language Keywords – words with a special meaning in the

programming language Operators – symbols or words that perform operations

on operands Selections (Condition testing) Repetitions (Looping structures) Arrays Files/Databases

Page 27: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 27

Methods of Programming

Two primary methods of programming are: Procedural – creates programs made up of

variables and procedures Variable – named storage location in a computer’s

memory Procedure – set of programming language

statements that perform a specific task Object-oriented – creates programs made up

of objects (instances of a class) Object – a software entity with attributes (fields)

and procedures (methods) Class – specifies the attributes and methods of

objects

Page 28: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 28

Principles of Object-Oriented Programming (OOP)

Encapsulation – grouping data (fields, methods, etc) into a single object

Information Hiding (Abstraction) – hiding an object’s data from other objects The object’s methods are used directly access its data Typically, the object’s data is hidden but allows its

methods to be accessed Inheritance – deriving classes (subclasses)

based on other existing classes (superclasses) Polymorphism - using the same procedure

name or operator with different types of arguments There are 2 types of polymorphism: overloading and

overriding

Page 29: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 29

History of Java

In 1991 the Green Team was formed at Sun Microsystems to develop a hand-held device (named *7) to control home entertainment devices

James Gosling (the project leader) created the Oak language for the project The Oak language translated programs into byte code

for different processors Oak (renamed Java) was later used to develop a Web

browser named HotJava – which was able to download and run small Java programs known as applets

HotJava was demonstrated in 1995 which made Java popular

Netscape later incorporated Java into its Navigator browser

Page 30: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 30

Types of Java Programs

Two types of Java programs are: Application – stand-alone programs

that run on a computer Applets – programs that are

transmitted over the Internet from a Web server and executed on a Web browser

Page 31: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 31

Properties of Java

Object-Oriented – uses objects to perform specific tasks Portable – enables programs to behave identical on

different platforms like: Mac, Windows, Solaris (UNIX) Compiles into byte code instead of machine

language – the byte code is read by the Java Virtual Machine (JVM) – which interprets the code for different processors

“Architecture-neutral” – the byte code that comes out of the compiler will run on any processor and operating system

Can be embedded on Web pages – applets are downloaded and ran from Web pages

Secured – Web browsers run applets in a secure environment within a computer’s memory

Page 32: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 32

The Java Compiler & Java Virtual Machine (JVM)

Text editors are used to write Java programming statements (source code) and saved in a source file (.java extension) and translated (compiled) by a compiler

Compiler – program that translates source code into an executable form Java compilers translate source code into a file (.class

extension) containing byte code The byte code instructions (not machine language) are

executed by the Java Virtual Machine (JVM) The JVM simulates a computer whose machine language

is the Java byte code

Page 33: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 33

Java Program Development Process

1. The programmer uses a text edit to create a Java source code file (.java extension)

2. The programmer runs the compiler to translate the source code file into a byte code file (.class extension)

3. The Java Virtual Machine (JVM) reads and executes each byte code instruction

TextEditor

SourceFile

JavaCompiler

Byte CodeFile

Java Virtual Machine

Page 34: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 34

Java Editions

The software used to create Java programs is known as the Java Development Kit (JDK) or the Software Development Kit (SDK)

Some Java editions include: Java Standard Edition (Java SE) – used for

writing Java applications and applets Java Enterprise Edition (Java EE) – used to

create business client/server and Web server-based applications

Java Micro Edition (Java ME) – runtime-environment for consumer products like cell phones, pagers, etc

Page 35: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 35

Java Integrated Development Environments (IDE)

Consists of text editor, compiler, debugger, and other utilities integrated into a package

Current popular Java IDEs include: Eclipse (http://www.eclipse.org) NetBeans (http://www.netbeans.org) IntelliJ IDEA (http://www.jetbrains.com/idea) jGRASP (http://www.jgrasp.org)

Page 36: The University of Akron Summit College 2440: 160 Java Programming Introduction to Computers & Java Professor: Enoch E. Damson.

Introduction to Computers & Java 36

Compiling & Running Java Programs

javac is used to compile Java programs E.g. javac Hello.java

A .class file is created if no are found java is used to run Java programs

E.g. java Hello Two types of errors (bugs) are:

Syntax errors – mistakes that violate the rules of the programming language

Logical errors – mistakes that cause programs to produce erroneous results