You are on page 1of 46

CSEC Information

Technology
LearnJa Online School
Fundamentals of Computer Hardware
& software

Software
Software
 Distinguish between the two categories of software.
 Define application software
 Give examples of types of application software
 Explain the terms
◦ General-purpose
◦ Integrated
◦ Specialised
◦ Customised
◦ Custom-written
Software Categories
Application Software
These are programs developed to carry out specific tasks
or solve particular problems.

System Software
Manages and supports the resources and operations of a
computer system. It enables the running of application
software and management of system resources.
Application Software
Examples include:
Entertainment software
Home & personal software
Productivity software
Specialist software
General-purpose software
Also called “off-the-shelf” Not written for any specific
business or organization but can be used or adapted to
suit their specific needs.
Usually well tested
Relatively cheap

Example Spreadsheet and word-processing packages.


Integrated software
A set of related programs combined in a unified
package that allows data to be transferred easily
between the programs.
Main advantage is the ease with which data can be
transferred from one component to another using a
cut/copy-paste operation.

Examples Microsoft Office, Microsoft Works, Sun


OpenOffice, iWorks
Specialised software
Software written for a specific task rather than for a
broad application area.

Example payroll, expert systems, accounting


programs, theatre and airline booking systems
Customised software
General-purpose software which has been modified to
meet the needs of an individual or organization better.

Customized through the use of special codes or macros


(which are short programs written to automate several
steps in software)
Usually written by experienced end users of the
program.
Custom-written software
(tailor-made)
Written by programmers within a company or
contracted out to a software house to meet the specific
needs of a company.

Every company is unique and may have unique needs,


so a solution tailored to achieve the company’s goals,
based on their specialized requirements offers
advantages when compared to general-purpose
packages.
System Software
There are two major categories of system software:
Operating System
Utility programs

One textbook has a third…


Language translators
Operating System
A set of programs managing the operations of a
computer, without which the computer cannot
function.
the term ‘booting’ refers to the process of loading the
operating system into a computer’s main memory from
disk. It remains in the main memory until the computer is
turned off.
Types of Operating System
Linux
Microsoft Windows
MSDOS
OSX
OS/2

Microsoft NT Server
Unix
Functions of the OS
 Managing computer resources
 Managing files and memory
 Maintaining security
 Managing tasks
◦ Multitasking (concurrent processes – running at the same time)
◦ Multiprogramming
 Multiprocessing
◦ Time-sharing
◦ Batch Processing
◦ Real-time processing
 Providing a user interface
User Interfaces
 Command-driven
◦ User enters a command by typing in codes or words.
 Menu-driven
◦ Allows the use of either a mouse, cursor-keys or keyboard to
make a selection from a menu.
 Graphical (GUI or WIMP)
◦ Windows
◦ Icons
◦ Menus
◦ Pointers
◦ Use graphic images, menus and keystrokes to choose
commands, start programs, folders, files, tasks, procedures .
Main Memory
REVIEW

• CPU-stands for central processing unit; it is the


key component in a digital computer; it interprets
computer program instructions and processes
data.
• the primary memory/store of a computer: it is the
programs, data and information directly accessed
by the CPU.
RAM

• RAM-the primary memory of a computer: it


stores the programs and data while they are being
processed
• There are different types but each kind can be
ACCESSED (read or written) directly by the
CPU in a very short time regardless of the
sequence (RANDOM access memory) in which
they were recorded..
RAM cont’d

RAM is made up of small memory chips on


the motherboard of your computer.

Every time you open a program, it gets loaded


from the hard drive into the RAM.
RAM chip
RAM cont’d
Running programs from the RAM of the computer
allows them to function without any lag time. The
more RAM your computer has, the more data can be
loaded from the hard drive into the RAM, which can
effectively speed up your computer.

To check how much RAM a Windows computer has,


open the "System" Control Panel. This can be done by
right-clicking "My Computer" and selecting
"Properties..."
CACHE
Cache is primary memory that holds a copy of the
most recently accessed and the most likely to be
accessed data.
Why does it hold this kind of data?
So that the CPU can access the data and instructions
needed faster.

compared to R.A.M., cache


is smaller and faster
ROM
This is "built-in" computer memory containing data
that normally can only be read, not written to.
ROM contains the programming that allows your
computer to be "booted up" or regenerated each time
you turn it on.
ROM cont’d
Unlike a computer's random access memory (RAM),
the data in ROM is not lost when the computer power
is turned off.
The ROM is sustained by a small long-life battery in
your computer.
PROM
This is a form of digital memory that can be
programmed only once.

Such PROMs are used to store programs permanently.

The key difference from a strict ROM is that the


programming is applied after the device is constructed.
EPROM

The term EPROM stands for "E"rasable


"P"rogrammable "R"ead "O"nly "M"emory.
Erasable means that the chip can be erased and reused
.
EPROM is a special type of memory that retains its
contents until it is exposed to ultraviolet light which
clears its contents, making it possible to reprogram the
memory.
The computer cannot store data in an EPROM because
the EPROM is a READ ONLY memory part.
EPROM cont’d
In short, the EPROM is a memory part which will not
forget its program or data when power is removed. It
must be programmed by a special programming
product
Once the EPROM is programmed it cannot be changed
until it is erased in an EPROM eraser and then
reprogrammed in a programmer.
An EPROM differs from a PROM in that a PROM can
be written to only once and cannot be erased.
EEPROM
Stands for Electrically Erasable Programmable Read-Only Memory
Is a rewritable memory chip that can be erased and reprogrammed
(written to) repeatedly through the application of higher than normal
electrical voltage.

