Lecture 1 Overview of Computers and Programming
Lecture 1 Overview of Computers and Programming
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
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
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
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
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
Fourth Generation
VAX
-an instruction set architecture (ISA) -developed by Digital Equipment Corporation (DEC) in the mid-1970s
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)
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.)
Future ??
Computers ??
a
device that can perform computations and make logical decisions billions of times faster than human beings can.
Components of Computers
Memory
Bytes
The
Bits
The
1 : 110101
: 53
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
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
File
Directory
Subdirectory
Computer Networks
Local
Computers,
Computer Networks
Wide
A network
such as the Internet that connects computers and LANs over a large geographic area
Computer Networks
World
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.
Operating System
Software
that controls interaction of user and computer hardware manages allocation of computers resources
stored in ROM or EPROM, generally known as firmware Initializes all aspects of system Loads operating system kernel and starts execution
System Calls
Command-Line Interface
GUI
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
Types of 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:
Machine Language
Assembly Languages
Mnemonic
Although such code is clearer to humans, its incomprehensible to computers until translated to machine language.
Assembly Languages
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
High-Level Language
myprog.obj
myprog.exe
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
Step 2 : Analysis
Problem
Problem
Input :
in miles
distance
Output : Formula
distance in kilometers
mile = 1.609 kilometers
Relevant
1
Step 3 :Design
1.
2. 3.
Get the distance in miles Convert the distance to kilometers Display the distance in kilometers
Implementation
THE END
KK10103/KK14303