BFC 20802:
Introduction to Computer
Programming
(Chapter 1) 1.
Program.”
2.
“C How To
Deitel (2007) .
Pearson
Adrian & Kathie Kingsley Hughes
(2005) “Beginning
Programming”. Wiley
Publishing, Inc.
3. from Wikipedia website, free
encyclopedia.
1
1.1 The Computer
http://www.cplusplus.com/do
c/tutorial/program_structure/
What Is Computer?
• An electronic device, operating under the control of
instructions stored in its own memory
• Two major components
Computer
Hardware Software
3
Why Program?
Computer – programmable machine designed to follow
instructions
Program – instructions in computer memory to make it do
something
Programmer – person who writes instructions (programs)
to make computer perform a task
SO, without programmers, no programs; without programs,
a computer cannot do anything
1.2
Computer System: The Hardware
Types of Computer
Personal computers
Mobile computers & mobile devices
Game consoles
Servers
Mainframes
Supercomputers
Embedded computers
6
Computer’s Component
Main Component (Hardware) of computer;
8
Computer’s Component (cont…)
• The architecture of a typical computer, usually consists of;
System Unit (CPU)
power of the computers. Consist of ALU and control unit.
Main Memory (RAM & ROM)
stores information to be processed or instructions on how to process
information.+ 2nd Storage (mass storage - tapes, optical discs, magnetic
disc, etc.)
Peripherals devices
2 types;
1. Input Devices – keyboards, mouse, laser pointer, digital pen, etc.
2. Output Devices – monitors, LCD screen, printers, speakers, etc.
Communication Devices
Enables a computer to send and receive data, instructions, and information
Note:
Some references books show the basic components of typical computer system is CPU,
Main memory, secondary memory/storage devices, input devices and output devices.
9
Computer Architecture
• The Organization of CPU
CPU
Instruction ALU – Arithmetic
(Input) Logic Unit
Control
Unit
Result
(Output)
Communication
devices
Input Devices
11
Computer Architecture (cont…)
System Unit (CPU)
• Comprised of:
• Control Unit
• Retrieves and decodes program instructions
• Coordinates activities of all other parts of computer
• Arithmetic & Logic Unit
• Hardware optimized for high-speed numeric calculation
• Hardware designed for true/false, yes/no decisions
Computer Architecture (cont…)
Main Memory
• It is volatile. Main memory is erased when program
terminates or computer is turned off
• Also called Random Access Memory (RAM)
• Organized as follows:
• bit: smallest piece of memory. Has values 0 (off,
false) or 1 (on, true)
• byte: 8 consecutive bits. Bytes have addresses.
Computer Architecture (cont…)
Main Memory
• Addresses – Each byte in memory is identified by a
unique number known as an address.
In Figure 1-3, the number 149 is stored in the byte with the address 16, and
the number 72 is stored at address 23.
Computer Architecture (cont…)
Secondary storage
• Non-volatile: data retained when program is not
running or computer is turned off
• Comes in a variety of media:
• magnetic: floppy disk, zip disk, hard drive
• optical: CD-ROM
• Flash drives, connected to the USB port
Computer Architecture (cont…)
Input devices
• Devices that send information to the computer from
outside
• Many devices can provide input:
• Keyboard, mouse, scanner, digital camera,
microphone
• Disk drives and CD-ROM
Computer Architecture (cont…)
Output devices
• Output is information sent from a computer program
to the outside world.
• The output is sent to an output device
• Many devices can be used for output:
• Computer monitor and printer
• Floppy, zip disk drives
• Writable CD drives
18
1.3
Computer System: The Software
Computer Software
• Software is divided into 2 categories
Software
System Application
Software Software
Computer Software (Cont..)
SYSTEM SOFTWARE APPLICATION SOFTWARE
• Normally supplied by the • Designed to perform a specific
manufacturer of the computer task such as course
• Consists of utility programs and registration or banking and a
operating aids that facilitate the general-purpose such as
use and performance of the processor (eg. Ms Word)
computer • May be acquired by purchasing
• Includes the computer’s off-the-shelf or by designing for
operating system own purpose (customer made)
• Related software that manages • Off-the-shelf : prewritten and
the system’s resources and ready to use
control the operations of the • Custom made : written by in-
hardware. house, consulting firm or
software house
21
Computer Software (Cont..)
Where are the application and system software?
Application Software
• users can directly
understand and use the
software.
• communicate in human
language
Interpreter • eg. Micr. Office, notepad,
• use to interpret high- prog. lang. such C, C++, VB,
level language to low etc.
level lang. and so on.
• user will communicate
with system easily. System Software
• operating system
• manage and control
by machine language
• eg. i-Mac, windows,
Unix, Linux,machine
lang.
22
Programs & Programming Languages
• A program is a set of instructions that the computer
follows to perform a task
• We start with an algorithm, which is a set of well-defined
steps.
Example Algorithm for Calculating Area of Rectangular
Machine Language
• Although the previous algorithm defines the steps for
calculating the gross pay, it is not ready to be executed
on the computer.
• The computer only executes machine language
instructions.
Machine Language
• Machine language instructions are binary numbers, such
as
1011010000000101
• Rather than writing programs in machine language,
programmers use programming languages.
Programs and
Programming Languages
• Types of languages:
• Low-level: used for
communication with computer
hardware directly. Often written
in binary machine code (0’s/1’s)
directly.
• High-level: closer to human
language
Some Well-Known High Level Programming Languages
From a High-level Program to an Executable File
1. Create file containing the program with a text editor.
2. Run preprocessor to convert source file directives to source code
program statements.
3. Run compiler to convert source program into machine
instructions.
4. Run linker to connect hardware-specific code to machine
instructions, producing an executable file.
• Steps 1 - 4 are often performed by a single
command or button click.
• Errors detected at any step will prevent execution of
following steps.
From a High-level Program to an Executable File
Source Code Object Code
Preprocessor Linker
Modified Executable Code
Source Code
Compiler
Why Python
Jupyter Notebook
Jupyter’s Interface
34
1.4
What Is a Program Made Of?
What Is a Program Made Of?
• Common elements in programming languages:
• Key Words
• Programmer-Defined Identifiers
• Operators
• Punctuation
• Syntax
Program 1-1
# This Program is to Calculate Area of Rectangular
print ("")
print ("Area Calculator for Rectangular")
print ("===============================")
length = float(input("Enter Length = "))
width = float (input("Enter Width = "))
area = length*width
print ("Area of rectangular is ", area)
Key Words
• Also known as reserved words
• Have a special meaning in Python
• Can not be used for any other purpose
• Key words in the Program 1-1: print,
float, input
Key Words
# This Program is to Calculate Area of Rectangular
print ("")
print ("Area Calculator for Rectangular")
print ("===============================")
length = float(input("Enter Length = "))
width = float (input("Enter Width = "))
area = length*width
print ("Area of rectangular is ", area)
Programmer-Defined Identifiers
• Names made up by the programmer
• Not part of the Python language
• Used to represent various things: variables
(memory locations), modules, etc.
• In Program 1-1: length, width, and area.
Programmer-Defined Identifiers
# This Program is to Calculate Area of Rectangular
print ("")
print ("Area Calculator for Rectangular")
print ("===============================")
length = float(input("Enter Length = "))
width = float (input("Enter Width = "))
area = length*width
print ("Area of rectangular is ", area)
Operators
• Used to perform operations on data
• Many types of operators:
• Arithmetic - ex: +,-,*,/
• Assignment – ex: =
Operators
# This Program is to Calculate Area of Rectangular
print ("")
print ("Area Calculator for Rectangular")
print ("===============================")
length = float(input("Enter Length = "))
width = float (input("Enter Width = "))
area = length*width
print ("Area of rectangular is ", area)
Punctuation
• Characters that mark the end of a statement, or
that separate items in a list
• In Program 1-1: , and “”
Punctuations
# This Program is to Calculate Area of Rectangular
print ("")
print ("Area Calculator for Rectangular")
print ("===============================")
length = float(input("Enter Length = "))
width = float (input("Enter Width = "))
area = length*width
print ("Area of rectangular is ", area)
Syntax
• The rules of grammar that must be followed
when writing a program
• Controls the use of key words, operators,
programmer-defined symbols, and punctuation
Variables
• A variable is a named storage location in the
computer’s memory for holding a piece of data.
• In Program 1-1 we used three variables:
• The length variable was used to hold the
length of rectangular
• The width variable was used to hold the
width of rectangular
• The area variable was used to hold the area
of rectangular
Variable Definitions
• Variables are not necessary to be declared
in Python.
• However, good practice of programming
consider to declare it while using input
function. Example shown below:
length = float (input (“Enter length: ”))
Variable Data type Function String Argument
Variable Definitions
• There are many different types of data, which you
will learn about in this course.
• A variable holds a specific type of data.
• The variable definition specifies the type of data a
variable can hold, and the variable name.
1.5
Input, Processing, and Output
Input, Processing, and Output
Three steps that a program typically
performs:
1) Gather input data:
from keyboard
from files on disk drives
2) Process the input data
3) Display the results as output:
send it to the screen
write to a file
1.6
The Programming Process
The Programming Process
1.7
Procedural and
Object-Oriented Programming
Procedural and Object-Oriented Programming
Procedural programming: focus is on the
process. Procedures/functions are written
to process data.
Object-Oriented programming: focus is on
objects, which contain data and the means
to manipulate the data. Messages sent to
objects to perform operations.
1.8
Exercise & Quiz
Exercise
Lab Exercise
FKAAS. “Programming Technique 1.”
Part A -
Part B -
58
Quiz 1
Page 23
Tony Gaddish & Barret Krupnow. “Starting Out with
C++, 5th Edition.” Pearson International Edition.
Part A - Short Question
1, 2, 3, 4, 5
Part B - Fill the Blank Question
8, 9, 10, 11, 12, 13, 14, 15, 16, 17
59
Quiz 1 (cont..)
1. Both main memory and secondary storage are types of memory.
Describe the differences of them.
2. What is the difference between operating system software and
application software.
3. Indicate all categories that following operating system belong to;
• System A : This system allow multiple users to run multiple
programs simultaneously.
• System B : Only one user may access the system at a time,
but multiple programs can be run simultaneously.
• System C : Only one user may access the system at a time,
and only one program can be run on the system at a time.
4. Why must programs written in a high-level language be translated
into machine language before It can be run.
5. Why it easier to write a program in a high level language than in
machine language.
60
Quiz 1 (cont..)
1. Computers can do many different job because they can be ________.
2. The job of the __________ is to fetch instruction, carry out the
operations commanded by the instructions, and produce some
outcome or resultant information.
3. Internally, the CPU consist of the __________ and the ___________.
4. A(n)_________is an example of a secondary storage device.
5. The two general categories of software are _________and ________.
6. A program is a set of ______________.
7. Since computer can’t programmed in natural human language,
algorithm must be written in a(n) ____________ language.
8. __________ is the only language computer really process.
9. __________ language are close to the level of human in terms of
readability.
10. __________ language are close to the level of the computer.
61