PowerPoint Presentation
COMPUTER SOFTWARECHAPTER 3 1Course Instructor : Engr Sarama Kamal
1Course Instructor : Engr Sarama Kamal
TopicsIntroduction to Software Applications Software and TypesApplications Software Classification : Ownership and Distribution RightsSystem Software and TypesProgramming Languages (generations/classifications, high vs low level languages, query languages(4gl ), web languages), Language Translators (compilers, interpreters, assemblers)2Course Instructor : Engr Sarama Kamal
SoftwareSoftware is a generic term for organized collections of computer data and instructions, often broken into two major categories: System software that provides the basic non-task-specific functions of the computer. System software is responsible for controlling, integrating, and managing the individual hardware components of a computer systemApplication software which is used by users to accomplish specific tasks.
3Course Instructor : Engr Sarama Kamal
The Relationship4Course Instructor : Engr Sarama Kamal
Classifications of Software5Course Instructor : Engr Sarama Kamal
Custom software(also known asbespoke softwareortailor-made software) issoftwarethat is speciallydevelopedfor some specific organization or other user. Utility softwareissystem softwaredesigned to help analyze, configure, optimize or maintain a computer5Course Instructor : Engr Sarama Kamal
Spheres of InfluencePersonalInformation systems that serve the needs of an individual userWorkgroupTwo or more people who work together to achieve a common goalEnterpriseInformation systems that support the firm in its interaction with its environment.
6Course Instructor : Engr Sarama Kamal
To collaborate on common tasks, workgroup members can have meetings, talk on the telephone, send faxes, and distribute memos. Group members can also use workgroup information systems to help them collaborate.
6Course Instructor : Engr Sarama Kamal
Spheres of Influence
7Course Instructor : Engr Sarama Kamal
Application Software Course Instructor : Engr Sarama Kamal8
Common SoftwaresWord Processing Software:Allows users to create, edit a document. Example: MS Word, Word Pad etc.Spreadsheet Software:Allows users to create document and perform calculation. Example: Excel, Lotus1-2-3 etc.Database Software:Allows users to store and retrieve vast amount of data. Example: MS Access, MySQL, Oracle etc.Presentation Graphic Software:Allows users to create visual presentation. Example: MS Power PointMultimedia Software:Allows users to create image, audio, video etc. Example: Real Player, Media Player etc.
9Course Instructor : Engr Sarama Kamal
Application Software Classification Ownership and Distribution10Course Instructor : Engr Sarama Kamal
OwnershipCommercial Software:Installation in number of computers is specified by the software vendor/producer. User only buys the license to use it. User does not buy the software. He/she may not be allowed to install a software more than one machine.A demo version of software may exist for free but demo version does not include all the key components of the software.
11Course Instructor : Engr Sarama Kamal
Ownership(contd)Shareware:May be free of charge or the software company may charge a nominal fee. Users can download these kinds of software from the Internet. Example: Real Player full version, MP3 player full version, different games downloaded from he Internet, Winzip, Cuteftp, Getright, etc12Course Instructor : Engr Sarama Kamal
Ownership(contd)Freeware:Software that are given away for free by the vendor/producer. Example: Adobe PDF, Google Talk, yahoo messenger, MSN messenger, etc
13Course Instructor : Engr Sarama Kamal
Ownership(contd)Open Source Software :The term Open Source is very close to freeware but not identical to it. We say this because, the source code of an open-source software is readily available to users 2 but under a copyright, and one is freely allowed to re-distribute the software.The concept of open-source program relies on the fact that a user can review a source-code for eliminating possible bugs in it.EXAMPLE : Android OS
14Course Instructor : Engr Sarama Kamal
Ownership(contd)Crippleware : Some software are offered as freeware but with very limited features or with the major feature missing. These arereferedto as Crippleware. Example : Realplayer trial version, MP3 player trial version
15Course Instructor : Engr Sarama Kamal
The Components of System SoftwareOperating system - the principal component of system software
Device drivers - help the computer control peripheral devices
Utility programs - support, enhance, or expand existing programsExamples of utility programs are antivirus software, backup software and disk tools.
Course Instructor : Engr Sarama Kamal
16Operating system (OS) - the master system of programs that manage the basic operations of the computer. Also called the software platform.Course Instructor : Engr Sarama Kamal
OS- What does it do ?17Course Instructor : Engr Sarama Kamal
The Operating System: What It DoesBooting - the process of loading an operating system into a computers main memory
Course Instructor : Engr Sarama Kamal
18
Course Instructor : Engr Sarama Kamal
BOOTINGWhen you turn on the machine, programs called diagnostic routines test the main memory, the central processing unit, and other parts of the system to make sure they are running properly. Next, BIOS (for basic input/output system) programs are copied to main memory and help the computer interpret keyboard characters or transmit characters to the display screen or to a disk. Then the boot program obtains the operating system, usually from the hard disk, and loads it into the computers main memory, where it remains until you turn the computer off.19Course Instructor : Engr Sarama Kamal
The Operating System: What It DoesCPU ManagementSupervisor (kernel) - program which remains in main memory while the computer is running, and directs other nonresident programs to perform tasks that support application programs
20Course Instructor : Engr Sarama Kamal
20The central component of the operating system is the supervisor.
The OS also manages memory via:
Partitioning - division of memory into separate areas called partitions, each of which can hold a program or data.
Foreground/background - division of memory into higher priority (foreground) and lower priority (background) areas.
Queues - temporary line-ups for programs waiting to be executed.Course Instructor : Engr Sarama Kamal
The Operating System: What It DoesFile ManagementA file is (1) a named collection of data (data file), or (2) a program (program file) that exists in a computers secondary storage.
Move
Rename
Delete
Copy
Back up
21Course Instructor : Engr Sarama Kamal
21A file is (1) a named collection of data (data file), or (2) a program (programfile) that exists in a computers secondary storage.Course Instructor : Engr Sarama Kamal
File Management
22Course Instructor : Engr Sarama Kamal
The Operating System: What It DoesTask Management
Hold down CTRL, ALT and DEL keys to open the Task Manager
Course Instructor : Engr Sarama Kamal
23Time-slicing - the apportionment of tiny slices of time (fractions of a second) to various tasks, which allows time sharing to take place.
Two possible approaches to multiprocessing:
Coprocessing - the controlling CPU works together with specialized microprocessors called coprocessors, each of which handles a particular task.
Parallel processing - several full-fledged processors work together on the same tasks, sharing memory.Course Instructor : Engr Sarama Kamal
The Operating System: What It Does
Security management
Formatting (initializing) a disk - the process of preparing that disk so that it can store data or programs
24Course Instructor : Engr Sarama Kamal
24Shoulder surfer Course Instructor : Engr Sarama Kamal
Other System Software: Device Drivers & Utility ProgramsDevice drivers - specialized software programs that allow input and output devices to communicate with the rest of the computer system
Course Instructor : Engr Sarama Kamal
25
Course Instructor : Engr Sarama Kamal
Utilities: Service ProgramsBackup utility - program which makes a duplicate copy of the information on your hard disk
Data-recovery utility - program which restores data that has been physically damaged or corrupted
26Course Instructor : Engr Sarama Kamal
26Utilities - programs which perform tasks related to the control and allocation of computer resources.
FACTOID: Now that recordable CDs (CD-Rs) and rewritable CDs (CD-RWs) are becoming more and more common, backup utilities are being created to back up files onto them. Backup NOW! by NTI is one such utility.Course Instructor : Engr Sarama Kamal
Utilities: Service ProgramsAntivirus software - program that scans hard disks, floppy disks, and memory to detect viruses
Data compression utility - program which removes redundant elements, gaps, and unnecessary data from a computers storage space so that less space (fewer bits) is required to store or transmit data
27Course Instructor : Engr Sarama Kamal
27
Course Instructor : Engr Sarama Kamal
Utilities: Service ProgramsFragmentation - the scattering of portions of files about the disk in nonadjacent areas, thus greatly slowing access to the files
Defragmenter utility - program that finds all the scattered files on your hard disk and reorganizes them as contiguous files
Course Instructor : Engr Sarama Kamal
28
Course Instructor : Engr Sarama Kamal
Utilities: Service ProgramsDisk scanner and disk cleanup utilities:
Detect & remove unnecessary files
Detect & correct disk problems
Course Instructor : Engr Sarama Kamal
29
Course Instructor : Engr Sarama Kamal
What is a (programming) language?A program needs to be written in a languageThere are many programming languagesLow-level :understandable by a computerHigh-level :needs a translatorC++ is a high level programming language A sequence of instructionsA program(in computer language)An algorithm (in human language)
30Course Instructor : Engr Sarama Kamal
30High-level lang., easy
Low-level, hardCourse Instructor : Engr Sarama Kamal
Levels/Generations of Programming Languages1st Generation Programming language (1GL)Machine Language: 0s or 1s2nd Generation Programming language (2GL)Assembly Language : Mnemonics 3rd Generation Programming language (3GL)High-Level Languages ; (procedure oriented or Object Oriented)4th Generation Programming language (4GL)Very-High-Level Languages 5th Generation Programming LanguageNatural LanguagesCSC141 Introduction to Computer ProgrammingCSC141 Introduction to Computer Programming
Lecture - 2CSC141 Introduction to Computer Programming31
Machine language (1GL)The lowest level of language.The language used to program the first-generation computers.The instructions in 1GL are made of binary numbers, represented by 1s and 0s.1s and 0s correspond to the on and off states of electrical switches.Suitable for the understanding of the machine but very much difficult to interpret and learn by the human programmer.CSC141 Introduction to Computer Programming
Assembly language (2GL)Low-level language that allows a programmer to use abbreviations or easily remembered words instead of numbers.These Observations are called Mnemonics. These Mnemonic are Opcode and OperandsFor Example: ADDAX, BXMOVCX, AXINCCXOp-code;ADD, MOV, INC OperandsAX, BX,CX
CSC141 Introduction to Computer Programming
Assembly language (2GL)Programmer can write instructions faster but it is still not an easy language to learn.Drawback: The language is specific to a particular processor family and environment. (Machine Dependent Language)Assembler A program that translates the assembly language program into machine language.
CSC141 Introduction to Computer Programming
High Level languages (3GL)A High-Level Language is an English-like language.It is a refinement of a second-generation programming language. It allowed users to write in familiar notation, rather than numbers or abbreviations.Most High-level languages are not Machine Dependent.Translator for High-level languages is either a Compiler or an Interpreter.Examples of High-level languages:FORTRONCOBOLBASICC and C++
CSC141 Introduction to Computer Programming
Very-High-Level Languages (4GL)4GLs are much more user-oriented and allow programmers to develop programs with fewer commands compared with 3GLs.Saves a lot of time.4GLs consist of report generators, query languages, application generators, and interactive database management systemSelect*from(TABLE 1)For example:RPG III (Report Generator)SQL (Structured Query Language)NOMAD and FOCUS (DBMS)CSC141 Introduction to Computer Programming
Natural Languages (5GL)Two typesOrdinary Human Languages; like English.Programming language that use human language to give people a more natural connection with computers. 5GLs are designed to make the computer solve a given problem without the programmer. CSC141 Introduction to Computer Programming
An example:
Machine binary languageLow-level assembly High-level 38Course Instructor : Engr Sarama Kamal
How to translate?Examples of language translators:Microsoft Visual C++, Eclipse, g++A program written in high-level programming language (for example, C++ program)A low-level (machine/binary language) program that is understandable by a computer (for example, a PC)LANGUAGE TRANSLATOR (for example, Visual C++)
39Course Instructor : Engr Sarama Kamal
AssemblerAn assembler is a program that translates the mnemonic codes used in assembly language into the bit patterns that represent machine operations. 40
Course Instructor : Engr Sarama Kamal
CompilerA compiler turns the source code that you write in a high-level language into object code (machine code) that can be executed by the computer.The compiler is a more complex beast than the assembler. It may require several machine operations to represent a single high-level language statement.
41SourceProgramCompiler
Error messages
TargetProgram
InputOutputCourse Instructor : Engr Sarama Kamal
Interpreter
Interpreters translate the source code at run-time. The interpreter translates statements one-at-a-time as the program is executed.Interpreters are often used to execute high-level language programs whilst they are being developed since this can be quicker than compiling the entire program. The program would be compiled when it is complete and ready to be released.
42InterpreterSourceProgramInputOutput
Error messagesCourse Instructor : Engr Sarama Kamal
Concept CheckPlace the following software into its correct category:Computer Game This is built for a human user, therefore it is application softwareVirus Scanner This is built to make the computer run better, therefore it is system software
Course Instructor : Engr Sarama Kamal43
Assignment 1 Submission 12th March, 15Question 1 : Define Telecommuting.Question 2: Define computer(system) clock. Differentiate in between the 24 hour clock and the computers clock.Question 3 : Define a computer processor(CPU).Question 4 :Differentiate in between bit, byte and nibble.Question 5 :Define cache memory. How is it different from RAM ? Question 6 : What do u understand by the terms computer bus, register , port and connector ? Course Instructor : Engr Sarama Kamal44
Question 7 : Define Machine Cycle and explain the following diagram
Course Instructor : Engr Sarama Kamal45
Assignment 1 Submission 12th March, 15Quiz 1 on 12th March, 2015 Time : 40 minutes. (11 30 12 10) Course Instructor : Engr Sarama Kamal46
References Introduction to Information Technology Stacey C Sawyer Introduction to Computers by Peter Norton 7th edition
Course Instructor : Engr Sarama Kamal47