0% found this document useful (0 votes)
16 views34 pages

Chapter4 Computer Software

The document outlines the three layers of computer software: application software, system software, and hardware. It explains the functions and examples of each layer, emphasizing the importance of system software in managing hardware and supporting applications. Additionally, it discusses trends in software development and programming languages, highlighting the evolution towards user-friendly and network-enabled applications.

Uploaded by

Fahad Feroz
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views34 pages

Chapter4 Computer Software

The document outlines the three layers of computer software: application software, system software, and hardware. It explains the functions and examples of each layer, emphasizing the importance of system software in managing hardware and supporting applications. Additionally, it discusses trends in software development and programming languages, highlighting the evolution towards user-friendly and network-enabled applications.

Uploaded by

Fahad Feroz
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

4 Computer

Software
Software in 3 layers
This previous slide shows software in 3 layers, like an onion. The idea
is:
✅ Application software (what you use) sits on top of
✅ System software (what runs the computer) which sits on top of
✅ Hardware (the physical parts)
If the bottom layer fails, the top layers can’t work.
1) Hardware (center box)
Easy meaning: The physical parts you can touch.
Examples:
•CPU (processor)
•Hard disk / SSD
•RAM
•Keyboard, mouse
•Monitor
•Printer

So, “Hardware is the body of the computer.”


2) System Software (middle layer)
Meaning: The software that makes hardware work and supports other
programs.
A) Operating System (shown inside system software)
Examples:
•Windows
•macOS
•Linux
•Android
•iOS
What it does (simple):
•Starts the computer
•Manages memory and files
•Controls devices (printer, Wi-Fi)

B) Utilities (also inside system software)


Examples:
•Antivirus (Kaspersky, Windows Defender)
•Disk cleanup / storage manager
•Backup software
•File compression (7-Zip / WinZip)
So, “System software is the manager that controls the computer.”
3) Application Software (outer layer)

Meaning: The programs users run to do tasks.


Examples:
Spreadsheets
•Excel, Google Sheets

Word processors
•MS Word, Google Docs

Databases
•MS Access, MySQL (or even a university student database system)

Internet Browsers
•Chrome, Firefox, Edge

Computer Games
•PUBG, FIFA, Candy Crush (any game app)

So, “Application software is what people use for work, study, and
entertainment.”
Real-life examples of Technology
Layers inside a computer system
The previous slide shows real-life examples of
technology.

Operating systems: Android, iOS (they run the phone).

Apps: WhatsApp, Instagram (they do specific tasks).

Programming language: Java (used to build software).

Hardware/chip: MediaTek, iPhone device (physical parts).

Simple idea: Hardware is the body, software is


the brain.
The previous slide the layers inside a computer system.
Hardware: physical parts (motherboard, graphics card, chip).
BIOS: helps the computer start/boot.
Drivers: “helpers” that let the OS talk to devices (printer, sound,
display).
Operating System (OS) sits above hardware and manages it.
Example: If you plug in a printer, the driver helps
Windows/macOS use it.

RAM is short for “random access memory” RAM is one of the


most fundamental elements of computing. RAM is the super-fast
and temporary data storage space that a computer needs to
access right now or in the next few moments.
BIOS (basic input/output system) is the
program a personal computer's microprocessor
uses to get the computer system started after
you turn it on. It also manages data flow
between the computer's operating system and
attached devices such as the hard disk, video
adapter, keyboard, mouse and printer.

Driver More commonly known as a driver, a


device driver or hardware driver is a group of
files that enable one or more hardware devices to
communicate with the computer's operating
system. Without drivers, the computer would not
be able to send and receive data correctly to
hardware devices, such as a printer.
Comp. soft Categories
Computer
Software
Categories

Application System
Software Software

General- Application- System System


Purpose Specific Management Development
Programs Programs Programs Programs

C++
Compiler
OS
Assembler

