User talk:AFRICANO.B

COMPUTER SOFTWARE. Computer software is the collection of computer programs and related data that provides the instructions to the computer hardware. OR Computer software refers to the electronic instructions and procedures that control the operation of a computer. The development of software is called programming/coding, and is done by programmers. A program is a sequence of instructions written to solve a particular problem within the computer. Computer software can be categorized into two: System and Application software SYSTEM SOFTWARE. These are set of programs that manage and control the operation of a computer and other types of software that run on it. It also coordinates all the activities of all external hardware such as mouse, keyboard, speakers, printers, e.t.c. Types of system software System software is categorized into: 1.	Operating systems 2.	Firmware 3.	Utility programs 4.	Programming languages 5.	Device drivers 1.	OPERATING SYSTEM (OS) This is a set of programs containing instructions that coordinate all the activities among computer hardware devices. It is referred to as the engine of the computer. Examples of common operating systems include; DOS (Disk Operating System), Microsoft windows (XP, 2000, NT, 7, 8), Ubuntu, Linux, UNIX and Macintosh (MacOS), Solaris, Netware (designed for client server networks), Vista, Palm OS e.t.c General functions of the operating system •	The OS provides an interface between the user and the computer.ie. OS communicates with the user and tells him/her what to do and what it has done. •	It manages the computer processor by managing the flow of information in the computer. •	Establishes network connections •	It manages the computer hardware and software by directing information to the appropriate destinations. •	It does File management; this includes keeping record of the saved files, their names, sizes, location •	The OS manages the shutting down of the computer. •	It controls the running of other programs, i.e. loads and enables the other programs to operate. •	It does Memory management. This involves organizing the use of the computer’s main memory into locations (blocks) •	It does Error handling. Error handling involves the ability to identify errors that come about in the use of the computer system by the user, and in the execution of instructions. •	The operating system completes the booting process of the computer system, It does Spooling of print jobs. SPOOLING refers to the process of putting tasks that need to be done into a buffer until they can be executed •	It Administers security by the use of passwords for systems that involve the user to log on. •	It ensures the automatic update of time and date on the computer

BASIC CATEGORIES OF OPERATING SYSTEM 1. A stand-alone operating system: This is a complete operating system that works on a PC. Examples include: Mac OS X, UNIX, Linux, MS-DOS and Windows (XP, Windows Vista, Windows 7, Windows 8, Windows 10 etc.). 2. A network operating system (NOS): is an operating system that supports a network and typically resides on the server. Examples include Windows Server 2003, 2008, Solaris, and NetWare, UNIX server, and Linux server. 3. An embedded operating system: is an operating system that resides on ROM chips and typically used on handheld computers and small devices. Popular embedded operating systems today include Windows Embedded CE, Windows Mobile, Palm OS, Embedded Linux E.T.C 4. Graphic user interface (GUI) O.S: This is an operating system that provides graphics of icons in form of pictures and text that guides the user when interacting with the computer hardware and software. . This operating system has window icons menu pull-down menus, scrollbars, icon images, wizards, list boxes, radio buttons, check boxes and pointing device features to enable users to interact with the operating system or application. The acronym WIMP is used to refer to Windows, Icons, Menus and Pointing device in respect to GUI. The most common GUI operating systems today are Microsoft Windows, Mac OS X, and X Window System interfaces e.t.c Advantages of a GUI operating System •	Makes computer operation more intuitive, and thus easier to learn and use. •	GUIs generally provide users with immediate, visual feedback about the effect of each action. •	GUIs allow users to take full advantage of the powerful multitasking capabilities •	GUIs have windows that enable a user easily to view, control, and manipulate multiple things at once. •	GUI is easy to use because of  the use of graphics •	GUI enables a user to create shortcuts, tasks, or other similar actions to complete a task or run a program Disadvantages of GUI •	GUI requires a lot of system resources (e.g. memory space) •	When it is not properly built, it can be very difficult to work with. •	 It might require the installation of additional software, e.g., the "runtime environment" in the case of java. •	It might be slower to download into memory. •	The user choices are restricted to those on the menus

