0% found this document useful (0 votes)
38 views44 pages

Comp 14: Introduction To Programming

This document provides an overview of key concepts in computer hardware and software for an introduction to programming course. It discusses: 1) The main hardware components of a computer including the CPU, memory, input/output devices, and how they work together. 2) How data is represented digitally using binary numbers and how this allows computers to process information. 3) The differences between software types like operating systems and applications, and how they interface with hardware. 4) Basic concepts involved in programming like algorithms, programming languages, compilers, and the problem solving process.

Uploaded by

Alhusain Taher
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views44 pages

Comp 14: Introduction To Programming

This document provides an overview of key concepts in computer hardware and software for an introduction to programming course. It discusses: 1) The main hardware components of a computer including the CPU, memory, input/output devices, and how they work together. 2) How data is represented digitally using binary numbers and how this allows computers to process information. 3) The differences between software types like operating systems and applications, and how they interface with hardware. 4) Basic concepts involved in programming like algorithms, programming languages, compilers, and the problem solving process.

Uploaded by

Alhusain Taher
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 44

COMP 14

Introduction to Programming

Miguel A. Otaduy

May 12, 2004


…from Last Time
• Homework 1 due Tomorrow
– Fill in form with personal info
– Getting started with jGRASP
– Compile and Run test programs

– Any problems?

– Disable test for new versions


Today (ch. 1)
• Parts of the computer
– hardware vs. software
– CPU and memory

• Binary numbers

• What is an algorithm?
Reading Check-Up
1. hardware - computer components including
the CPU, main memory, I/O devices, and
secondary storage
2. CPU - the brain of the computer,
containing the CU, PC, IR, ALU, and ACC
3. program - computer instructions to solve a
problem
4. The digits 0 and 1 are called binary digits
or the shortened term bits
Hardware vs. Software
A computer is made up of hardware and software
Hardware Software
• CPU • operating systems
- ex: 1 GHz Pentium III - Windows XP
• input/output - Mac OS X
- keyboard
- monitor • applications
- network card - games
• main memory - Microsoft Word
- ex: 256 MB RAM - Internet Explorer
• secondary memory
- ex: 20 GB hard drive
Hardware Organization

CPU

memory

motherboard

hard drive
Central Processing Unit
CPU
• Control Unit (CU)
– "the brain" of the CPU
• Program Counter (PC)
– points to the next instruction to be executed
• Instruction Register (IR)
– holds the currently executing instruction
• Arithmetic Logic Unit (ALU)
– carries out all arithmetic and logical ops
• Accumulator (ACC)
– holds the results of the operations performed by the ALU
Main Memory
• Ordered sequence of cells

• AKA Random Access Memory (RAM)

• Directly connected to the CPU

• All programs must be brought into main memory before


execution

• When power is turned off, everything in main memory


is lost
Main Memory
With 100 Cells

Each memory cell has a


numeric address, which
uniquely identifies it
CPU and Main Memory

All programs must be Chip that executes


brought into main program instructions
(processor)
memory before
execution

Primary storage area


for programs and data
that are in active use
(RAM)
Secondary Storage

• Provides permanent storage for information


• Retains information even when power is off
• Examples of secondary storage:
– Hard Disks
– Floppy Disks
– ZIP Disks
– CD-ROMs
– Tapes
Secondary Storage

Secondary memory
devices provide
long-term storage

Information is moved
between main memory
and secondary memory
as needed
Input Devices
• Definition: devices that feed data and
computer programs into computers

• Examples:
– Keyboard
– Mouse
– Secondary Storage
Output Devices
• Definition: devices that the computer uses
to display results

• Examples:
– Printer
– Monitor
– Secondary Storage
Input/Output Devices

I/O devices facilitate


user interaction
Hardware Components
Opening MS Word
• Use the mouse to select
MS Word
• The CPU requests the MS
Word application
• MS Word is loaded from
the hard drive to main
memory
• The CPU reads
instructions from main
memory and executes
them one at a time
• MS Word is displayed on
your monitor
Questions
1. program counter (PC)- points to the next
instruction to be executed
2. address - a unique location in
memory
3. secondary storage - stores information
permanently
4. Instructions executed by the CPU must be
first loaded to main memory
Software Categories
• Operating System
– controls all machine activities
– provides the user interface to the computer
– first program to load when a computer is turned on
– manages computer resources, such as the CPU,
memory, and hard drive
– examples: Windows XP, Linux, Mac OS X
• Application
– generic term for any other kind of software
– examples: word processors, missile control systems,
games
Operating System (OS)
• OS monitors overall activity of the
computer and provides services
• Written using programming language
• Example services:
– memory management
– input/output
– storage management
Application Programs
• Written using programming languages
• Perform a specific task
• Run by the OS
• Example programs:
– Word Processors
– Spreadsheets
– Games
Questions
Classify the following pieces of software
as operating system or application:
1. Microsoft Windows 2000
2. Microsoft PowerPoint OS
3. Linux app
4. Your COMP 14 programs OS
app
It’s All About Data
• Software is data
– numbers, characters
– instructions, programs

