Introduction To Computers, The Internet & Java: Academic 2019 Academic 2019 Class: BIT23/BCS10 Class: BIT23/BCS10
Introduction To Computers, The Internet & Java: Academic 2019 Academic 2019 Class: BIT23/BCS10 Class: BIT23/BCS10
Academic 2019
2019
Class:
Class: BIT23/BCS10
BIT23/BCS10
Chapter 01
06/12/21 1
Java is one of the world’s most widely used computer
programming languages.
You’ll learn to write instructions commanding
06/12/21 2
For many organizations, the preferred language for
meeting their enterprise programming needs is Java.
Java is also widely used for implementing Internet-
06/12/21 3
06/12/21 4
Java Standard Edition
Java How to Program, 10/e is based on Java Standard
06/12/21 5
Java Enterprise Edition
Java is used in such a broad spectrum of applications
06/12/21 6
Java Micro Edition (Java ME)
◦ a subset of Java SE.
◦ geared toward developing applications for resource-
constrained embedded devices, such as
Smartwatches
MP3 players
television set-top boxes
smart meters (for monitoring electric energy usage)
and more.
06/12/21 7
Computers can perform calculations and make logical
decisions phenomenally faster than human beings can.
Today’s personal computers can perform billions of
calculations in one second—more than a human can
perform in a lifetime.
Supercomputers are already performing thousands of
trillions (quadrillions) of instructions per second!
Computers process data under the control of sequences of
instructions called computer programs.
06/12/21 8
These software programs guide the computer through
ordered actions specified by people called computer
programmers.
06/12/21 9
A computer consists of various devices referred to as
hardware
◦ (e.g., the keyboard, screen, mouse, hard disks, memory, DVD drives
and processing units).
Computing costs are dropping dramatically, owing to rapid
developments in hardware and software technologies.
Computers that might have filled large rooms and cost
millions of dollars decades ago are now inscribed on silicon
chips smaller than a fingernail, costing perhaps a few
dollars each.
Silicon-chip technology has made computing so economical
that computers have become a commodity.
06/12/21 10
Every year or two, the capacities of computers have
approximately doubled inexpensively.
This remarkable trend often is called Moore’s Law.
Named for the person who identified the trend, Gordon
Moore, co-founder of Intel.
Moore’s Law and related observations apply especially
to the amount of memory that computers have for
programs, the amount of secondary storage (such as disk
storage) they have to hold programs and data over longer
periods of time, and their processor speeds—the speeds
at which they execute their programs (i.e., do their work).
06/12/21 11
Similar growth has occurred in the communications
field.
06/12/21 12
Computers can be envisioned as divided into various
logical units or sections.
06/12/21 13
06/12/21 14
06/12/21 15
06/12/21 16
06/12/21 17
Data items processed by computers form a data
hierarchy that becomes larger and more complex in
structure as we progress from the simplest data items
(called “bits”) to richer ones, such as characters and
fields.
06/12/21 18
06/12/21 19
Bits
The smallest data item in a computer can assume the value 0
or the value 1.
Such a data item is called a bit (short for “binary digit”—a
digit that can assume either of two values).
Remarkably, the impressive functions performed by
computers involve only the simplest manipulations of 0s and
1s—examining a bit’s value, setting a bit’s value and
reversing a bit’s value (from 1 to 0 or from 0 to 1).
06/12/21 20
Characters
We prefer to work with decimal digits (0–9), uppercase
letters (A–Z), lowercase letters (a–z), and special symbols
(e.g., $, @, %, &, *, (, ), –, +, ", :, ? and / ).
Digits, letters and special symbols are known as characters.
The computer’s character set is the set of all the characters
used to write programs and represent data items on that
device.
Computers process only 1s and 0s, so every character is
represented as a pattern of 1s and 0s.
Java uses Unicode® characters that are composed of one,
two or four bytes (8, 16 or 32 bits).
06/12/21 21
Unicode contains characters for many of the world’s
languages.
See Appendix B for more information on the ASCII
(American Standard Code for Information Interchange)
character set—the popular subset of Unicode that represents
uppercase and lowercase letters in the English alphabet,
digits and some common special characters.
06/12/21 22
Fields
Just as characters are composed of bits, fields are composed
of characters or bytes.
Afield is a group of characters or bytes that conveys
meaning.
For example, a field consisting of uppercase and lowercase
letters could be used to represent a person’s name, and a field
consisting of decimal digits could represent a person’s age.
06/12/21 23
Records
Several related fields can be used to compose a record
(implemented as a class in Java).
In a payroll system, for example, the record for an employee
might consist of the following fields (possible types for these
fields are shown in parentheses):
◦ Employee identification number (a whole number)
◦ Name (a string of characters)
◦ Address (a string of characters)
◦ Hourly pay rate (a number with a decimal point)
◦ Year-to-date earnings (a number with a decimal point)
◦ Amount of taxes withheld (a number with a decimal point)
Thus, a record is a group of related fields.
In the preceding example, all the fields belong to the same
employee.
06/12/21 24
Files
A file is a group of related records.
06/12/21 25
Database
A database is a collection of data that’s organized for easy
access and manipulation.
The most popular database model is the relational database
in which data is stored in simple tables.
A table includes records and fields.
◦ For example, a table of students might include first name, last name,
major, year, student ID number and grade point average fields.
◦ The data for each student is a record, and the individual pieces of
information in each record are the fields.
You can search, sort and otherwise manipulate the data
based on its relationship to multiple tables or databases.
06/12/21 26
Big Data
The amount of data being produced worldwide is huge and
growing explosively.
According to IBM, approximately 2.5 quintillion bytes (2.5
exabytes) of data are created daily and 90% of the world’s
data was created in just the past two years!
(www-01.ibm.com/software/data/bigdata/)
Big data applications deal with such massive amounts of data
and this field is growing quickly, creating lots of opportunity
for software developers.
06/12/21 27
06/12/21 28
Programmers write instructions in various
programming languages, some directly understandable
by computers and others requiring intermediate
translation steps.
These may be divided into three general types:
◦ Machine languages
◦ Assembly languages
◦ High-level languages
06/12/21 29
Machine Languages
Any computer can directly understand only its own machine
language, defined by its hardware design.
◦ Generally consist of strings of numbers (ultimately reduced to 1s and
0s) that instruct computers to perform their most elementary operations
one at a time.
◦ Machine dependent—a particular ma-chine language can be used on
only one type of computer.
Assembly Languages and Assemblers
English-like abbreviations that represent elementary operations
formed the basis of assembly languages.
Translator programs called assemblers convert early assembly-
language programs to machine language.
06/12/21 30
High-Level Languages and Compilers
High-level languages
◦ Single statements accomplish substantial tasks.
◦ Compilers convert high-level language programs into machine language.
◦ Allow you to write instructions that look almost like everyday English
and contain commonly used mathematical notations.
◦ A payroll program written in a high-level language might contain a
single statement such as
grossPay = basePay + overTimePay
Interpreters
Compiling a high-level language program into machine
language can take considerable computer time.
Interpreter programs, developer to execute high-level language
programs directly, avoid the delay or compilation, although they
run slower than compiled programs.
06/12/21 31
Introduction to Java
Java is an object-oriented programming language developed by
James Gosling and colleagues at Sun Microsystems in the early
1990s. which resulted in a C++-based object-oriented programming
language that Sun called Java.
The language itself borrows much syntax from C and C++ but has a
simpler object model and fewer low-level facilities. Java is only
distantly related to JavaScript, though they have similar names and
share a C-like syntax
06/12/21 32
Java (Cont.)
1993
The web exploded in popularity
Sun saw the potential of using Java to add dynamic
content to web pages.
Java drew the attention of the business community
because of the phenomenal interest in the web.
Java is used to develop large-scale enterprise
applications, to enhance the functionality of web servers,
to provide applications for consumer devices and for
many other purposes.
06/12/21 33
Methods and Classes
Performing a task in a program requires a method.
The method houses the program statements that actually
perform its tasks.
Hides these statements from its user, just as the accelerator
pedal of a car hides from the driver the mechanisms of
making the car go faster. In Java, we create a program unit
called a class to house the set of methods that perform the
class’s tasks.
A class is similar in concept to a car’s engineering drawings,
which house the design of an accelerator pedal, steering
wheel, and so on.
06/12/21 34
Java (Cont.)
06/12/21 35
A Typical Java Development Environment
06/12/21 36
A Typical Java Development Environment
(Cont.)
Linux editors: vi and emacs.
Windows provides Notepad.
OSX provides TextEdit.
Many freeware and shareware editors available online:
Notepad++ (notepad-plus-plus.org)
EditPlus (www.editplus.com)
TextPad (www.textpad.com)
jEdit (www.jedit.org).
06/12/21 37
Typical Java Development Environment (Cont.)
06/12/21 38
Cont….
Java compiler translates Java source code into bytecodes that
represent the tasks to execute.
06/12/21 39
Cont….
06/12/21 40
Cont….
Phase 5: Execution
The JVM executes the program’s bytecodes.
JVMs typically execute bytecodes using a combination of
interpretation and so-called just-in-time (JIT) compilation.
Analyzes the bytecodes as they’re interpreted
A just-in-time (JIT) compiler—such as Oracle’s Java HotSpot™
compiler—translates the bytecodes into the underlying computer’s
machine language.
06/12/21 41
Cont….
When the JVM encounters these compiled parts again, the faster
machine-language code executes.
Java programs go through two compilation phases
One in which source code is translated into bytecodes (for
portability across JVMs on different computer platforms) and
A second in which, during execution, the bytecodes are translated
into machine language for the actual computer on which the
program executes.
06/12/21 42
END
06/12/21 43