ics 102 computer programming university of hail college of computer science & engineering...

Post on 22-Dec-2015

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related