Welcome to COE321: Logic Design
Download
Report
Transcript Welcome to COE321: Logic Design
Installing Java on a Home
machine
For Windows Users:
Download/Install:
Go to
http://www.oracle.com/technetwork/java/javase/downloads/jdk7downloads-1880260.html
Accept License Agreement and then download the file named “jdk-7u25windows-i586.exe”.
Save the file to the desktop and run it.
The installer will install Java to:
C:\Program Files\Java\jdk1.7.0_75\
Once the installer is finished, you must set your computer's path before
Java will work correctly.
Installing Java on a Home
machine (cont’d)
Setting the Path:
Go to the Control Panel and double-click System
Select the Advanced tab
Click on the Environment Variables button
Look under System Variables for "Path"
Click on "Path" and then click edit
Add the following to the end of the Path
; C:\Program Files\Java\jdk1.7.0_75\bin
Click OK.
Click the "New" button.
For the variable name, type: CLASSPATH
For the value, type: .;
NOTE: The above value in words is period semicolon; it is not a
misprint.
Click OK.
Exit out of all the open windows
Installing Java on a Home
machine (cont’d)
To test if java is installed correctly:
Open up a command prompt
To do this click on Start and then Run
Type in cmd.exe and click Ok
Type java and hit enter
If you see something like "command not found", then java is not
installed correctly
Otherwise you should see a list of
options for running java
Developing a programming
skill
Learning to program a computer
Training yourself to solve problems
in a very detailed and organized manner
You are already experienced in
Intuitive problem solving
Need to develop programming skill
Write a problem solution
IN terms of actions appropriate for a computer
Computer organization
Computer system
Hardware
physical, tangible pieces such as chips, wires, and so on
Useless without instructions to tell them what to do
Driven by a series of instructions, in other words programs
Software
Programs and the data those programs use
Intangible counterpart to the physical hardware components
Computer hardware
Most computer have four major hardware parts
Central Processing Unit (CPU):
brain of the computer
executes individual commands of a program
Input/output devices
allow human beings to interact with a computer
Memory
stores programs and data while being processed by CPU
Computer hardware (cont’d)
Memory
Input devices
Output devices
CPU
What is programming
Computers performs tasks
more efficiently, quickly, and accurately
than we could by hand
However, to be useful it must be programmed
Computer programming:
Devise a set of instructions
to be executed by a computer
In order to solve a given real world problem
How do we write a program?
It is a two phase process
Problem-Solving
Phase
Analysis and
specification
General
solution
(Algorithm)
Implementation
Phase
Concrete
solution
(Program)
Test
Verify
Maintenance
Phase
Algorithm implementation
Peter’s JAVA code
JAVA code
Algorithm
C++ code
Ada code
Algorithm translated into
different languages
Algorithm
Nell’s JAVA code
John’s JAVA code
Algorithm translated by
different people
Programming shortcut
Problem
Problem Solving
Phase
(Algorithm)
Shortcut?
Implementation
Phase
(code)
Think first and code later
JAVA program execution
convert Java code to a form usable by computers
provided that in a computer instructions and data
In a computer,
are stored in the computer memories using binary codes
data represented by pulses of electricity
On circuit => ‘1’; Off circuit => ‘0’
Data in binary form => combination of enough 1s and 0s
Program execution means
translating data and instructions to patterns of 1s and 0s.
Programming language levels
Machine language
Primitive instruction built into each machine
Each type of CPU has its own language
Binary based instructions
=> tedious process and prone to error
Assembly language
Short English like words for commands and data
Tedious to use
Both are considered to be low level languages
Programming language levels
(cont’d)
High level language
Expressed in English like phrases
Easier to read and write
High level
Language
Assembly
Language
Machine
Language
a+b
ld [%fp-20] %o0 1101 000
0000 0111
ld [%fp-20] %o1 1101 0010
0000 0111
add %o0, %o1 1011 1111
1110 1000
Program development
Software tools involved
Editor: type a program and store in a file
Translation from high level into executable form
That translation may result in errors
You change the code to fix the problem
Execute the program and evaluate results
errors
Edit and save
program
Translate
program
errors
Execute
program
Compilers
Translation into machine language
Compiler:
Translates code in one language
to equivalent code in another one
Original code => source code,
Target language => particular machine language
Translate once and run whenever needed
Interpreters
Translation into machine language
Interpreter
similar to compiler with some differences
Interweaves the translation and execution
Parts of the source code
are translated and executed one at a time
Drawback:
Programs run more slowly,
as translation occurs during execution
JAVA translation and
execution
The process
combines the use of a compiler and interpreter
Java source code -> Bytecode (Java compiler)
JAVA virtual machine reads bytecode and executes it
Difference between Bytecode and machine language
Bytecode is not tied to any particular processor type
It makes JAVA architecture neutral => portable
JAVA translation and
execution (cont’d)
JAVA
Source code
JAVA compiler
JAVA
bytecode
JAVA
interpreter
Bytecode
compiler
Machine
code