Anda di halaman 1dari 54

LECTURE 1 :

OVERVIEW OF COMPUTERS AND PROGRAMMING

KK10103/KK14303 Programming Principles Prepared By Tan Soo Fun

Contents
1.1 Introduction 1.2 Electronic Computers Then and Now 1.3 Computers : Hardware 1.4 Computers : Software 1.5 The Software Development Method 1.6 Applying the Software Development Method CASE STUDY : CONVERTING MILES TO KILOMETERS

Learning Outcomes

Upon completion of this topic, the students should able to : Describe

basic computer systems concepts Identify the basic elements of computer hardware and software List and describe the classifications of computer languages Apply the software development method

1.1 Introduction
Bill Gates
- Born on October 28, 1955 in Seattle, Washington -Start Microsoft 1975

Source : http://www.freeinfosociety.com/article.php?id=74

1.1 Introduction
Steven Paul "Steve" Jobs
- Born February 24, 1955, San Francisco -Start Apple Inc. , 1976

1.1 Introduction
Robin Li
- Born in Yangquan, Shanxi, China -Start China's most popular search engine Baidu

1.1 Introduction

Mark Zuckerberg
- born May 14, 1984 -co-founder of Facebook

1.2 Electronic Computers Then and Now

AtanasoffBerry Computer (ABC) First Electronic Computer, 1937 John Vincent Atanasoff , Clifford Berry at Iowa State University The machine was not programmable, being designed only to solve systems of linear equations

1.2 Electronic Computers Then and Now

ENIAC (Electronic Numerical Integrator And Computer) first general-purpose electronic computer created at University of Pennsylvania, funded by United States Army designed to calculate artillery firing tables for the United States Army's Ballistic Research Laboratory

1.2 Electronic Computers Then and Now

Third Generation

IBM 7090
designed for "large-scale scientific and technological applications

PDP-8
- First successful commercial minicompute r - produced by Digital Equipment Corporation (DEC) in the 1960s

1.2 Electronic Computers Then and Now

Fourth Generation

VAX
-an instruction set architecture (ISA) -developed by Digital Equipment Corporation (DEC) in the mid-1970s

1.2 Electronic Computers Then and Now

Intel Atom processor chip

contains the full circuitry of a central processing unit in an integrated circuit whose small size and low power requirements make it suitable for use in mobile internet devices. (Intel Corporation Pressroom Photo Archives)

1.2 Electronic Computers Then and Now

Now
(a) Notebook Computer (HP Pavilion
dv5, Courtesy of Hewlett-Packard). (b) Palmtop Computer (iPhone 4G, Courtesy of Apple, Inc.) (c) Desktop Computer (iMac, Courtesy of Apple, Inc.)

1.2 Electronic Computers Then and Now

Future ??

1.2 Electronic Computers Then and Now

1.1 Electronic Computers Then and Now-Future ??

1.3 Computers : Hardware

Computers ??
a

device that can perform computations and make logical decisions billions of times faster than human beings can.

Modern Computers can be categorized (size and Performance) into :


Personal

Computers Mainframes Supercomputers

1.3 Computers : Hardware

Components of Computers

1.3 Computers : Hardware

Components of Computers (Top Level View)

1.3 Computers : Hardware

Memory

1000 Memory Cells in Main Memory

1.3 Computers : Hardware

Bytes
The

amount of storage required to store a single character

Bits
The

smallest element a computer can deal with A binary digit, a 0 or a 1

1.3 Computers : Hardware

Digits of the binary, octal, decimal and hexadecimal number system

1.3 Computers : Hardware

Converting a binary number to decimal


Question
answer

1 : 110101

: 53

Conversion of decimal to binary

Will discuss more on tutorial 1

1.3 Computers : Hardware

Main Memory
RAM (Random Access Memory) ROM (Read Only Memory) -The part of memory that permanently stores programs or data - Not Volatile Memory

-The part of main memory that temporarily stores programs, data and results -Volatile Memory -Contents that disappear when the computer is switched off

1.3 Computers : Hardware

Secondary Storage

Units such as disks or flash drives that retain data even when the power to the drive is off

Why ??