010111010010
Utilities
110110101010
Computer software is typically classified into two major types of
programs:
Systems Software. These are programs that manage and support
the resources and operations of a computer system.
A. System Management Programs. Software that helps the
computer itself run (in the background).Users don’t use it to “do
homework” directly, but without it the computer won’t work
properly. These programs help run the hardware and
communicate critical information throughout the IS. So,it is a
Software that manages and controls the computer.
i) OS (Operating System) ii) Utilities
Meaning: The main software that runs the Meaning: Helper tools that maintain, protect, or fix
device and manages everything. the system.
•Examples: •Examples:
• Windows • Antivirus (Kaspersky, Windows Defender)
• macOS • Disk cleanup / Storage manager
• Linux • Backup tools
• Android • File compression (WinZip, 7-Zip)
• iOS • Task Manager / system monitor
B. System Development Programs. Tools used by programmers to
create software. These programs are used to build new application
programs or specific information systems applications. Examples
include programming language translators, programming
environments, and CASE packages.

Examples in the slide: C++ Compiler, Assembler (and binary code)

•Compiler (e.g., C++ compiler):


• Converts human code (C++) into machine code.
• Examples: GCC, Clang, MS Visual C++

•Assembler:
• Converts assembly language into machine code.
• Examples: NASM, MASM

•Binary (0s and 1s):


• The machine language the CPU actually understands.
Applications Software. Software that helps users do tasks (for
study, work, fun). These are programs that direct the
performance of a particular use, or application, of computers to
develop specific information products by end users.

A. General-Purpose Application Programs. Common apps that


almost everyone uses. These programs allow end users to
create a great many different information products within a
general knowledge category. Examples include word
processing, spreadsheets, database managers, graphics, and
integrated packages.
General-Purpose Programs Examples:

• Google Docs / Microsoft Word (writing)


• Excel / Google Sheets (tables and calculations)
• PowerPoint / Google Slides (presentations)
• Chrome / Firefox (web browsing)
• Email apps (Gmail, Outlook)
B. Application-Specific Programs. Software made for a
specific job or industry. These programs are dedicated to very
specific functions within a knowledge area. Examples include
programs for accounting, generating marketing plans, or
handling financing.

Application-Specific Programs Examples:


• Hospital system (patient records)
• University LMS (Moodle/Canvas) for classes and
assignments
• Banking software (accounts, transactions)
• Accounting software (QuickBooks, Tally)
• POS system in shops (billing + inventory)
Categories of Prog. Languages
Machine High Level Markup Languages
Languages (1) Languages (3) Use embedded
Use binary coded Use brief statements control codes
instructions <h1>
1001 1001 Compute X = Y + Z First heading
1100 1101 </h1>

Assembly Fourth Generation Object-Oriented


Languages (2) Languages (4) Languages
Use symbolic coded Use natural statements Objects- data and actions
instructions SUM THE FOLLOWING [Link]
ADD Z (“Hi There”)
NUMBERS
01000001 ~ A

1001 1001 1001 1001 1001 1001 1001 1001 Voice Command
1001 1001 1001 1001 1001 1001 1001 1001
~ 1.84e+19 vs 1 Billion =10^9 ---- 20 billion billion x 3 billion/sec
1) Machine Languages (Use binary coded instructions)
Meaning: The computer’s real language — only 0s and 1s.
•Computers understand this directly.
•Humans find it very hard.
Examples:
•Binary machine code like: 10101010 11001100
•(Not something people usually write today by hand.)
Example: “Imagine telling a friend your message using only 0 and 1 —
very difficult.”
2) Assembly Languages (Use symbolic coded instructions)
Easy meaning: Still close to the machine, but uses short
words/symbols instead of pure 0s and 1s.
•Needs an assembler to convert it to machine code.
Examples:
•Instructions like: MOV, ADD, SUB
•Used in low-level hardware programming.
Example: “Assembly is like using abbreviations instead of full
sentences.”
3) High Level Languages (Use brief statements)
Meaning: Languages that look more like English/math, so
humans can write programs easily.
•Needs a compiler or interpreter to run.
Examples:
•C, C++, Java, Python
•Example code: x = y + z
Example: “Python is like writing instructions in a simple human-
friendly way.”

4) Fourth Generation Languages (4GL) (Use natural statements)


