Java Programming - Introduction to Computers & Java

aniseedsplashSoftware and s/w Development

Aug 15, 2012 (4 years and 4 months ago)

243 views

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

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

Introduction to Computers & Java

4

Input Devices


Collects data for the computer


Common devices include:


Keyboard


Mouse


Scanner


Digital camera

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

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

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

Introduction to Computers & Java

8

Output Devices


Formats and presents processed data
(information) to the outside world


Common devices include:


Monitors


Printers

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

Introduction to Computers & Java

10

Procedures


Rules or guidelines for people to follow
when using software, hardware, and data


Guidelines are documented in
manuals


Introduction to Computers & Java

11

Data


Raw facts entered into the computer
system for processing


Processed to produce
information

Introduction to Computers & Java

12

People


Making people more productive is what
computers are all about


Users include:


Analysts


Designers


Developers


End
-
users

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 (
0
s and
1
s)


E.g.
1011010000000101


Each different type of CPU has its own machine
language


Algorithms written with
programming languages

are much easier to understand

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

Program Development
(Programming) Cycle


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


Programming steps include:

1.
Creating program specifications

2.
Designing the application

3.
Writing source code

4.
Compiling/Interpreting programs

5.
Executing (running) program

Introduction to Computers & Java

15

Program Development
(Programming) Cycle…


Creating program specifications


the requirements the application must
meet

Introduction to Computers & Java

16

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

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

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

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

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

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

Introduction to Computers & Java

23

Programming Languages…


Low
-
level languages



include:


Machine language (1
st

Generation)


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


Assembler language (2
nd

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

Introduction to Computers & Java

24

Programming Languages…


High
-
level languages



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


3
rd

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


4
th

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

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

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

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

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


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

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

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

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

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

Text

Editor

Source

File

Java

Compiler

Byte Code

File

Java Virtual

Machine

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

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
)

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