0% found this document useful (0 votes)
5 views

Ch 5 - Software

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Ch 5 - Software

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Software Chapter: 5

What is Software?

• Step by step instructions/commands that computers are given to follow


and execute in order to do useful tasks.

• Lines of code/instructions make up a software.


Types of Software

System Application A.k.a. Apps that users


Software Software personally use e.g. MS Word

Operating Utility Softwares that users don’t use directly, but the
System Software system depends on them to run smoothly
Operating Systems (OS)

• OS provides an interface between the user and the


computer
• OS lets the user control the hardware, either directly or
by using applications software or system software
• Lets apps communicate with hardware
• OS manages system resources e.g. Memory & CPU
time
• Manages input/output (I/O) devices • Multitasking = Running more than
1 program simultaneously
• Manages system security • Multi-access = More than 1 user
• OS handles Multitasking and Multi Access accessing the same system
simultaneously
User Interfaces (UI)

Command Line Interface Menu Driven Interface Graphical User Interface

Uses special text keywords a.k.a Gives a list of commands or Provides windows, icons, menus, and
commands for providing options from a menu pointers (WIMP) for interacting with
instructions to the computer the system

C \: ATM
Designing a UI

Things that you need to consider:


• Consistency
• Positioning of items on screen
• Use of color
• Use of sound
• Accessibility features
Programming Languages

Programming
Language
Humans speak in Natural Languages E.g. English, Bengali.
Computers only understand machine language (Binary 0/1). Natural Machine
Language Language
Programming languages bridge this gap between humans and
machines.
High Level Low Level
Low-level languages: Assembly language: Machine language: Language Language
• Closer to machine • assembly language • Consists of series of
language 0s & 1s
code (a low-level
• Easier for machines symbolic language) • Machine code can
to understand
• Closely represents be directly executed
• Harder for humans
to understand machine language • Fast

• E.g. Assembly • Can be directly • Often Machine-specific, meaning one computer’s


language executed by CPU machine code will not be understood by others
High Level Languages

• Closer to Natural Language i.e. how Python is more English-like.


• Not machine dependent
• Because they will be translated anyways to machine language by a compiler for
that specific machine.

• Easier to understand, remember, correct errors, and test programs


Translation Programs

• Compilers: a software that converts


the whole of program written in high-
level-language into machine code in Assembly High-level High-level
language language language
one go. code code code
• Interpreter: reads each instruction
line by line and translate single lines
into machine code. Assembler Compiler Compiler

• Assemblers: translates assembly


language instructions into machine
code Machine
Code

You might also like