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).