Meaning: Even more human-friendly — you often tell the computer what
you want, not how to do every step.
•Commonly used in databases and reports.
Examples:
•SQL (very common):
SELECT * FROM Students WHERE GPA > 3.5;
•Report tools / query tools (many business tools are 4GL-like)
Example: “Instead of writing a full program, you just ask: ‘Show me top 10
expensive products.’”
5) Markup Languages (Use embedded control codes)
Meaning: Not for “logic” like calculations—mostly used to structure and format
content (web pages/documents).
•Uses tags.
Examples:
•HTML:
<h1>First heading</h1>
•XML (for structured data)
•Markdown (simple formatting)
Example: “HTML tells the browser: ‘this is a heading’—it’s about display/structure.”
6) Object-Oriented Languages (Objects = data + actions)
Meaning: Programs are built using objects (like real-world things).
Each object has:
•Data (information)
•Actions (functions/methods)
Examples:
•Java, C++, C#, Python (can do OOP)
•Example idea:
Student object has data: name, ID, GPA and actions: calculate GPA(), register
Course()
Example: “A ‘Car’ object has data (color, speed) and actions (start, stop).”
7) Voice Command (bottom-right)

Meaning: You talk to the computer in natural language.


•Usually powered by AI, speech recognition, assistants.

Examples:
•“Open Chrome”
•“Send message to Ali”
•“Set alarm for 7 AM”

Example: “Siri/Google Assistant is like voice-based input—still


converted into commands internally.”

- Machine and Assembly are close to hardware;


- High-level and 4GL are closer to humans;
- Markup formats content; Object-oriented organizes programs using
real-world ‘objects’;
- Voice commands let us talk naturally.”
Trends in Software, Language
~1950 ~1960 ~1980 ~1980 ~1990

First Second Third Fourth Fifth


Generation Generation Generation Generation Generation

Software Trend: Toward Easy-to-Use, Multipurpose, Network-Enabled Application


Packages for Productivity and Collaboration

Natural &
Object-Oriented
Languages
User-Written Packaged Operating Microcomputer
Programs Programs Systems Packages Multipurpose
Graphic- Interface
Machine Symbolic High-Level
Languages Languages Languages DBMS (SQL) Network-Enabled
Expert-Assisted
Packages

Language Trend: Toward Visual or Conversational Programming Languages and


Tools
First Generation (~1950) —
User-Written Programs / Machine Languages
•People wrote programs directly in machine language (0s and 1s).
•Very hard and slow.
Example:
•Code looks like: 10101010 11001100
•Used in early computers in labs/military.
Simple line for students: “It’s like speaking to a computer in its native
language.”

Second Generation (~1960) —


Packaged Programs / Symbolic Languages
•Symbolic (assembly) languages appeared (ADD, MOV, etc.).
•Also packaged programs started (ready-made programs instead of writing
everything).
Examples:
•Assembly: ADD A, B
•Packaged: early accounting or payroll programs (basic business software).
Simple line: “Instead of writing everything from scratch, some software
came ready to use.”
Third Generation (~1980) —
Operating Systems / High-Level Languages
•Operating systems became common (manage hardware and programs).
•High-level languages made programming easier.
Examples:
•Operating systems: early UNIX, MS-DOS (later Windows)
•High-level languages: C, BASIC, Pascal, COBOL
Simple line: “Now humans could write code in easier words, and the OS
managed the computer.”

Fourth Generation (~1980) — Microcomputer Packages / DBMS (SQL)


•Computers became personal (microcomputers/PCs).
•Software packages for PCs became popular.
•DBMS (Database Management System) became important.
•SQL used to work with data.
Examples:
•Packages: MS Office (Word, Excel) type software
•DBMS: Oracle, MySQL, MS Access
•SQL example: SELECT * FROM Students;
Simple line: “People started using computers at offices, and databases
became necessary for business.”
Fifth Generation (~1990) —
Natural & Object-Oriented + Smart, Networked Software
This box shows modern trends:
•Natural & Object-oriented languages
•Multipurpose graphic interface (GUIs)
•Network-enabled packages
•Expert-assisted packages (smart help)