5. Command line interfaces (CUI) O.S: The command line is a user interface that is navigated by typing commands at a command prompt; for example, the root MS-DOS command line prompt generally is C:\>. CLI can only be navigated by using a keyboard and entering commands; it does not use a mouse. Advantages of CLI •	It does not require a lot of memory resources to run because it is light. •	Users have much more control of their file system and operating system in a command line interface. •	It is precise because the user states exactly what he or she wants to do Disadvantages of CLI •	Difficult to use by new users •	CLIs cannot show images. CLI	GUI The user has to know the commands or look them up 	The commands are much more intuitive The commands usually have to be entered in full 	Command shortcuts are possible such as  C to copy The user has to learn the commands and more training is needed 	Less learning and training by the user is required More difficult to use and the user is more likely to make mistakes 	The GUI is more user-friendly There are no graphics 	Graphics are used to represent tasks, files etc. There are no menus 	Menus are used for making choices The user has complete control 	The user choices are restricted to those on the menus Commands have to be entered accurately with the correct spellings and syntax (rules) 	Spelling and typing errors are avoided No pointing device is used 	A pointing device is used to select items and make choices Note: -HCI (Human Computer Interface) refers to the way of interaction between the user and the computer and how easily they can operate it. Some interfaces are user friendly while others are difficult to manipulate especially those which require the use of commands. -The user interface is the aggregate of means by which the user interacts with the computer system. Three types of user interfaces are: i.	command-line interface (CLI), ii. menu-driven interface (MDI), and iii. graphical user interface (GUI). -A menu-driven interface provides menus as a means of entering commands. -Touch user interface: Touch user interface are graphical user interfaces using a touch screen display as a combined input and output device. Used in many types of point of sale, industrial processes and machines, self-service machines etc -Voice user interfaces: Voice user interfaces accept input and provide output by generating voice prompts. The user input is made by pressing keys or buttons, or responding verbally to the interface.

Factors to consider when choosing an operating system •	The Human–computer interface i.e should be user friendly •	The Cost of the operating system. •	Applications intended to be installed on the computer. •	Its availability on the market. •	The operating system should have adequate information and help guides for user reference. •	Hardware configurations this includes the memory capacity a computer, processor type, capacity of the hard disk etc •	Reliability of the operating system. ie one which runs without stopping to respond. •	The type of computer in terms of size and make. •	The number of processors and hardware devices it can support. •	The number of users it can support

2.	UTILITY SOFTWARE Utility programs are software programs that add functionality to your computer or help your computer to perform better. OR Utility software refers to system software designed to analyze, optimize, enhance and maintain a computer in good working conditions. Examples include Antivirus, file compressor, screen saver, sort-merge utility, diagnostic utility e.t.c

