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