ics 102 computer programming university of hail college of computer science & engineering...
TRANSCRIPT
ICS 102 Computer Programming
University of HailCollege of Computer Science & Engineering
Computer Science and Software Engineering Department
Chapter1 : Introduction
ICS 102 Computer Programming
ICS102: Computer Programming 3
Components of a Personal Computer
Questions : - what are the input devices ?- what are the output devices ?
4
A motherboard, provides the electrical connections by which the other components of the system communicate and hosts the central processing unit as well as other subsystems and devices.
Motherboard
ICS102: Computer Programming 5
Motherboard example : Acer E360
ICS102: Computer Programming 6
CPU (Central Processing Unit)
The Central Processing Unit (CPU) or processor is the portion of a computer system that carries out the instructions of a computer program and is the primary element carrying out the computer's functions.
In an addition operation, the arithmetic logic unit (ALU) will be connected to a set of inputs and a set of outputs. The inputs provide the numbers to be added, and the outputs will contain the final sum.
Example: (3 + 2) = 5
3
2
5
ICS102: Computer Programming 7
CPU memory
◦ Registers
◦ Cache
Main memory (RAM):
◦ Data has to be in main memory so that CPU can access it
◦ Volatile: lost when program exits; computer shuts off
Hard Disk, CD, etc.
◦ This is where you keep the data for long-term storage
Memory
Memory refers to computer components, devices, and recording media that hold digital data used for computing for some interval of time.
There are mainly three types of memory :
ICS102: Computer Programming 8
Main Memory …
10021003
1004
1005
CellAddress
Memory is divided intoMany memory locations (cells)
Each memory cell has a numeric address, which uniquely identifies it
Each cell contains a datavalue, e.g. 22
ICS102: Computer Programming 9
Main Memory…
ICS102: Computer Programming 10
The word “Hello.” stored in 6 memory cells
Main Memory…
Memory units : Bits and Bytes
Bit -- most basic unit of memory
◦ 1 or 0, on or off
1 Byte = 8 bits
In a computer, data values are stored as a sequence of bits
ICS102: Computer Programming 11
2
7
1004
1005
00000010
00000111
1004
1005
ICS102: Computer Programming 12
Program / CPU / Memory InteractionExample:
◦ Input read a number from keyboard◦ Add 1 to it◦ Output it on screen
KeyboardRAM
11 CPU
RAM
2 Monitor1 2 2
1-13
Software
Software is the programs and data that a computer uses. Both programs and data are saved in computer memory in the same way.
1-14
Computer Software
Types of software
Software
1-15
Software
Application Programs Systems Programs
Word processors Game programs Spreadsheets Data base systems Graphics programs Web browsers
Operating system.
Networking system. Programming
language software. Web site server. Device drivers.
What is programming?
ICS102: Computer Programming 17
What is a program?
A (software) program is a list of instructions intended to a computer
A program has inputs and outputs
Each instruction tells the computer to do something (an action, a calculation, a comparison)
ICS102: Computer Programming 18
Program ExecutionA program tells the CPU how to manipulate
and/or move information
Programming is about processing information
◦ Take some input,
◦ manipulate it in some way, and
◦ produce a particular output
ManipulationInputs Outputs
Program
ICS102: Computer Programming 19
Example 1 : Recipe for Scrambled Eggs
Ingredients (Inputs) : two eggs, tablespoon of oil, salt
Instructions (program):
◦ Add oil to pan
◦ Heat pan on stove
◦ Crack eggs into pan
◦ Add salt
◦ Mix until light and flakey
Output: scrambled eggs
ICS102: Computer Programming 20
Example 2 : Currency Exchange
Input:◦ Amount◦ Source Currency◦ Desired Currency
Instructions◦ Look up in table current exchange rate
for the selected currencies◦ Calculate result as amount * exchange
rate• Output: result
Task : convert an amount of money in some currency (e.g. US Dollars) to another one (e.g. Saudi Riyals).
ICS102: Computer Programming 21
Programming language
A programming language is the language used to write programs
A programming language employs a set of rules that dictate how the words and symbols can be put together to form valid program statements
A programming language has a syntax and semantics
In this course we focus on Java programming language.
ICS102: Computer Programming 22
Java• Java is a programming language
originally developed by James Gosling at
Sun Microsystems
• It was first released in 1995.
• The language derives much of its syntax
from C and C++.
• But has a simpler object model and fewer
low-level facilities than C and C++.
Programming Language Hierarchy
H ard w are
M ach in e L an g u ag e
A ssem b ly L an u ag e
H ig h -L eve l L an g u ag e (H L L )
The highs and lows of programming languages ...
High-Level Language (HLL)
◦closest to natural language
◦words, numbers, and math symbols
◦not directly understood by hardware
◦Java, C/C++, COBOL, FORTRAN, BASIC, Lisp, Ada, etc.
Machine Language (lowest level)◦natural language
for hardware◦just 0s and 1s◦directly
understood by hardware
Assembly Language (middle level)a more or less human readable
version of machine languagewords, abbreviations, letters and
numbers easily translated from human readable
to machine executable code
Getting from Source to Machine Code“Compiler”
a program that translates HLL source code to machine (object, or executable) code.
“Assembler”a program that translates assembly source
code to machine (object, or executable) code.
Compilers vs. Assemblers vs. InterpretersCompilers and Assemblers
◦ translation is a separate user step◦ translation is “off-line,” i.e. not at run time
Interpreters ◦ interpretation (from source to object code) is not a
separate user step◦ translation is “on-line,” i.e. at run time
Compiler,
Assembler, or
Interpreter
SourceCode
ObjectCode
Java Program Translation
Intermediate Code:“Byte Code”◦ similar to assembly
code,but hardware independent
Interpreter translates from generic byte code to hardware-specific machine code
Java Program Data for Java Program
Java Compiler
Byte-CodeProgram
Byte-Code Interpreter
Machine-LanguageInstructions
Computer Executionof Machine-Language Instructions
Output of Java Program
JavaVirtualMachine
Byte-Code and the Java Virtual Machine
The Java compiler translates Java
programs into byte-code, a machine
language called the Java Virtual
Machine
◦ Once compiled to byte-code, a Java program
can be used on any computer, making it
very portable
1-29
ICS102: Computer Programming 30
Portability of Java
Classical model:
Java model:
Program terminology
Code: A program or a part of a program
Source code (or source program): A
program written in a high-level language
such as Java
◦ The input to the compiler program
Object code: The translated low-level
program
◦ The output from the compiler program, e.g.,
Java byte-code
1-31
32
Portability of Java
Write once, run anywhere: Because applications written in the Java programming language are compiled into machine-independent bytecodes, they run consistently on any Java platform.
33
A Java Program
A Java program consists of one or more classes
A Java class consists of one or more methods
A Java method consists of one or more statements
A Java Program
Javaclasses
JavaMethods
34
A Java Program
A Java program resides in one or more files.
The file name of a Java program has extension .java.
One of the classes of a Java program is called the driver class.
The name of the driver class must be the same as the name of its Java file. (Java is case sensitive. So EX1 is different from ex1.)
The driver class must contain a method called main. The execution of Java program starts from the main method of the driver class.
35
Example of a Java Program
36
Example of a Java Program
Class nameMain method
Instruction
Class body
ICS102: Computer Programming 37
Example of a Java ProgramAlso notice:
Curly braces } {
38
Example of a Java ProgramAlso notice:
Parentheses ( )
Curly braces } {
39
Example of a Java ProgramAlso notice:
Parentheses ( )
Curly braces } { Square brackets] [
ICS102: Computer Programming 40
Example of a Java ProgramAlso notice:
A pair of braces } { define a block
Compiling and running a program
Type in your program
Save the program
◦ Store all your files in one directory for now
◦ Give the program the same name as the class
Compile the program
◦ this produces a .class file
◦ Translates the program into something the computer can understand and execute (Java bytecode)
Run the program
Observe the result and adjust the program if necessary
ICS102: Computer Programming 41
Edit
ICS102: Computer Programming 42
Text Editor
Public class/*
firstProg.java
Public class firstPtog/* This program is an …*/
public static void main… /* Program statements g … System.out.print(“Wel … }}
ICS102: Computer Programming 43
Compile - With Errors
firstProg.java
Public class firstPtog/* This program is an Arit*/
public static void main /* Program statements g System.print(“Welcome }}
Compiler
Errors and Warnings-------------------Error : The method print(String) is undefined forType System
ICS102: Computer Programming 44
Compile - Success
firstProg.java
Public class firstPtog/* This program is an Arit*/
public static void main /* Program statements System.out.print(“Welcome”); }}
Compiler
firstPtog.class
00101101000101110110110100010111011101010001011101110101101000101110111010110100010111011101011010001011101110101101000101110111000101110111010110100010111011100101110111010110100010111011100101110111010110100010111011100101110111010110100010111011100101110111010110100010111011100101110
Run Program
ICS102: Computer Programming 45
Welcome to the ArithmThe date is Monday SepWhat is your name?FredWell Fred, after a dayThe cube appears to beYou find a Green door,The door closes behindThere is a feel of mat
firstProg
Fred
1