3.	PROGRAMMING LANGUAGES A programming language is a set of instructions used to build, design other computer programs. A programming language has a unique set of keywords and a special syntax. Syntax refers to the spelling and grammar of a programming language. A computer program is a collection of instructions that performs a specific task when executed by a computer Programming – Refers to the process of developing computer (instructions) programs used to solve a particular task. Levels of programming languages: 1.	Low-level languages 2.	High-level languages Note: These levels are further subdivided into five generations. The first and second generations consist of low-level languages while the third to the fifth generation consist of high-level languages. 1.	Low-level languages: Low-level languages are easily understood by the computer directly or they require little effort to translate into computer understandable form. Two types of low level languages are the machine languages and assembly languages. -Machine languages (First generation languages): These are languages written in binary form (represented as 0’s and 1’s) in the computer. It is extremely difficult for humans to read and write. An example of machine code instructions will look like 1000000001001 on a 16-bit machine -Assembly languages (Second generation languages): Assembly language is written using mnemonic codes (abbreviated English words, i.e. short codes) that suggest their meaning and are therefore easier to remember. e.g. SUB for subtract, FNO for First Number. 2.	High-level languages: High level languages are very close to the human language (English-like) and they can be read and understood even by people who are not experts in programming. These languages are machine independent. High level languages can be classified into five groups: i.	Third generation languages. (3 GLs) ii. Fourth generation languages. (4 GLs) iii. Fifth generation languages. (5 GLs) iv. Object oriented languages. (OOPs) v.	Web scripting languages. i. Third generation languages (3 GLs) e.g Pascal, FORTRAN (FORmula TRANslator, COBOL: (Common Business Oriented Language), BASIC: (Beginners All-purpose Symbolic Instructional Code, C, Ada e.t.c ii. Fourth generation languages (4 GLs e.g Visual Basic, Delphi Pascal and Visual COBOL. iii. Fifth generation languages (5 GLs) like PROLOG, Mercury, LISP and OCCAM. iv. Object-oriented programming languages (OOP) they include Simula, C++, Java and Smalltalk. v. Web scripting languages: Web scripting languages are used to develop or add functionalities on web pages. Web pages are hypertext documents created in a language called Hypertext Markup Language (HTML). Scripting languages like java Script, VBScript and Hypertext Preprocessor (PHP) in order to add functionality to the HTML page. A script is a small program fragment, written in a different language other than HTML but inserted into the HTML program. Advantages and disadvantages of low-level and high-level languages: Advantages of Low-level languages. 1. The CPU understands machine language directly without translation. 2. They are suitable and hardly crash or breakdown once written 3. Running a program is fast, no compilation is needed. 4. They are economical in terms of the amount of memory they use. Disadvantages 1.	They are difficult and cumbersome to use and learn 2.	Requires highly trained experts to both develop and maintain programs. 3.	Debugging programs is difficult 4.	They are machine dependant 5.	The programs are long. Advantages of high-level languages 1.	The programs are portable ( not machine dependant) 2.	They are user friendly and easy to use and learn. 3.	They are more flexible 4.	They provide better documentation 5.	They are easy to debug 6.	Require less time to code. Disadvantages i) Program executed more slowly. ii) Require larger CPU storage capacity for compilation. iii) They have to be translated to machine-readable form before the computer can execute them.

LANGUAGE TRANSLATORS The main work for language processors is to translate high level language codes to low level language codes that the processor can understand. They include; Compiler: A compiler translates the entire source program into object code. A source code is the Program instructions in their original form, as written (coded) by the programmer in a particular programming language. Object code: are programs generated from the source program. Interpreters: An interpreter translates the source program line-by-line, allowing the CPU to execute one line before translating the next. Assemblers: An assembler translates assembly language into machine code that the computer can understand and execute. Linkers: A linker is a program that combines compiled programs and determines where the program will be located in memory. Text editors: These are computer programs that are used to create change or edit plain text files.

4.	DEVICE DRIVERS A device driver is a program that controls a particular type of device that is attached to a computer. Each device on a computer, such as the keyboard, mouse, monitor, printer, card reader/writer, and scanner, digital camera has its own device driver. 5.	FIRMWARE(Stored Logic) Firmware is the small programs recorded by the computer manufacturer at the factory on electronic chips mounted on the computer’s motherboard or any other device to control the devices. A firmware is a chip that is used to hold the operating system, utility programs and language translators. These chips are mounted on the motherboard of the computer

APPLICATION SOFTWARE (PACKAGES). These are programs that are designed to help the user accomplish specific tasks. OR Application software consists of programs designed to perform specific tasks for end-users.

Examples of common application programs are: •	Word Processors (Ms Word, WordPerfect, WordStar, Lotus Notes, Perfect Text Editor, Professional Writer, etc). Used in creation of documents like letters, reports, labels etc. •	Spreadsheets (Ms Excel, Lotus 1-2-3, Quattro Pro. VisiCalc. ) used in creation and maintenance of numerical data and carrying out calculations). •	Databases, (Ms Access, dBase III and IV, My SQL, FoxBase, Paradox). They are used to keep records and files •	Presentation software (Ms PowerPoint, Screencast, Corel presentation). used for making presentations and slide shows that can aid a speech presentation •	Desktop publishing (Adobe PageMaker, Ms Publisher, Adobe InDesign) used in designing publications like newspapers, creation of books, magazines etc. •	Computer Aided Design (CAD) e.g. AutoCAD, ArchiCAD, Auto desk Used by engineers and architects to produce technical drawings such as designs of building structures •	Graphic Software (Adobe Photoshop, Corel Draw ).Designing and manipulating graphics •	Communication software e.g. Browsers, e-mail software, Ms Outlook, teleconferencing software.. Used in sending mails and searching for data on the www. •	Accounting software helps companies to record and report their financial transactions. Examples include Quick Books •	Audio and video editing software: lets users produce studio quality soundtracks and modify video clips. •	Images Viewing software: refers to computer applications primarily used for previewing digital photographs on the computer screen. Examples of Image viewers include: Microsoft Office Picture Manager, Windows Photo viewer, Picasa photo viewer, etc. •	Reference software provides valuable and thorough information for all individuals. e.g Microsoft Student with Encarta Premium •	Text Editors: Text editors are simple word processors that are generally used to type without any special formatting. Examples of common text editors are: Notepad, Notepad++, Sublime Text, Gedit etc.

