Week 2 -Computer Software
Introduction to Software
Software is a set of instructions that directs computing devices to perform specific operations.
Intangible nature of software: Unlike hardware, which is visible, software cannot be seen; it is simply read by computers.
Analogy: Hardware acts like a brain while software functions as memory—hardware is observable, but software (memory) is not.
Definition of Software
Components of Software: Includes computer programs, applications, operating systems, libraries, and associated documentation.
Machine Language: Software is typically written in a high-level programming language that is more user-friendly compared to machine language, which is known as machine code.
Translation Methods: High-level languages are translated into machine language via compilation or interpretation (or a combination of both).
Importance of Software
Essential for a computer's operation; without software, the computer cannot function.
Different types include operating systems, system software, and application software.
Types of Software
Major Types:
Application Software: Designed for end-users to perform specific tasks.
System Software: Helps manage hardware and provides a platform for applications.
Other Types:
Programming Software: Tools to write and debug other software.
Driver Software: Control devices and peripherals.
Application Software
User Engagement: As a typical user, application software (apps) is what you interact with the most.
Categories of Application Software:
Word Processing Software: e.g., Microsoft Word, Notepad.
Spreadsheet Software: e.g., MS Excel, Apple Numbers.
Database Software: e.g., Oracle, MS Access.
Multimedia Software: e.g., Real Player.
Communication Software: e.g., Skype, ICQ.
Email Programs: e.g., Microsoft Outlook, Gmail.
These applications are classified as non-essential but increasingly cater to expanding user needs in technology.
System Software
Definition: System software enables the interaction between users, hardware, and application software.
Acts as a platform for applications to function, and is vital for managing computer systems.
Initial Loading: System software loads first when the computer starts up; it operates in the background.
Operating Systems
Examples include:
Desktop: Microsoft Windows, macOS, Linux.
Mobile: iOS, Android.
Programming Software
Target Audience: Specifically geared towards programmers, to write, test, and debug code.
Functions: Program that translates various programming languages (like Java and Python) into machine code.
Types of Translators:
Compilers: Translates the whole source code at once.
Interpreters: Executes lines of code individually.
Assemblers: Converts assembly code to machine code.
Examples: Eclipse, Notepad++, Sublime Text.
Driver Software
Role of Drivers: Allows operating systems to communicate with hardware devices by translating commands.
Essential for device functionality; each connected device typically requires a driver.
Examples include drivers for printers, mice, and network cards.
Some devices come with built-in drivers while others may need additional installation.
Additional Software Categories
Freeware: Software available for free (e.g., Google Chrome).
Shareware: Paid software offered for a trial period (e.g., Adobe Photoshop).
Open Source Software: Software with publicly available source code (e.g., LibreOffice).
Closed Source Software: Proprietary software whose source code is not shared (e.g., Microsoft Office).
Utility Software: System software designed to manage and optimize computer hardware and software performance (e.g., antivirus software, disk cleaners).