0% found this document useful (0 votes)
6 views128 pages

Chapter 4

The document provides a comprehensive overview of software, including its definition, classification, and examples of various types such as operating systems, device drivers, and utility software. It also discusses the role of the operating system in managing hardware, memory, user accounts, and security, along with the history and functionality of BIOS. Additionally, it covers human-computer interfaces and the sequence of application software running from power on to execution.

Uploaded by

Shamatmika
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views128 pages

Chapter 4

The document provides a comprehensive overview of software, including its definition, classification, and examples of various types such as operating systems, device drivers, and utility software. It also discusses the role of the operating system in managing hardware, memory, user accounts, and security, along with the history and functionality of BIOS. Additionally, it covers human-computer interfaces and the sequence of application software running from power on to execution.

Uploaded by

Shamatmika
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 128

Software

Competition

Come up with as many software as


possible in 3 minutes
Definition of a Software

A set of instructions written in a programming


language that performs one or more tasks to
tell the computer what to do.
Classification of Software
Definition

A variety of programs that a


computer needs to function.
Definition Example
• Basic Input Output System (BIOS) - installed
A variety of programs that a
in ROM. Enables all of the attached
computer needs to function. components to initialise. Known as firmware.
Definition Example
• Basic Input Output System (BIOS) - installed
A variety of programs that a
in ROM. Enables all of the attached
computer needs to function. components to initialise. Known as firmware.
• Operating System - MAC, Windows, Android,
iOS.
Definition Example
• Basic Input Output System (BIOS) - installed
A variety of programs that a
in ROM. Enables all of the attached
computer needs to function. components to initialise. Known as firmware.
• Operating System - MAC, Windows, Android,
iOS.
• Device Driver (Part of the OS or Installed
manually) - A software that enables
hardwares to communicate with the
operating system (Plug and play).
Definition Example
• Basic Input Output System (BIOS) - installed
A variety of programs that a
in ROM. Enables all of the attached
computer needs to function. components to initialise. Known as firmware.
• Operating System - MAC, Windows, Android,
iOS.
• Device Driver (Part of the OS or Installed
manually) - A software that enables
hardwares to communicate with the
operating system (Plug and play).
• Compilers - Translate high-level
programming language into machine code.
Definition Example
• Basic Input Output System (BIOS) - installed
A variety of programs that a
in ROM. Enables all of the attached
computer needs to function. components to initialise. Known as firmware.
• Operating System - MAC, Windows, Android,
iOS.
• Device Driver (Part of the OS or Installed
manually) - A software that enables
hardwares to communicate with the
operating system (Plug and play).
• Compilers - Translate high-level
programming language into machine code.
• Utilities Software - Built into the operating
system to carry out a specific task.
Definition Example
• Basic Input Output System (BIOS) - installed
A variety of programs that a
in ROM. Enables all of the attached
computer needs to function. components to initialise. Known as firmware.
• Operating System - MAC, Windows, Android,
iOS.
Function
• Device Driver (Part of the OS or Installed
• Allows software and manually) - A software that enables
hardwares to communicate with the
hardware to run without
operating system (Plug and play).
problems.
• Compilers - Translate high-level
• Provides a human computer
programming language into machine code.
interface. • Utilities Software - Built into the operating
• Control the allocation and system to carry out a specific task.
usage of hardware resources.
Examples of utilities software (1)

• Offered by the operating system


• Must be constantly updated
Virus Checker - Anti Virus Software • How they work
⚬ The software is constantly
running in the background
⚬ Check software of files before
they are run or loaded
⚬ Compare a possible virus
against a database of known
viruses
⚬ Any possible files or
programs which are infected
are put into quarantine
Examples of utilities software (2)

Defragmentation Software - When HDD becomes full, blocks used for files will
be scattered all over the disk surface. Data accessing will be faster if files could
be stored in contiguous sectors to reduce HDD head movements.

data data data


data

data data
Examples of utilities software (3)

• Software that communicate