TYPES OF APPLICATION SOFT WARES Application software is classified into: 1.	General Purpose / Off the shelf /Packaged/Standard Soft ware These are set of programs which perform a variety tasks for a wide variety of users. For example Microsoft office suite (MS-Excel, MS-Access, PowerPoint and MS-Publisher), Computer games packages, Adobe Photoshop,Education software packages Advantages of off-the-shelf software •	Off-the-shelf software are relatively cheap. The cost of development can be spread over a large number of users. •	Off-the-shelf software offers a wide range of capabilities, performs several functions. •	They are Easily available from most computer vendors •	This software is thoroughly tested so there are no serious problems or bugs. •	Off-shelf has a lot of user support that is; books, user guides, online help and discussion forums on the Internet. •	Off-shelf is easy to learn and use (user friendly) •	Off-shelf can be customized to the user’s needs. •	The off the shelf programs are easy to install. Disadvantages of off-the-shelf software: •	Off-the-shelf software is highly complex because It includes large sections that a user may never use. •	Off-the-shelf software does not address needs of specific users. •	Off-the-shelf software may take a long time to learn properly. •	Using off-shelf is time consuming to learn and adopt because it requires the user to adapt to the system itself to do work. •	Off-shelf may not address some of the individual needs of the user. There will probably be operations that you require that you simply cannot do with the software. •	It is very difficult to gain any competitive advantage from its use over business rivals because they use the same software. 2.	Specialized /Tailored/Customized/ bespoke Software These are created to execute one specific task for a specific individual or organization .e.g. Locally made school management information systems (SMIS), Inventory management systems, Payroll management systems, Library management systems e.t.c They are developed for other places like hospitals, airlines or business houses. Advantages of Custom-made software •	A custom-made application directly addresses the user’s needs because it is written to the user’s requirements and fits in with his/her work. •	The solutions it offers given the greatest depth, breadth and flexibility possible in meeting the needs of an organization, since the software product is tailored to the organization’s specifications •	The software developer delivers and installs the software and trains the end users in the use of the new software. •	The software also performs tasks that the general purpose software cannot perform. •	This kind of software can be quickly changed when the needs of the organization change, since the source code belongs to the company. Disadvantages of custom made •	High costs of developing the software, on-site installation, support and training. •	It takes time to acquire because of the need to get information necessary and to write the code of the new software. •	There is high possibility of undetected errors/bugs in the software. STANDARD SOFTWARE IS… 	CUSTOM SOFTWARE IS… 1. Easy to use, because it is known by many people. Unique, and requires extensive training before use. 2. Cheaper because it is massively produced and packaged for commercial purposes. Expensive because it requires hiring a programmer. 3. Easy to acquire because it is already made. Difficult to acquire due to the time needed for programming it. 4. More reliable because it is tried and well tested by many users. May contain programming errors since it is not tested adequately. 5. Containing online help to guide users in case of any problems in use. Usually lacking online help services. 6. Cannot be modified or changed to meet unique user requirements. Meets all user requirements and can be edited if need arises.

