Scanning the Internet for External Cloud Exposures via SSL Certs
Unit 1
1. F1001 PROGRAMMING FUNDAMENTALS
UNIT
1
INTRODUCTION TO
PROGRAMMING
Hardware And Software Components
Steps Of Program Execution
The Evolution Of Programming
Language
Translator And The Types Of
Translator
Six Criteria Of A Good Program
1
2. F1001 PROGRAMMING FUNDAMENTALS
INTRODUCTION TO COMPUTER SYSTEMS
• Computer is an electronic device used to process data.
• Computer system is a group of reference to all computer hardware related including processor, storage
devices, input devices, output devices and communication devices.
2
3. F1001 PROGRAMMING FUNDAMENTALS
Environment of Computer System
The four parts of computer system are:
Software- set of computer’s
instructions that directs devices to
carry out tasks. Hardware – parts of a
computer that can be seen and
touched.
Data – facts arrangement that
can be modified by computer
into a beneficial form.
User – a person who uses the
computer.
Component Hardware Category
• Hardware is parts in computer that can be seen and touched.
• The five categories are:
1. Input Device
Input device is an intermediary device that allows user to enter data and instruction
to computer’s memory.
Example: Mouse, microphone and keyboard
2. Output Device
It is used to generate information that has been executed by the computer for the
user.
Example: printer, monitor and speaker.
3. Storage Device
It is used to store and access data, instructions and information from memory.
Example: Floppy disc drive, CD-ROM drive and DVD-ROM Drive.
3
4. F1001 PROGRAMMING FUNDAMENTALS
4. Communication Device
Allows user to communicate or exchange data/ information with other users.
Examples: Modem, Fibre Optic, and Coaxial Cable
5. System Unit
System unit is plastic and metal coats containing Centre Processing Unit (CPU),
memory and other electronic devices.
CPU, sometimes named as processor, is an electronic device that executes instruction
in computer.
Memory is a series of electronic element that holds data and instructions during the
period of processing by CPU.
Types of Software
• Software is a set of computer instructions that directs devices to carry out tasks. The two types of
software are:
1. System Software
All programs related to modification and monitoring computer’s operations
including operating system (OS), translator and program services. Example: Disk
Operating System (DOS)
2. Application Software
Application Software is a program designed to perform task or functions. Example:
Word Processing (Microsoft Word) and Spreadsheet Software (Microsoft
Excel).
4
5. F1001 PROGRAMMING FUNDAMENTALS
• Software development refers to all activities to produce solution of information system regarding to
organisation problem.
• The activities are system analysis, system design, programming, testing, conversion and production
and also maintenance.
DEFINITION OF PROGRAM, PROGRAMMING AND PROGRAMMER
• To understand program design in application software, user should know the definitions of:
Program:
A set of step-by-step instructions that directs a computer to perform a specific task and to
produce the required results.
Programming:
Programming is a process of designing/ creating a program.
Programmer:
Programmer is a person who writes the program.
STEPS OF PROGRAM EXECUTION
INPUT (data) OUTPUT (information)
PROCESS (processor)
• Input – Refers to the process of entering data, program and instructions into the computer system
using input devices.
• Process – Computer processes raw data into usable information to be used by user. Data processing is
done by the CPU (Central Processing Unit).
5
6. F1001 PROGRAMMING FUNDAMENTALS
• Output – Output is raw data that has been processed by the computer (result). Output will be
converted to an understandable form before being displayed or printed.
• Example: Flow of ATM program
Assume that our transaction is money withdrawal. The instructions are:
a. Get the card number from the user (Input)
b. Get pin number from the user (Input)
c. Process the input data (Process)
d. Get the transaction chosen by the user (Input)
e. Get the account type from the user (Input)
f. Process the transaction as wanted by the user (Process)
g. Withdraw amount of money required by the user (Output)
h. Print receipt for the user (Output)
INPUT OUTPUT
PROCESS
Input: Example: Card number, ATM pin number, type of transaction, type of account,
amount of money to withdraw.
Process: Example: Process to identify card number, valid pin number, type of transaction,
type of account and deducts the withdrawal from the user’s account.
Output: Example: Receipt will show balance in user’s account and money withdrawn.
EXECUTING A PROGRAM
• To execute a program, CPU will examine each program instruction in memory and send out the
required command signals to carry out the instruction.
• During execution, data can be entered into memory and manipulated in some specific way (delete and
modify) as required.
• Program instructions are used to copy a program's data (program input) into memory.
• After the input data were processed, instructions for displaying or printing will be executed.
6
7. F1001 PROGRAMMING FUNDAMENTALS
• Result displayed by a program is called “program output”.
• Example: Cash withdrawal from ATM machine.
Machine language Step 2
program for
processing card Central Processing
number and PIN
number. Unit.
Step 1
Input data:
Card Number, Data entered during
PIN Number, execution.
transaction. Step 3
Program Output results:
Computed results. Output Receipt and money
First step:
Data entered by user are stored in memory (input).
Second step:
CPU will instruct program to process the card number and ATM pin number with the
data in memory concurrently. Program will execute the transaction chosen by the user
and store the result in memory.
Third step:
The outputs are money withdrawal and receipt (output).
PROGRAMMING LANGUAGE
• Definition:
A set of rules and reserved words (keywords) that can be used to tell a computer what are the
operations to be done.
Artificial language composed by a fixed vocabulary and set of rules is used to create instructions
for the computer to follow.
Now, there are over 200 programming languages in the world. For example: Cobol, Pascal, C, C+
+, and Fortran.
• How Human Interact:
Example: People communicate using human languages, such as Bahasa Melayu, English and
Japanese.
Interaction
HUMAN LANGUAGE (BAHASA MELAYU) 7
8. F1001 PROGRAMMING FUNDAMENTALS
• How Human and Computer Interact:
People communicate with computers using programming languages such as C, C++ and Cobol.
Interaction
PROGRAMMING LANGUAGE (C, C++, COBOL)
#include <stdio.h>
#include <conio.h>
main()
Program
{ (Aturcara)
int a,b,c; /* hold variables value*/
int sum; /* variable – to hold total (a+b+c) */ Mengira
float avg; /* variable output*/ Hasil
clrscr();
Purata
printf (“Input three numbers:”); /* ask user to enter 3 numbers*/ Tiga
scanf (“%d %d %d”, &a, &b, &c);
sum = a+b+c; /* calculate total of a, b and c*/ Nombor
avg = sum / 3; /* calculate average*/ Dalam
printf (“Average of the numbers: %.2f”, avg); /* Display the average*/ Bahasa C
}
Example program in C language to calculate average of 3 numbers
8
9. F1001 PROGRAMMING FUNDAMENTALS
EVOLUTION OF PROGRAMMING LANGUAGES
Level
5 Human Language – 5th Generation
4 Very High Level Language – 4th Generation
3 High Level Language – 3rd Generation
2
Second Generation
1
First Generation
Year
1960 1970 1980 1990
This figure shows the generations of language based on chronological time factor.
The darker shade indicates the period of greater use by application programmers.
The lighter shade indicates the time which generation faded eventually from its primary use.
1. First Generation Language (Machine language (1950-1960))
• The lowest level of language.
• It represented data and program instructions as 1s and Os - binary digits corresponding to the on
and off electrical states in the computer. Examples: 0 represents “off” and 1 represents “on”.
• The only language that the computer could understand (does not require translator).
• Machine language is machine-dependent. Meaning, a written program for one computer generally
cannot be executed on another. For example, a program written in Apple PC cannot be run in IBM
PC.
• Advantages:
o The most efficient in terms of storage area and speed.
o Allows the program to fully utilize the computer's potential of data processing.
• Disadvantages:
o The instruction and syntax in a program is not standardised. It depends on the type of
computer used.
o Program instruction executes only on the specific machine for which it was written.
9
10. F1001 PROGRAMMING FUNDAMENTALS
• Program Example:
Instruction to compute 2 * 4 using machine language
2. Second Generation (Assembly Language (1950s)
• Known as symbolic language.
• It was developed to replace "0" and "1" used in Machine Language.
• It uses mnemonic codes - a symbol chosen to help user to remember the significance of the
symbol. For example, A represented ADD and S represented SUM
• Computer does not understand the language so it needs an assembler to translate the program to
machine language.
• Advantages:
o Program can run faster.
o An efficient use of the memory.
• Disadvantages:
o Errors can be made easily - difficult to identify & correct errors.
o It is difficult to understand.
o It takes a long duration of time to write the program.
10
11. F1001 PROGRAMMING FUNDAMENTALS
• Example of Mnemonic code:
Program to compute 2 * 4 using assembly language
3. High Level Language ((3GL, 4GL, 5GL) 1960s till now)
• Instruction is written as a series of English-like words.
• Translator (Compiler/Interpreter) is needed to translate high level language to machine language.
• It is Machine-Independent. The program can be written and executed on any computer.
• It can be classified into two categories:
i. Non-procedural language
A language that states task to be accomplished but does not state the steps needed to
accomplish it.
ii. Procedural language.
A language that represents a step-by-step process (procedure) for solving problem.
• Advantage:
o Easy to be developed and maintained
3rd Generation Language (1960s)
• It is called a procedural language.
• Translation is done by compiler/ interpreter.
• Example: FORTRAN, COBOL and BASIC.
11
12. F1001 PROGRAMMING FUNDAMENTALS
‘BASIC PROGRAM
‘AVERAGING THREE INTEGERS
PRINT “Mengira Purata”
PRINT “---------------------“
PRINT “Nilai A = “; 20
PRINT “Nilai B = “; 30
PRINT “Nilai C = “; 40
PRINT “Purata tiga nombor ialah “; (20+30+40)/3
END
Program in Basic to compute the average of three numbers
4th Generation Language (1980s)
• Program is written in English-like statements.
• It is a short programming language where the operation needs a few lines instead of hundreds of lines.
• It is a non-procedural language.
• Known as query language, which can be used to retrieve data from database.
• Example: PROLOG, FOCUS, LISP and SQL.
• Advantages:
o Result-oriented where they emphasize on what instead of how.
o It is simpler and easier, so programmers and non-programmers can use this language with
minimum training.
Create table order
( OWNERID INTEGER NOT NULL,
ITEM CHAR (40) NOT NULL);
SQL Language
5th Generation Language ((Natural Language) 1990s)
12
13. F1001 PROGRAMMING FUNDAMENTALS
• A programming language that resembles human language.
• Known as knowledge-based language.
• Translates human instructions into code (machine language) where a computer can understand.
• The use of a natural language to access knowledge base is called knowledge-based system.
• Example: Expert system that stores knowledge of an expert. For example, expertise of a doctor or
engineer.
Natural Language
LANGUAGE TRANSLATOR
• A translator is a program that:
Checks syntax of a program to ensure the programming language is used correctly, by giving you
the syntax-error messages, which is known as diagnostics.
Translates a program into language that the computer can understand.
Produces descriptive error messages known as syntax-error to programmer if there are errors in
the programs.
Syntax – set of rules to be followed when Syntax Error – error in the use of a programming
writing a program, these rules are similar language.
to the grammatical rules in English. Example in C:
Example: Statement: clrscr()
Message displayed on the screen is If semicolon (;) is not placed after statement, a
“please enter a number”. message will display:
C Language: “Error DIT103.CPP: Declaration syntax-
printf(“please enter a number”); error”
The correct syntax is:
clrscr();
13
14. F1001 PROGRAMMING FUNDAMENTALS
Types of Translator
1. Assembler
• Translates the whole program at one time.
• Also called assembler program.
• A program, which is used to convert assembly language to machine language.
sseg segment
stack db 256 11101 100000 100000
dup (?) 11110
10111000
sseg ends 11101000
dseg segment Assembler 11111100
data db “2 x 4 = ” 10111000
dseg ends 10001110 11011000
cseg segment 10111000
assume 10001110 11000000
cs:cseg:ds:sdeg:ss:sseg.
es:nothing
Start proc far
Machine Language
Assembly Language
2. Compiler
• Translate the whole program at one time.
• Translates the source code, for example COBOL language to machine language.
# • Used to translate C, COBOL and other language.
include <stdio.h>
main( ) 11101 100000 100000
{ 11110
int x, y, z, sum; 10111000
double avg; Compiler 11101000
11111100
printf(" Enter 3 numbers:"); 10111000
scanf("%d %d %d",&x, &y, &z); 10001110 11011000
sum = x + y + z; 10111000
avg = sum / 3; 10001110 11000000
printf("x = %d y = %d z = %d ", x,
y, z);
printf("the average is = %f",avg);
return 0; Machine Langeage
}
14
C Language
15. F1001 PROGRAMMING FUNDAMENTALS
3. Interpreter
• Program that translates a high level language to machine language.
• It translates one line at a time and executes each line after it is translated.
• Displays feedback as the error occurred.
• Used to translate BASIC and SQL language.
‘BASIC PROGRAM 10001110 11000000
‘AVERAGING THREE INTEGERS 10111010
PRINT “Mengira Purata” 10111011
PRINT “---------------------“ 10001101 110110
PRINT “Nilai A = “; 20 10111111
PRINT “Nilai B = “; 30 Interperter 10110000 000000010
PRINT “Nilai C = “; 40 10110011 000001000
PRINT “Purata tiga nombor ialah “; 11100011 111111000
(20+30+40)/3 00001110 110000
END 10100000
10111001
10100100
Basic Language
Machine Language
CRITERIA OF A GOOD PROGRAM
• A good program is a program that has fulfils the following criteria’s:
1. Accuracy
Program that fulfils all the specifications, requirements and objectives.
For example: ATM machine. When a user withdraws RM200, the user will get RM200 in
cash.
To ensure accuracy, programmer needs to define a control to prevent invalid value.
2. Reliability
No errors. Produces output as required.
Information is reliable if the user can depends on its accuracy and completeness.
Example: the balance in Touch N Go card.
3. Usability
Easy to use and learn. Programmer or non-programmer can use the interaction.
15
16. F1001 PROGRAMMING FUNDAMENTALS
Example, LRT-STAR machine (ticket) can be used by anyone.
4. Maintainability
A program that is easily understood, tested and modified without having to change the whole
program. The program may be changed by any programmers at anytime to fulfil the current
requirement.
Example: Total digit of telephone number can be changed from 7 to 8 digits without changing
the existing application program.
5. Efficiency
Fast program execution and quick access to data to generate output.
Example: Tickets System in LRT-STAR System
6. Readability
A readability program is:
A clear and understandable program.
Using meaningful name for variables.
Have explanations on the program’s function.
Instruction is written by using spacing in between words.
Example of a readable program:
/* compute total of 2 numbers*/
printf (“Enter first numbern”);
scanf (“%d”, &number1);
printf (“Enter second numbern”);
scanf (“%d”, &number2);
total = number1 + number2;
printf (“Total is %dn”, total);
16