Device Driver with the OS and translate
data into a format
understood by a hardware
device (middle man)
• Without device drivers, a
hardware device would be
unable to work with a
computer
• As soon as a device is
plugged into a USB port, the
OS looks for appropriate
device driver
Examples of utilities software (4)

• It is a good practice to use the operating


system back-up utility
Backup Software • Allow a schedule for backing up files to be
made
• Total security
⚬ Working version stored in SSD/HDD
⚬ Locally backup stored in removable
SSD/HDD
⚬ Cloud Storage
• OS
⚬ Windows - File History
⚬ MacOS - TimeMachine
Definition

Software that a user needs


to make use of the
computer system
Definition Examples

Software that a user needs • Word Processor


to make use of the • Spreadsheet
computer system • Database
• Video Editing Software
• Apps
• Music and video
streaming
• GPS
• Camera facility
Definition Examples

Software that a user needs • Word Processor


to make use of the • Spreadsheet
computer system • Database
• Video Editing Software
Features • Apps
• Music and video
• Used to perform various
applications (apps) on a streaming
computer • GPS
• Allows a user to perform • Camera facility
specific tasks using the
computer’s resources
Classification of Software

Responsible for managing the


hardware and other software in a
computer

Eg. BIOS, OS, Device Driver,


Utilities
Classification of Software

Responsible for managing the Allows the user to perform


hardware and other software in a different tasks using the
computer computer

Eg. BIOS, OS, Device Driver, Eg. Word Document, Spreadsheet,


Utilities Video Editing Software, Games
Chapter 4.2

Operating
System
IGCSE Computer Science
History
• Computer used to run only one
program at a time
• Program (written in punch card)
needs to be inserted one by one
into the computer manually
• This approach slows down
computation
• It is also difficult to integrate a
hardware (input and output
devices) with the computer
• We need a way in which program
can operate automatically
• This leads to the creation of
operating system
History

62,500 punch cards


= 5MB
Imagine inserting these
program one by one
into the computer...
About the Operating System
• It is a system software
• OS has the privilege of managing other
programs
• It is the first program to be launched (by
the BIOS) when a computer is turned on
• OS is an intermediaries between software
programs and hardware peripherals
(Driver)
• Stored within the SSD/HDD, loaded into
RAM when a particular action needs to be
carried out
Main function of the operating system

Enable computer system to function correctly

Allow users to communicate with computer


systems
7 Main Functions Of
The Operating System
HCI

Human computer interface


The OS provides an interface which allow the user to communicate with
the computer.
HCI

Human computer interface


The OS provides an interface which allow the user to communicate with
the computer.

3 types of HCI

Command Line
Interface
• User needs to learn a
number of commands
• Direct communication
with the computer and
is not restricted to a
number of
predetermined options
HCI

Human computer interface


The OS provides an interface which allow the user to communicate with
the computer.

3 types of HCI

Command Line Graphical User


Interface Interface
• User needs to learn a • Interaction using
number of commands pictures of symbol
• Direct communication (instead of command)
with the computer and • WIMP (Windows Icon
is not restricted to a Menu and Pointing
number of Device)
predetermined options • Phones touch screen
(pinch and rotate)
HCI

Human computer interface


The OS provides an interface which allow the user to communicate with
the computer.

3 types of HCI

Command Line Graphical User Voice Command


Interface Interface Interface
• User needs to learn a • Interaction using • Smart Speaker (Google
number of commands pictures of symbol Home and Amazon
• Direct communication (instead of command) Alexa)
with the computer and • WIMP (Windows Icon • Virtual Assistant (Siri)
is not restricted to a Menu and Pointing
number of Device)
predetermined options • Phones touch screen
(pinch and rotate)
HCI

Compare and Contrast CLI and GUI

Command Line
Interface

• The user is in direct communication with the


computer
• Uses a small amount of computer memory

• Need to learn a lot of commands


• Each command must be typed in correctly in
terms of format and spelling
HCI

Compare and Contrast CLI and GUI

Command Line Graphical User


Interface Interface

• The user is in direct communication with the • It is more user-friendly; icons are used to
computer represent applications
• Uses a small amount of computer memory • The user doesn’t need to learn any
commands