Store more information/data that will fit in memory Need permanent/semipermanent data during power loss or when computer is turned off

1.3 Computers : Hardware

File

Named collection of data stored on a disk

Directory

A list of the names of files stored on a disk

Subdirectory

A list of the names of files that relate to a particular topic

1.3 Computers : Hardware

1.3 Computers : Hardware

Central Processing Unit (CPU)


Referred to as Processor
Controls the operation of the computer

Performs the data processing functions

1.3 Computers : Hardware

Computer Networks
Local

Area Network (LAN)

Computers,

printers, scanners and storage devices connected by cable for intercommunication

1.3 Computers : Hardware

Computer Networks
Wide

Area Network (WAN)

A network

such as the Internet that connects computers and LANs over a large geographic area

1.3 Computers : Hardware

Computer Networks
World

Wide Web (WWW)

A part

of the Internet whose graphical user interface (GUI) make associated network resources easily navigate allows computer users to locate and view multimediabased documents on almost any subject over the Internetthe Internet has exploded into the worlds premier communication mechanism. Todays applications can be written to communicate among the worlds computers.

1.3 Computers : Software

Operating System
Software

that controls interaction of user and computer hardware manages allocation of computers resources

1.3 Computers : Software

1.3 Computers : Software

Bootstrap program is loaded at power-up or reboot


Typically

stored in ROM or EPROM, generally known as firmware Initializes all aspects of system Loads operating system kernel and starts execution

1.3 Computers : Software

System Calls

Command-Line Interface

GUI

1.3 Computers : Software

Software
Application Software System Software

- Software used for a specific task such as word processing, accounting , or database management

- manage and integrate a computer's capabilities, but typically do not directly apply them in the performance of tasks that benefit the use

1.3 Computers : Software

Types of Software

1.3 Computers : Software

Computer languages may be divided into three general types:

1.3 Computers : Software

Machine Language

Binary number codes understood by a specific CPU natural language of a computer and as such is defined by its hardware design Advantages : Fast Processing and response Drawbacks : machine dependent (i.e., a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans, as illustrated by the following section of an early machinelanguage program that adds overtime pay to base pay and stores the result in gross pay:

+1300042774 +1400593419 +1200274027

1.3 Computers : Software

Machine Language

1.3 Computers : Software

Assembly Languages
Mnemonic

codes that correspond to machine language instructions


Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay:

load basepay add overpay store grosspay

Although such code is clearer to humans, its incomprehensible to computers until translated to machine language.

1.3 Computers : Software

Assembly Languages

1.3 Computers : Software

High-Level Language
Machine-independent programming language that combines algebraic expressions and English symbols Translator programs called compilers convert highlevel language programs into machine language. High-level languages allow programmers 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 statement such as

grossPay = basePay + overTimePay;

1.3 Computers : Software

High-Level Language

1.3 Computers : Software


myprog.c Entering, Translating, and Running a High-Level Language Program

myprog.obj

myprog.exe

1.3 Computers : Software

1.4 Computers : Software

Flow of Information During Program Execution

1.5 The Software Development Method

Software development Method

1.6 Applying the Software Development Method

CASE STUDY : CONVERTING MILES TO KILOMETERS


PROBLEM : Your summer surveying job requires you to study some maps that give distances in kilometers and some that use miles. You and your coworkers prefer to deal in metric measurements. Write a program that performs the necessary conversion

1.6 Applying the Software Development Method

Step 1 : Identify the system Requirements


PROBLEM :

Your summer surveying job requires you to study some maps that give distances in kilometers and some that use miles. You and your coworkers prefer to deal in metric measurements. Write a program that performs the necessary conversion

1.6 Applying the Software Development Method

Step 2 : Analysis
Problem
Problem

Input :
in miles

distance

Output : Formula

distance in kilometers
mile = 1.609 kilometers

Relevant
1

1.6 Applying the Software Development Method

Step 3 :Design
1.
2. 3.

Get the distance in miles Convert the distance to kilometers Display the distance in kilometers

1 miles = 1.609 kilometers

1.6 Applying the Software Development Method

Implementation

THE END

KK10103/KK14303