• Hardware stores and processes data


– read, write
– add, subtract, multiply, divide
Analog vs. Digital
• Analog
– continuous wave forms
– ex: sound, music on an audio tape
• Digital
– the information is broken down into pieces, and each
piece is represented separately
– represented as series of 0 and 1
• 0 - low voltage
• 1 - high voltage
– can be copied exactly
– ex: music on a compact disc
Representing Text Digitally
• All information in a computer is digitized,
broken down and represented as numbers.

Hi, Heather.

72 105 44 32 72 101 97 116 104 101 114 46

Corresponding upper and lower case


letters are separate characters.
Language of a Computer
• Machine language: the most basic language of a
computer

• A sequence of 0s and 1s
– binary digit, or bit
– sequence of 8 bits is called a byte

• Every computer directly understands its own


machine language
– why can't Windows programs run on Apple computers?
Bit Permutations

1 bit 2 bits 3 bits 4 bits


0 00 000 0000 1000
1 01 001 0001 1001
10 010 0010 1010
11 011 0011 1011
100 0100 1100
101 0101 1101
110 0110 1110
111 0111 1111

Each additional bit doubles the number of possible permutations


Bit Permutations
• Each permutation can represent a particular
item
• There are 2N permutations of N bits
– N bits are needed to represent 2N unique items

1
1 bit ? 2 = 2 items
How many 2 bits ? 22 = 4 items
items can be 3
3 bits ? 2 = 8 items
represented by
4 bits ? 24 = 16 items
5 bits ? 25 = 32 items
Binary Numbers
• N bits to represent 2N values
• N bits represent values 0 to 2N-1
• Example: 5 bits
– 32 unique values (0-31)
– 00000 = 0
– 11111 = 31

24 23 22 21 20
16 + 8 + 4 + 2 + 1
Decimal to Binary
114 1110010
Place Digit Value
26 1 64
25 1 32
24 1 16
23 0 0
22 0 0
21 1 2
20 0 0
Questions
Binary Numbers
• What’s the maximum value a 6-bit number
can represent? 63

• What’s the decimal representation of


111010?
58 = 32+16+8+2
• What’s the binary representation of 35?
100011
Storage Capacity
• Every memory device has a storage
capacity, indicating the number of bytes (8
bits) it can hold
• Various units:
Unit Symbol Number of Bytes
kilobyte KB 210 = 1024
megabyte MB 220 (over 1 million)
gigabyte GB 230 (over 1 billion)
40
terabyte TB 2 (over 1 trillion)
Programming Languages
Evolution
• Early computers programmed in machine
language (only 0s and 1s)

• Assembly languages were developed to make


programmer’s job easier

• Assembler: translates assembly language


instructions into machine language
Assembly and Machine Language
Programming Languages
Evolution
• High-level languages make programming easier
• Closer to spoken languages
• Examples:
– Basic
– FORTRAN
– COBOL
– C/C++
– Java
From Java to Machine Language
• Computers understand only 0 and 1 (machine language)
• Compiler translates source code into machine code

• Java compiler translates source code (file ending in .java)


into bytecode (file ending in .class)
– bytecode is portable (not machine-specific)
• Java interpreter reads and executes bytecode
– different Java interpreters for different types of CPUs and
operating systems (OS)
• Intel/Windows, Motorola/Mac OS X, Intel/Linux
Problem Solving
• The purpose of writing a program is to solve a problem

• The general steps in problem solving are:


– understand the problem
– dissect the problem into manageable pieces
– design a solution
– consider alternatives to the solution and refine it
– implement the solution
– test the solution and fix any problems that exist
Algorithm
• Sequence of instructions used to carry out a task
or solve a problem
• May be written in either English or pseudocode
– outline of a program that could be translated into actual
code
• May need refinement as you work

Always write out your algorithm before you


begin programming
Problem-Analysis-Coding-Execution

most important step


without
computer

with
computer
Algorithm Design Example
Problem: Convert change in cents to number of half-dollars,
quarters, dimes, nickels, and pennies to be returned.
Example:
– given 646 cents
– number of half-dollars: divide 646 by 50
• quotient is 12 (number of half-dollars)
• remainder is 46 (change left over)
– number of quarters: divide 46 by 25
• quotient is 1 (number of quarters)
• remainder is 21 (change left over)
– number of dimes, nickels, pennies
– result: 12 half-dollars, 1 quarter, 2 dimes, 0 nickels, 1
penny
Resulting Algorithm
1. Get the change in cents
2. Find the number of half-dollars
3. Calculate the remaining change
4. Find the number of quarters
5. Calculate the remaining change
6. Find the number of dimes
7. Calculate the remaining change
8. Find the number of nickels
9. Calculate the remaining change
10. The remaining change is the number of pennies.
Exercise
• Execution of c=2*a+b in a computer
To do
• Read ch. 2
• Exercises 10 & 11 in ch. 1 (algorithm
design)
What’s Ahead...
• Java Basics

• Homework 1 due tomorrow


• Homework 2 assigned tomorrow

• Quiz Friday: computers and Java basics

You might also like