• Need to learn a lot of commands • Use up more computer memory than CLI
• Each command must be typed in correctly in • The user is limited to icons provided on the
terms of format and spelling screen
HCI MM

Memory Management

CU
When a program is
needed, its code will
AL be loaded from the
U

Secondary Storage
into the Primary RAM,
but who does it????
HCI MM

Memory Management

OS does it! OS will...


• Track of all the memory locations
CU

AL
U
HCI MM

Memory Management

OS does it! OS will...


• Track of all the memory locations
CU
• Carries out memory protection to
ensure that two competing
applications cannot use the same
AL
U
memory locations at the same
time
HCI MM

Memory Management

OS does it! OS will...


• Track of all the memory locations
CU
• Carries out memory protection to
ensure that two competing
applications cannot use the same
AL
U
memory locations at the same
time
• Make sure enough hardware is
allocated to perform the necessary
process
HCI MM MT

Multitasking - allows the computer to


carry out more than 1 task at a time

Sharing hardware resources

• Each of the processes will share the


hardware resources under the control
of the operating system software.
HCI MM MT

Multitasking - allows the computer to


carry out more than 1 task at a time

Pre-emptive multitasking

Sharing hardware resources • Resources are allocated to a process for a


specific time limit
• Each of the processes will share the • The process can be interrupted while it is
hardware resources under the control
running
of the operating system software.
• The process is given a priority so it can have
resources according to its priority (the risk
here is that a low priority process could be
starved of resources)
HCI MM MT HPM

Hardware Peripheral
Management

Meaning of peripheral devices Roles of the OS: Carry out Hardware Management

• Use device driver


⚬ Communicates with all input and
output devices
⚬ Take data from a file (defined by the
operating system) and translates it into
a format that the input/output device
can understand
• Ensures each hardware resource has a
priority so that they can be used and
released as required
HCI MM MT HPM UAM

User Account
Management

A computer can have more than one user to


log into the account. Eg.
It is therefore
important that users’
data is stored in
separate parts of the
memory for security
reasons.
HCI MM MT HPM UAM

User Account
Management

Role of an administrator

• Oversees the management of these user


accounts
• The administrator can create accounts, delete
user accounts and restrict user account
activity (create, edit and delete file)
HCI MM MT HPM UAM FM

File management

Main tasks of file management include:


• file naming conventions which can be used
i.e. filename.docx (where the extension can
be .bat, .htm, .dbf, .txt, .xls, etc.)
• performing specific tasks (for example, create,
open, close, delete, rename, copy, and move)
HCI MM MT HPM UAM FM

File management

Main tasks of file management include:


• file naming conventions which can be used
i.e. filename.docx (where the extension can
be .bat, .htm, .dbf, .txt, .xls, etc.)
• performing specific tasks (for example, create,
open, close, delete, rename, copy, and move)
• maintaining the directory structures
• ensuring memory allocation for a file by
reading it from the HDD/SSD and loading it
into memory.
HCI MM MT HPM UAM FM SEC

Security Management
- covered more in depth in chapter 5

Main tasks of security management include:


• Ensures that anti virus software (and other security software) is always up to
date, preserving the integrity, security and privacy of data
• Maintains access rights for all users
• Communicates with a firewall to check all traffic to and from the computer
• By offering the ability for the recovery of data when it has been lost or
corrupted (eg. Apple Time Machine)
Human Computer Interface

Memory Management
7 Main
Multitasking
Functions Of
Hardware Peripheral Management
The Operating
User Account Management System
File Management

Security Management
Human Computer Interface

Memory Management

Multitasking

Hardware Peripheral Management


7 functions of the OS:
HMM, How U Feeling Son?
User Account Management

File Management

Security Management
EXAM QUESTION
EXAM QUESTION
Chapter 4.3
Running of
Application
Introducing BIOS (Basic Input/Output System)
• Known as firmware (a tangible
electronic component with
embedded software
instructions, such as a BIOS)
• The BIOS settings are stored on
a CMOS chip (complementary
metal-oxide-semiconductor)
⚬ BIOS settings would be reset
if the battery was removed or
disconnected
• Responsible for booting up the
computer by loading part of the
operating system from
secondary storage into RAM
Application Software Running Sequence