OTHER CLASSIFICATIONS/ BASIC TYPES OF APPLICATION SOFTWARE. 1.	Freeware: Freeware is copyrighted software provided at no cost by an individual or a company that retains all rights to the software. 2.	Commercial software: This comes prepackaged and is available from software stores and through internet. 3.	Open-source: Open source software is software provided for use, modification, and redistribution 4.	Public-domain software: Public-domain software has been donated for public use and has no copyright restrictions. 5.	Web-based software: Web-based software refers to programs hosted by a Web site. Examples of Web-based software include e-mail, Website builders, online games, travel and mapping software 6.	Shareware: Copyrighted software that is distributed free for a trial period and payment required for using the software beyond that trial period 7.	Open source software: This is created by generous programmers and released into the public domain for public use. 8.	Copyrighted software: Copyrighted software refers to computer programs with restrictions regarding use, modification, and redistribution.

Characteristics of application software •	It should be easy to use •	It should be reasonably trouble free •	They are targeted to a wide range of users with a popular and common objective. •	It should be cost-efficient that is should not be too expensive •	It should be accurate and work according specifications •	There should be adequate support for trouble-shooting problems. •	It shouldn’t have any adverse effects on the society or the environment. •	The software should be machine independent. Factors to consider before obtaining a software program 1.	correctness — the software should do what it is supposed to do, according to the design specifications. 1.	robustness — the software should be stable, and it should respond well to unexpected conditions e.g. wrong input. 2.	user-friendliness — the software should be easy to use by users from the intended audience. 3.	adaptability — the software should be easy to customize/modify to adjust to the needs of the user. 4.	reusability — the parts of the software code should be easily reused to build other programs. 5.	interoperability — the software should be able to interface with other software systems. 6.	efficiency — the software should make good use of its resources i.e. (memory, disk, CPU, network) 7.	portability — the software should be easy transfer from one system to another. 8.	security — the software should be able to protect the information it is responsible for.

A software license (copyright) is a legal instrument governing the usage or redistribution of software to protect the interests of the program designer. Software Piracy is the unauthorized/illegal duplication and use of computer software/programs How to prevent software piracy •	Use of product key/serial key •	Sensitizing users on the dangers of using acquiring and using software illegally. •	Use of holograms, a component which comes with the original and cannot be duplicated. •	Require software authentication and activation. •	Incorporate flexible licensing. •	Prosecute the software pirates •	Institute and enforce a copyright law Software suit This is a collection of individual application software packages sold as a single package. Popular software suits include; •	Microsoft office (Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Microsoft Access). •	Lotus smart suit (Lotus Word Pro, Lotus 1-2-3, Lotus Freelance Graphics, Lotus Approach) •	WordPerfect suit(WordPerfect, Quattro Pro, Corel Presentations, Corel Paradox). •	KOffice(KWord, KSpread, KPresenter, Kexi) •	Apple iWork (Apple Pages, Apple Numbers, Apple Keynote ) •	Internet suite. •	OpenOffice.org •	Graphics suite Advantages of Software suits •	Costs significantly cheaper than buying each of the application package separately •	Ease of use because applications within a suit usually use a similar interface and share common features •	Programs integrated together in a software suite can interact with each other •	Easy installation because all the various applications can be installed at once. Resources controlled by the operating system 1. Processor 2. RAM (main memory) 3. Input and output devices and ports 4. Secondary storage devices 5. Communication devices Syntax: refer directly to the rules and principles that govern the sentence structure of any individual programming language. Semantic: It involves the study of meaning of a word or phrase, usually in language. Debugging: Is tracing and eliminating all the errors in a program. Source program: these are the original words a programmer writes during programming. Pseudo-code: Are programming statements with a mixture of human language and computer language which is used to represent programs.

NOTE: 1. Log on. This is the process of entering a user name and a password into the computer. 2. Password. A password is a combination of characters associated with the user name that allow a user to access a computer or a network. Passwords should be easy to remember but not to obvious so that one can guess it easily. Longer passwords provide greater security than shorter ones. Do use: •	 At least eight characters if supported by the system. •	 A combination of mixed case letters and digits. •	A password that can be typed easily without looking at the keyboard. Do not Use: •	Your name, birth day, ID card number or telephone number •	A password of all digits or the entire same letter. Tips for safeguarding your password. •	Do not share your password with others. •	Do not write your password. •	Change your password frequently. What makes the language good? - Suitability of the problem. - Clarity and simplicity. - Efficiency - Availability - Consistency N.B. Debuggers: These are programming tools which help programmers to detect, locate and remove routine, syntax or logical errors from a program being written.