CPS120 - Washtenaw Community College
Download
Report
Transcript CPS120 - Washtenaw Community College
CPS120: Introduction to
Computer Science
Introduction to Computers
Introduction to Computers
Objectives
– Understand the history of computers
– Understand the components that make up a
desktop PC
– Understand the basics of computer architecture
– Understand the role of an operating system
– Understand the role of assemblers, interpreters,
& compilers
History of Computers
Abacus
Pascal’s gear-driven counting machine
– His father was a tax collector
Babbage designed a programmable
computer (1834)
Ada Augusta King, Countess of Lovelace,
translates Menabrea's pamphlet on the
Analytical Engine, adding her own notes,
and becomes the world's first programmer.
"Modern" Developments
Hollerith built machine for US census bureau
& founded IBM
1946, ENIAC used vacuum tubes (Univ of
Penn) - very hot, needed AC, military paid for
this research
Transistors used in 1950’s, didn’t burn out like
vacuum tubes
Integrated circuits (chips) used in 1960’s
Microprocessor used in 1970’s
Supercomputers, mainframes, minicomputers,
workstations, desktop computers
System Components
Hardware
– I/O devices (input/output)
• keyboard, mouse, monitor, etc.
– CPU
– Primary Storage
– Secondary Storage
Software
Computer Architecture
Microprocessor (examples Pentium, Pentium II,
PowerPC, etc.)
– includes Bus Interface Unit, Arithmetic & Logic Unit
(ALU), Control Unit, registers
– motherboard is simply the main circuit board that
contains most of these parts
– the CPU (central processing unit) is considered to be
most of these parts taken as a whole
Bus
– connects the microprocessor to the RAM & ROM
– addresses for data and instructions are important
Storage Devices
Primary storage
– RAM (Random Access Memory, or just “memory” for
short)
• active data that is being stored, lost if power is cut off so save
often
– ROM (Read-Only Memory)
• commands that are permanently stored on chips
• PC’s use BIOS, Macs use the Toolbox
Secondary storage
– Hard disk, floppy disks
– Slower method of storage & retrieval but “safer”
Software: Systems Software
Operating systems
– Controls the hardware components (disks,
CPU, printers, etc.)
– Windows XP, Windows NT/2000, Windows 9X, MS-DOS, OS/2, MacOS, Unix, Linux,
BeOS
Software: Application Software
Office products
– Word processors
– Spread sheets
– Presentation software
– Email
Business applications
– General ledger
– Financials
• Accounts payable
• Accounts receivable
– HRMS
– Fixed assets/inventory
Programming Software
Text Editor
– Used by the programmer while coding the
program in a programming language
• Like a word processor - creates a text file containing
the program's instructions or "source code"
– Examples are “emacs” and “vi” editors in Unix systems
– Other editors are NotePad and WordPad which are textbased
Programming Software
Interpreters
– Translates source code into machine code line by line
Compiler
– Translates source code into an object file, than uses
linker to create an executable file
• A source module (source code) becomes an "object" module
(compiled module)
• Then it is linked with system modules to become a "load"
module (linked module)
It is usually more efficient to use a compiler
Data Representation
Objectives
– Understand how data & instructions are stored
in the PC
– Understand the basics of the binary numbering
system
Representing Data
Data can be numeric, alphabetic, or
alphanumeric
Computer only uses “on” & “off” within its
circuits
Representing Data: Bits
Computer only uses “on” & “off” within its
circuits
Binary number system
– “On”, 1, high state of electricity
– “Off”, 0, low state of electricity
– Bits (0’s and 1’s)
Representing Data: Bytes
Byte = 8 bits (23)
256 possible combinations of 8 bits
Decimal system is cumbersome & awkward
for pc’s
– Can convert from decimal to binary & vice
versa
• ASCII (American standard code for information
interchange)
128 characters in the 7-bit set
Representing Instructions:
Low Level Languages
– Each computer uses its own machine
language
– Assembly is a low-level language close to
machine language
• Assembly languages are different on each
computer
• An assembler converts a program into
machine language