Power On

Hardware
Application Software Running Sequence

Bios checks if every


Power On hardware is
working fine

Firmware
Hardware
(BIOS)

Loads the
BIOS
program
located in
the ROM
Application Software Running Sequence

Bios checks if every


Power On hardware is
working fine

Firmware Operating
Hardware
(BIOS) System

Loads the BIOS


BIOS loads the
program operating
located in system
the ROM
Application Software Running Sequence

Bios checks if every


Power On hardware is Operating System
working fine takes over

Firmware Operating Application


Hardware
(BIOS) System Software

Loads the BIOS


BIOS loads the
program operating
located in system
the ROM
Chapter 4.4: Software

INTERRU
PT
IGCSE CS
DEFINITION OF
INTERRUPT
AN INTERRUPT IS WHERE A SIGNAL IS SENT
FROM A DEVICE OR A PROGRAM TO THE
OPERATING SYSTEM THAT CAUSES A
TEMPERORY STOP.
EXAMPLES OF AN
INTERRUPT : YOU TRY

Try to create two Try to perform


folders that have 5/0 in your
the same name calculator
OTHER EXAMPLES OF AN
INTERRUPT
A hardware fault Software error
(Printer out of
ink, paper jam)

A timing signal
FUNCTION OF AN
INTERRUPT

CAUSE THE CURRENT PROGRAM TO


TEMPERORILY STOP WHAT IT IS DOING SO
THAT THE OS CAN SERVICE THE INTERRUPT
FLOW

Device sends
an interrupt
signal

Eg.Divide by 0, keyboard key


pressed, printer error, mouse
movement
FLOW

The interrupt
Device sends is collected
XX
an interrupt by an
signal interrupt
handler

Eg.Divide by 0, keyboard key


pressed, printer error, mouse
movement
CU

AL
U
IF THERE ARE SO MANY INSTRUCTIONS NEED
TO BE EXECUTED IN A SECOND, HOW DOES
THE COMPUTER DECIDE WHICH INSTRUCTION
TO EXECUTE FIRST?
FLOW

Part of the
Interrupt Service Routine

The interrupt The interrupt


Device sends is collected is being
XX
an interrupt by an assigned a
signal interrupt place in a
handler queue

Before After

Eg.Divide by 0, keyboard key 1 I1 1 XX


pressed, printer error, mouse I2
2 2 I1
movement
3 3 I2
FLOW

Part of the Interrupt


Service Routine
Upon completing a fetch-
The interrupt The interrupt decode-execute cycle, the
is collected CPU checks the priority of
Device sends is being
XX the next interrupt to see if it
an interrupt by an assigned a
has a higher priority than
signal interrupt place in a
the current task being
queue
handler processed.

Before After
1 I1 1 XX
Eg.Divide by 0, keyboard key
pressed, printer error, mouse 2 I2 2 I1
movement
3 3 I2

Priority is decided by the Operating System


FLOW

Part of the Interrupt


Service Routine
Upon completing a fetch-
The interrupt The interrupt decode-execute cycle, the
is collected CPU checks the priority of
Device sends is being
XX by an the next interrupt to see if it
an interrupt assigned a
has a higher priority than
signal interrupt place in a
the current task being
handler queue processed.

Yes, the interrupt has


Before After higher priority
1 I1 1 XX
Eg.Divide by 0, keyboard key The CPU stops what
pressed, printer error, mouse 2 I2 2 I1 it is doing and
movement fetches the
3 3 I2 interrupt to the CPU
to be processed
Priority is decided by the Operating System
FLOW

Part of the Interrupt


Service Routine
Upon completing a fetch-
The interrupt The interrupt decode-execute cycle, the
CPU checks the priority of
Device sends is collected is being
XX the next interrupt to see if it
an interrupt by an assigned a
has a higher priority than
signal interrupt place in a
the current task being
handler queue processed.