Unlike EPROM chips, EEPROMs do not need to be removed from


the computer to be modified. It also has a limited life - that is, the
number of times it can be reprogrammed is limited to tens or
hundreds of thousands of times.

EEPROMs are bit or byte addressable at the write level, which


means either the bit or byte must be erased before it can be re-
written.
BISTABLE
Also called flip flop - when an electronic device or
circuit can assume either of two stable states by the
applying an electric pulse
Hence, all these main memory chips are examples of
bistable devices!!
Further reading:
• Log On to IT for CSEC, pg 26
• Discovering Computers, pg 197
• This site -

http://www.maran.com/computerssimplified/pages/chapte
r3/index.html
Introduction To
Programming and
Problem Solving
Form
4G\4A

Prepared By: O. Hibbert


Solving a problem on a computer
involves the following activities:
1. Define the problem
2. Analyze the problem.
3. Develop an algorithm (a method) for solving the
problem.
4. Write the computer program corresponding to the
algorithm.
5. Test and debug the program.
6. Document the program. (explanation of how the program
works and how to use it.)
Algorithm Design

1. An algorithm is a set of instructions, which, if


accurately followed, will produce a solution to a given
problem. When an instruction is followed, we say it is
executed.

2. There are many different methods used for writing


algorithms.

3. Examples of algorithms are: flowcharts, pseudocode,


design structures, top down design approach, bottom
up design approach, etc.
(We will focus on Flowchart and Pseudocode. )
Computer instructions fall into
three main categories
1. Input instructions, used for supplying data to a
program inside the computer.

2. Processing instructions, used for manipulating data


inside the computer. These instructions allow us to
+,-,X , ÷, compare two values, and act according to
the result of the comparison. Also, we can move data
from one part of the memory to another. (assign)

3. Output instructions, used for getting information out


of the computer.
Categories of Programming
 A program is a sequence of instructions to the
computer

 The instructions are written in programming language

 Programmers write instructions in various


programming languages, some directly
understandable by the computer and others that
require intermediate translation steps.
Categories of
Programming cont…
Programming languages fall into the following
categories:

1. Machine Language
2. Assembly Language
3. High Level Languages
4. Fourth Generation Languages
5. Fifth Generation Languages
6. Natural Languages
Machine Language
1. consist of strings made up of 1s and 0s. The only programming
language the computer can understand. (it is understood by the
computer without any interpretation.)

2. All programs written in the other languages have to be translated to


machine languages before the computer can carry out the instructions.
Advantages
3. Fast execution speed
4. Efficient use of main memory.

Disadvantages
5. Writing of machine language is tedious and time consuming. Why is
this so?
6. Programming errors are difficult to find and correct (‘debug’)
Assembly Language
 is classified, as a low level language because detailed
knowledge of hardware specifics is still required.
 uses special code called mnemonic to represent
machine language instructions. e.g., instead of using
of 1s and 0s to represent an addition operation, a
programmer might use the mnemonic AD.

 before a computer can use an assembly language, it


must be translated into a machine language. This
conversion is made with a language translator
program called an assembler.

 Remember Machine Language is the only language


the computer can understand.
High Level Languages
 closely resemble human language and mathematical
notations.

 must be translated to machine language format.

 high level language is called the SOURCE CODE while


the translation version is called the OBJECT CODE.

 Two types of translator programs are available to


translate the high level language code to machine code,
COMPILERS and INTERPRETERS.
Compilers
1. translate the entire source code (all statement) to its
object code before execution takes place. A permanent
object program is generated. Whenever changes are
made to the source code the program has to be re-
compiled for the changes to take effect.

Interpreters
2. translate high-level statements one at a time, executing
each step immediately after it has been translated. No
permanent object program is generated. Each time a
source program is encountered, it is re-interpreted
code, translator and object
code

SOURCE TRANSLATORS OBJECT


CODE CODE
Advantages of High Level Language
Over Machine Language

1. easier to learn and code programs in high level languages


since programmer does not need detailed knowledge of
the computer or its internal operation

2. Errors are easier to avoid and detect

3. Many high level languages are machine independent,


making them portable
Disadvantage of high Level languages
over Machine Languages

Execution of instructions is slower.

Can you think of any other?


Fourth Generation Languages
 requires much less effort in creating programs that high
level languages.
The objectives include:
 increasing the speed of program development
 minimizing end-user effort to obtain information from a
computer
 decreasing the skill level required of end users, so they
can concentrate on an application rather than on the
intricacies of coding. They can therefore solve their own
problems without the aid of professional programmers.
 minimizing maintenance by reducing errors and making
programs easy to change
Fifth Generation Languages

(5GL) is one that provides a visual or graphical


interface for creating the source code
(programming code).

often converts the source code to machine


language using a 3GL or a 4GL complier.

Object-oriented and web development tools


sometimes use a 5GL. For example visual basic
Natural Languages
 making computer language as close to human as
possible.

 E.g. a user enters the command “Get me sales


figures for January 1992”, a computer
understanding natural languages could interpret
this and supply the desired information.

 They enable users to communicate with computers


in their native language (English, French, etc.)

You might also like