Examples:
✅ Natural/Conversational:
•Voice assistants: Siri, Google Assistant
•“Chatbots” helping users
✅ Object-Oriented Languages:
•Java, C++, C#, Python
✅ GUI (Graphic Interface):
•Windows/macOS interfaces (icons, buttons)
✅ Network-enabled packages:
•Google Docs, Zoom, Microsoft Teams, Gmail
•Online banking apps
✅ Expert-assisted:
•Spell check, auto-suggestions, AI tools (like
Grammarly)
Simple line: “Software became smarter, connected,
and easier for normal people.”
The blue bar (Software Trend)
Software trend: toward easy-to-use, multipurpose, network-
enabled apps for:
•productivity (work)
•collaboration (teamwork)
Examples:
•Productivity: Word/Excel/Google Docs
•Collaboration: Zoom, Teams, Google Drive2

The red bar (Language Trend)


Language trend: toward visual or conversational
programming tools
•Visual = drag-and-drop
•Conversational = voice or natural language style
Examples:
•Visual: Scratch, App Inventor, drag-drop website builders
•Conversational: “Create a report for me” using AI tools
Functions of an
Operating System

Utilities
Resource Task File
and Other
Management Management Management
Functions

User
Interface To be continued ...
The operating system of a computer manages the operations of the
CPU, controls the input/output and storage resources and activities of
the computer system, and provides various support services as the
computer executes the application programs of users.

The user interface is the part of the operating system that allows users
to communicate with the computer. Interfaces can be command-driven
(the user types in command instructions through the keyboard), menu-
driven (the user selects commands presented on-screen with either a
mouse or keyboard), and graphical (the user selects commands that
appear as icons, buttons, bars, and other images with a mouse or other
pointing device). Through the interface, the end user has access to the
following resources:

Resource Management. These programs manage the hardware of a


computer system, including its CPU, memory, secondary storage
devices, and input/output peripherals.
Task Management. Task management programs manage the
computing tasks of end users. They give slices of the CPU's processing
time to tasks and determine the logistics of which tasks take priority
over others when more processing time is required.

File Management. Operating systems also contain file management


programs that control the creation, deletion, and access to files of data
and programs. File management involves keeping track of the physical
location of files on magnetic disks and other secondary storage devices.

Instructor’s Note: The following is extra-textual material on this topic:


Utilities and Other Functions. Operating systems may contain
additional programs (or support for them to be added later) called
utilities that help maintain the integrity of the system and its interface
with the system hardware. Common utilities are used to defrag a
system's hard drive, compress the space programs and files need for
storage, or other functions.
Translating Prog. Languages
Interpreter
Translation process - Real time
compilation
Compiler
Interpreter

Assembler
IF A == B
THEN Language 10011010
Translator 11101010
Program 00101100

Source
Program

Written in
C, BASIC,
COBOL, Language
etc.
Translation Machine
Process Language

Hardware
Programming packages help programmers develop computer
programs. These include:
Language Translator Programs. These translate a set of
instructions into the computer’s own machine language.
Typical language translator programs include:
• Assembler. An assembler translates the symbolic instruction

codes of programs written in an assembler language into


machine language.
• Compiler. A compiler translates high-level language

statements.
• Interpreter. An interpreter is a special kind of compiler that

translates and executes each program statement one at a time.


Programming Tools. Common programming tools include
graphics-oriented editors and debuggers to help identify and
avoid errors while programming.
A Php Code Sample

👉 Most important line is: What the PHP tags mean


•echo rand(1, 10); •<?php = PHP code starts here
What it means (very simple) •?> = PHP code ends here
•rand(1, 10) = “pick a random number between 1 and Everything outside is HTML (page structure).
10”
•echo = “print/show it on the webpage”
So together: “Show a random number between 1
and 10 on the page.”
A C++ Code Sample

Quick explanation of the other important parts


•#include <iostream> → lets C++ use input/output (cin, cout)
•int main() → program starts here
•return 0; → program ends successfully

You might also like