No, it has lower


Before After priority
1 I1 1 XX
Eg.Divide by 0, keyboard key It leaves the
pressed, printer error, mouse 2 I2 2 I1 interrupt in the
interrupt queue and
movement
3 3 I2 carries on
processing
Priority is decided by the Operating System
FLOW

Part of the Interrupt


Service Routine
Upon completing a fetch-
The interrupt The interrupt decode-execute cycle, the
CPU checks the priority of
Device sends is collected is being
XX the next interrupt to see if it
an interrupt by an assigned a
has a higher priority than
signal interrupt place in a
the current task being
handler queue
processed.

Yes, the interrupt has No, it has lower


Before After higher priority priority
1 I1 1 XX
Eg.Divide by 0, keyboard key The CPU stops what It leaves the
pressed, printer error, mouse 2 I2 2 I1 it is doing and interrupt in the
movement fetches the interrupt interrupt queue and
3 3 I2 to the CPU to be carries on
processed processing
Priority is decided by the Operating System
Software Hardware
Interrupt Interrupt
• Division by • Press of a
zero key on a
• Processes keyboard
attempt to • click of a
access the mouse
same button
memory
location
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
Chapter 4.4

TYPES OF PROGRAMMING
LANGUAGES
IGCSE Computer Science
Chapter 4: Software

PROGRAMMING LANGUAGES
POPULARITY
RANKING
IGCSE Computer Science

https://statisticstimes.com/tech/top-computer-languages.php
RECAP

Definition of a Software

A set of instructions written in a programming


language that performs one or more tasks to
tell the computer what to do.
Codes written in any language needs to be translated to machine code before it can be understood by a
computer.

Programming Languages Machine Code

0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
Translators 0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
Why does programmers have to code using programming
language instead of machine code

Programming Languages Machine Code

0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
High-Level Programming Languages

• Contains English-like words and


terms that we use in communication
and are easier for programmers to
understand
High-Level Programming Languages

• Contains English-like words and


terms that we use in communication
and are easier for programmers to
understand
• Enable a programmer to focus on the
problem to be solved and require no
knowledge of the hardware and
instruction set of the computer that
will use the program.
Lets try to create 2 mini software (Very
mini) in Python
• Ask a user for his/her name, then,
print out a message to greet the user
(eg. Hello, XXX)
• Ask a user for 2 numbers (integers),
then, print out the result of the first
number minus the second number.
Low-Level Programming Languages (1)

Machine Code

0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001 It is impossible to code in
0101010100100101001001
10101010001011010101010 machine code
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
Low-Level Programming Languages (2)

Assembly Language (eg. MIPS) Illustration of how it works

a0 2
a1 3
t0
Low-Level Programming Languages (2)

Assembly Language (eg. MIPS) Properties of assembly language

• A type of programming
that sits just above
machine code and is low-
level language that use
mnemonics for its
instructions and
commands.
• Mnemonic
⚬ LW - Load Word
⚬ INP - Input
⚬ RET - Return
MEMORISE A FEW !
Low-Level Programming Languages (2)

Assembly Language (eg. MIPS) Why we use assembly language

• To make use of special


hardware
• Write code that doesn’t
take up much space in
primary memory
• Write code that performs a
task very quickly
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
Does 10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010

Harry

Eat

My

Supper

Differences between high-level and low-level programming languages


0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
Easier to debug Debug Harder to debug 0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010

Differences between high-level and low-level programming languages


0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001

Easier to debug Debug Harder to debug 0101010100100101001001


10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010

Hardware Able to directly mainpulate


Inefficient in hardware usage
computer hardware

Differences between high-level and low-level programming languages


0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001

Easier to debug Debug Harder to debug 0101010100100101001001


10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010

Hardware Able to directly mainpulate


Inefficient in hardware usage
computer hardware

Easier to read and write by More challenging to read and


Ease write codes
programmers

Differences between high-level and low-level programming languages


0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001

Easier to debug Debug Harder to debug 0101010100100101001001


10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010

Hardware Able to directly mainpulate


Inefficient in hardware usage
computer hardware

Easier to read and write by More challenging to read and


Ease write codes
programmers

Takes up a little space in the


Takes up a lot of memory due Memory primary memory
to layers of abstraction

Differences between high-level and low-level programming languages


0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001

Easier to debug Debug Harder to debug 0101010100100101001001


10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010

Hardware Able to directly mainpulate


Inefficient in hardware usage
computer hardware

Easier to read and write by More challenging to read and


Ease write codes
programmers

Takes up a little space in the


Takes up a lot of memory due Memory primary memory
to layers of abstraction

Execution time Execution time


Speed is faster
is slower

Differences between high-level and low-level programming languages


EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
Chapter 4.5

TRANSLATOR
IGCSE CS
Programming Languages Machine Code

0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
Translators 0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
Different programming
languages need a different
translator to be converted
into machine code

Machine Code

0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
Translators 0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010

Our Focus This


Week
Translators

Our Focus This


Week
Translators 3 types of translator

• Interpreter (Python)
• Compiler (C)
• Assembler (Assembly Language)
Translators 3 types of translator

• Interpreter (Python)
• Compiler (C)
• Assembler (Assembly Language)

Main functions

• Translate codes written in various programming


languages to binary.
• Report errors in the code to the programmer.
Interpreter
• Interpret the code line by line in a program
• Interpreter stop the execution of the code when it
detects an error (Compiler waits until the end of the
execution process before reporting errors)
• Will not produce an executable file at the end of the
process

Python Javascript
Interpreter

Python

Code is interpreted line by line


Compiler
• Translates an entire program written in a high- level language (HLL) into
machine code all in one go so that it can be directly used by a computer to
perform a required task. An executable file will be produced

Compile

Running the
compiled code
C Programming Language
Compiler
• Translates an entire program written in a high- level language (HLL) into
machine code all in one go so that it can be directly used by a computer to
perform a required task. An executable file will be produced
• A report of errors is produced at the end of the translation

Compile

Running the
compiled code
C Programming Language
Compiler
• Translates an entire program written in a high- level language (HLL) into
machine code all in one go so that it can be directly used by a computer to
perform a required task. An executable file will be produced
• A report of errors is produced at the end of the translation
• Once a program is compiled the machine code can be used again and again
to perform the same task without re-compilation

Compile

Running the
compiled code
C Programming Language
Assembler
• Translate a program written in an assembly language into machine code
• Once a program is assembled the machine code can be used again and again
to perform the same task without re-assembly.

Assembler
Compare and contrast the 3 translators

Compile Interprete Assemble


r r r

Produce executable Does not produce executable Produce executable


file file file

Translate high-level Execute a high level Translate low-level


programming language programming language programming language
into machine code one line at a time into machine code

Compiled program is run Interpreted program Assembled program is run


without the compiler cannot run without the without the assembler
interpreter
Compare and contrast the 3 translators

Compile Assemble
r r

Produce executable Produce executable


file file

Translate high-level Translate low-level


programming language programming language
into machine code into machine code

Compiled program is run Assembled program is run


without the compiler without the assembler
Interpreter Compiler
Easier for beginners as errors are A compiled program is
easily identified executed in a shorter time

Easier and quicker to debug and


test programs during
It takes a longer time to
development
write, test and debug
programs during
development
Programs can take longer to
execute
Integrated
Development
Environment (IDE)
Integrated Development
Environment (IDE)
• An IDE is an application that
programmers use to test
and develop new software
• An IDE allows a programmer
to write code in various
programming language and
smulate the running of the
code
• Eg. PythonIDE, Sublime
Text, Visual Studio Code,
Pycharm
7 features of an IDE
7 features of an IDE

Auto
Code Run-time
completion Translator
Editor Environment
- common - compiler,
- contains - with
function interpreter
shell debugger
/syntax

Auto Prettyprint Error


Correction - colour Diagnostic
- bracket scheme, - pinpoints
matching indentation error
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION
EXAM QUESTION

You might also like