Computer Grade 9-1-18-41 PDF
Document Details
Uploaded by SpectacularDaisy8789
Tags
Summary
This document describes computer systems and their components, including input and output devices, the system unit, and storage devices. It explains core components of a computer system.
Full Transcript
# Unit 1 COMPUTER SYSTEMS ## Energy Systems - **Power Plants:** Designed to generate electricity using various energy sources like coal, natural gas, nuclear, or renewable resources. - **Renewable Energy Systems:** Including solar panels, wind turbines, and hydroelectric plants. - **Electrical Gri...
# Unit 1 COMPUTER SYSTEMS ## Energy Systems - **Power Plants:** Designed to generate electricity using various energy sources like coal, natural gas, nuclear, or renewable resources. - **Renewable Energy Systems:** Including solar panels, wind turbines, and hydroelectric plants. - **Electrical Grids:** Infrastructure for the distribution of electrical power. ## Manufacturing Systems - **Factory Automation:** Systems that automate manufacturing processes, such as robotics and conveyor systems. - **Assembly Lines:** Organized systems for mass-producing goods. ## Healthcare Systems - **Hospital Information Systems (HIS):** Designed to manage billing, equipment, and artificial organs, and other healthcare data. - **Medical Devices:** Including MRI machines, X-ray equipment, and artificial organs. ## 1.3 Core Components of a Computer System A computer system comprises of several core components that work together to perform various tasks. The essential components of a computer system include Input devices, Output devices, System unit (motherboard, memory, CPU, power supply, etc.), and data storage devices. ### 1.3.1 Input Devices Input devices are used to provide data into the computer system. Input devices allow us to communicate with the computer. Some commonly used input devices are keyboard, mouse, microphone, scanner, barcode reader, digital camera, and touch screens. #### Keyboard It is the main input device to communicate with the computer. It allows the computer user to enter letters, numbers and special symbols into the computer. A keyboard is shown is Fig. 1.15. **Point to Ponder:** Why the keys on keyboard are not arranged in alphabetical order? #### Mouse It is a hand-held device used to control the movement of cursor or pointer on the screen. It has two or three buttons at the front that allows the computer user to make selections in menu, draw graphics or open files, folders and programs. A typical mouse is shown is Fig.1.16. #### Microphone It is a device that allows computer user to input audio into the computer. It changes audio signals into electrical signals which are translated into digital form by the sound card for processing in the computer. A microphone is shown in Fig.1.17. #### Scanner It is a device that captures images from photographs, magazines, books etc. and stores them in computer in digital form. These images can be edited, displayed on the screen or inserted in documents. A scanner is shown in Fig. 1.18. #### Barcode Reader It is a device that reads the barcode printed on products that represents product code, description and price. This information is used by the computer to print bill for the customer. A barcode reader is shown in Fig.1.19. #### Digital Camera It is input/output device used to capture pictures and store them in digital form. These pictures can be downloaded to computer for editing, viewing or inserting in documents. A digital camera is shown in Fig. 1.20. #### Touch Screen It is a pressure-sensitive display screen that is used to interact with the computer by touching pictures or words with finger. Touch screen is more commonly used with mobile phone and tablet. A touch screen is shown in Fig.1.21. ### 1.3.2 System Unit System unit is the main part of computer. It includes motherboard, power supply and drives (such as DVD and hard disk) inside the computer casing. All the input/output devices of a computer are connected to system unit through the ports. #### Motherboard Motherboard is the main circuit board inside the system unit. It contains microprocessor, main memory, expansion cards, many IC chips, connectors and other electronic components. It has many buses (electric pathways) printed on it. These are used to transmit information between various components of the computer. All the input/output devices are connected to the motherboard. A motherboard is shown in Fig.1.22. #### Microprocessor A microprocessor is the main chip on the motherboard that controls all the activities of the computer. It is also known as Central Processing Unit (CPU) or simply processor. It contains Control Unit (CU), Arithmetic Logic Unit (ALU) and Registers. A microprocessor and the block diagram of CPU are shown in Fig.1.23. ### 1.3.3 Storage Devices Storage devices are used to store programs and data that are not currently used by the computer. They have huge storage capacity. Therefore, they are also known as mass storage devices or secondary memory. Hard disk is the most commonly used storage device that is fixed inside the system unit. Portable storage devices are CD, DVD, memory cards and USB flash drive. Portable storage devices have less storage capacity than hard disk but they are cheap and easy to carry. #### Hard Disk A hard disk is a magnetic storage device used to store computer data permanently. It has storage capacity of hundreds of Gigabyte (GB). It is fixed inside the computer casing. Portable hard disk is also available that is attached to USB port. #### Compact Disk (CD) CD (DVD) is a portable optical storage device with a storage capacity of 700 Megabytes (MB). A CD is 1.2 millimeter thick with a diameter if 120 millimeters. CD drive is used to read data from or write data to a CD. #### Digital Versatile Disk DVD is also portable optical storage device. It has the same thickness and diameter as CD but has more storage capacity. Its storage capacity is in the range of 4 to 16 GB. A DVD writer is installed in the computer to read data from or write data to a DVD. A CD can also be used in a DVD writer. #### Memory Card Memory card is a small storage device having storage capacity of few Gigabytes. It is available in different sizes and storage capacities. Memory cards are generally used in laptop computers and portable devices such as mobile phone and digital camera for storing pictures, audio and video. A memory card is shown in Fig. 1.24. #### USB Flash Drive USB flash drive is a small portable drive that is connected to computer through USB port. It is also known as USB memory. It is very fast in operation and its storage capacity is up to 128 GB till now. A USB flash drive is shown in Fig. 1.25. ### 1.3.4 Output Devices Output devices are used to display text, graphics, and images on the monitor or to print information on paper. Information displayed on monitor is known as softcopy and anything printed on paper is known as hardcopy or printout. Commonly used output devices are monitor, printer, plotter, and speaker. #### Monitor It is an output device that has a screen on which information is displayed. It has two common types i.e.CRT (Cathode Ray Tube) monitor and LED (Light Emitting Diode) monitor. CRT monitor is very similar to old television. It is almost obsolete due to its big size and low display quality. LED monitor is slim, uses less power and has better display quality than CRT monitor. CRT and LED monitors are shown in Fig. 1-26. #### Printer Printer is an output device that prints text and graphics on paper which is known as hardcopy. There are two types of printers which are impact and non-impact printers. ##### Impact printer Impact printer uses electro-mechanical mechanism which causes the character shape to strike against the paper and leave an image of the character on the paper. Dot matrix printer is the most commonly used impact printer. The printing speed varies from 50 to 500 cps (characters per second). Their printing is very cheap but print quality is poor. They produce lot of noise while printing. These printers are still in use for printing invoices, bank statements, utility bills, etc. A Dot matrix printer is shown in Fig. 1-27(a). ##### Non-Impact printer Non-Impact printer prints without striking the paper. There are two types of non-Impact printers which are inkjet and laser printers. Inkjet printer stores ink in cartridge and sprays on paper through fine nozzles on the print-head. Laser printer uses technology similar to photocopying machine. Laser printer is more expensive, faster and has very high print quality compared to inkjet printer. Inkjet printers are used in all sectors such as homes and simple businesses. Laser printers are perfect for large scale businesses. Inkjet and laser printers are shown in Fig. 1.27.(b,c). #### Plotter Plotter is an output device used for printing engineering drawings, machine parts, building designs, maps, charts and panna-flexes etc. on large size papers/sheets. Such large size printing is not possible on printers. It is more expensive than printer. There are two types of plotters, that is, ink plotter and pen plotter. Ink plotter is used for printing images whereas pen plotter is used for printing engineering drawings, machine parts, building designs, etc. Plotter is a slow output device but its printing quality is good. A plotter is shown in Fig. 1.28. #### Speaker Speaker is a device used to produce audio output. A pair of speakers are attached to the sound card on the motherboard. Speakers are commonly used with multimedia software and for playing music and videos on computer. A pair of speakers are shown in Fig.1.29. ### 1.3.5 Ports, Expansion Slots and Expansion Cards #### Ports Port is an interface for connecting various devices to the system unit. These are located on the motherboard and are usually seen at the back of the system unit. There are various types of ports for connecting keyboard, mouse, monitor, microphone, speakers and other input/output devices as shown in Fig.1.30. (a). In modern computers, USB (Universal Serial Bus), HDMI (High Definition Multimedia Interface), DVI (Digital Visual Interface), Audio and LAN (Local Area Network) ports are used for connecting various devices to the computer. These devices include digital camera, scanner, printer, external hard disk or DVD writer and USB memory, etc. #### Expansion Slots and Expansion Cards Expansion slots are long narrow sockets on the motherboard used for installing expansion cards. Expansion cards are small circuit boards. These cards add new capabilities to the computers. Commonly used expansion cards are sound card, graphics card, modem card and network card. In modern computers these cards are built-in on the motherboard. A network card is shown in Fig.1.31. ## 1.4 Von Neumann Architecture Von Neumann Architecture is an essential concept in computer science that explains how a computer's hardware and software work together to process information. It was first published by John von Neumann in 1945. His computer architecture design consists of a Control Unit, Arithmetic and Logic Unit (ALU), Memory Unit, Registers and Inputs/Outputs. Von Neumann architecture is based on the stored-program computer concept, where instruction data and program data are stored in the same memory. This design is still used in most computers produced today. Modern Von Neumann architecture is shown in Fig. 1.32. #### Central Processing Unit (CPU) The Central Processing Unit (CPU) is the main electronic circuit responsible for executing the instructions of a computer program. The CPU contains the ALU, CU and a variety of registers. #### Registers Registers are high speed storage areas in the CPU. All data must be stored in a register before it can be processed. #### MAR Memory Address Register Holds the memory location of data that needs to be accessed. #### MDR Memory Data Register Holds data that is being transferred to or from memory. #### AC Accumulator Where intermediate arithmetic and logic results are stored. #### PC Program Counter Contains the memory address of the next instruction to be executed. #### CIR Current Instruction Register Contains the current instruction during processing. #### Arithmetic and Logic Unit (ALU) The ALU allows arithmetical (add, subtract etc.) and logical (AND, OR, NOT etc.) operations to be carried out. #### Control Unit (CU) The control unit controls the operation of the computer's ALU, memory and input/output devices, telling them how to respond to the program instructions interpreted from the memory unit. The control unit also provides the timing and control signals required by other computer components. #### Buses Buses are the pathways or lines by which data is transmitted from one part of a computer to another, connecting all major internal components to the CPU and memory. A standard CPU system bus is comprised of a control bus, data bus, and address bus. ##### Address Bus Carries the addresses of data (but not the data) between the processor and memory. ##### Data Bus Carries data between the processor, the memory unit, and the input/output devices. ##### Control Bus Carries control signals or commands from the CPU in order to control and coordinate all the activities within the computer #### Memory Unit In Von Neumann architecture, the memory unit consists of RAM and Cache memory, sometimes referred to as primary or main memory. This memory is fast and also directly accessible by the CPU. RAM is split into partitions. Each partition consists of an address and its contents (both in binary form). The address uniquely identifies every location in the memory. #### Input/Output (I/O) Controller This component manages the flow of data between the CPU and external devices like hard drives, USB devices, and network interfaces. ## 1.5 Data Transmission within a computer system Data transmission within a computer system involves the movement of data/information between various components such as the CPU, memory, storage devices, and input/output devices. This process is vital for the proper functioning of a computer and its ability to execute tasks efficiently. #### Bus Architecture Computers use a bus architecture to transmit data. A bus is a communication pathway that allows the transfer of data and control signals between various components such as the CPU, memory, and peripheral devices. It is just like a highway system for data inside the computer system. #### Data Paths Inside the CPU, data paths are dedicated paths known as data circuits that facilitate the movement of data between various functional units. These functional units include the Arithmetic Logic Unit (ALU), registers, cache, and other components involved in data processing. The data paths allow the CPU to perform operations on data by providing routes for data to move within the processor. Data paths are more internal and pertain to how data moves within the CPU, while bus architecture addresses the broader communication infrastructure that enables data transfer between the CPU and other parts of the computer system. ## 1.6 Types and Hierarchy of Computer Memory In computing memory refers to the physical devices used to store programs (sequence of instructions) or data on a temporary or permanent basis for use in a computer or other digital/computing devices. Memory in a digital computer contains the main part of operating system and all the application programs and related data that is being used. Fig. 1.37 shows different types of computer memory. ### 1.6.1 Memory Terminology The following are some important memory terms. #### Bit The smallest unit of memory in digital computer is a bit, which stands for binary digit 0 or 1. The memory of a computer consists of millions of memory (or electronic) cells. Each cell contains one bit of information. The memory cell has two states, ON and OFF. The ON state represents a binary 1 and OFF state binary 0. #### Byte Byte is the basic unit of computer memory and it is the minimum piece of data to be processed by a computer. A group of 8 bits is known as one byte. One byte of memory is required to store one character in the computer, for example 'A', 'a', 'b', etc. A byte is generally used to express the memory size of a computer. Computer memory is measured in terms of bytes. The higher units are Kilobyte (KB), Megabyte (MB), Gigabyte (GB) and Terabyte (TB). In future, memories will also be available in Petabyte (PB) and Exabyte (EB) as indicated in red colour in Table 1.1. The relationship between the memory units is shown in Table 1.1. | MEMORY UNIT | EQUIVALENT TO | |:---|:---| | 1 Byte | 8 Bits | | 1 Kilobyte (KB) | 210 Bytes | = 1024 Bytes | | 1 Megabyte (MB) | 220 Bytes | = 1024 KB | | 1 Gigabyte (GB) | 230 Bytes | = 1024 MB | | 1 Terabyte (TB) | 240 Bytes | = 1024 GB | | 1 Petabyte (PB) | 250 Bytes | = 1024 TB | | 1 Exabyte | 260 Bytes | = 1024 PB | #### Memory Word In computing, the smallest amount or size of data that a computer can process is called memory word. It is a fixed-sized piece of data handled as a unit by the processor. The number of bits in a word is called the word size. Word size in modern computers typically ranges from 16 to 64 bits, depending on the size of the computer. A computer that has a bigger word size can transfer more bits into the microprocessor at a time for processing and this improves the processing speed of the computer. #### Word Size Word size refers to the number of bits that a computer's CPU can process or manipulate in a single instruction or operation. The word size of a CPU is a fundamental characteristic that affects its performance and capabilities. For example, a CPU with a 32-bit word size can process data in 32-bit chunks, while a CPU with a 64-bit word size can process data in 64-bit chunks. A larger word size generally allows a CPU to handle larger integers, perform more complex arithmetic operations, and address larger memory spaces. ### 1.6.2 Memory Built-up and Retention power All types of computer memories, as for as their built-up or manufacturing is concerned, are divided into Chip memory, Magnetic memory and Optical memory. And as far as their retention power is concerned these memories are divided into Volatile memory and Non-Volatile memory. #### Chip Memory Chip is a small piece of semi-conducting material (usually silicon). A small circuit called IC (Integrated Circuit) is embedded on it. A typical chip contains millions of electronic components (transistors). Chip memories are better in speed compared to other memory types due to the absence of mechanical moving parts. Unlike traditional forms of memory, chip memories rely on electric currents for their operation. This reliance on electrical processes contributes to their rapid data access and retrieval capabilities. Examples of chip memory are main memory (RAM, ROM and Cache), Flash memory drives, memory cards, registers and Solid State drives (SSDs). Many special-purpose chips, known as application-specific integrated circuits, are also being made today for automobiles, home appliances, telephones, and other devices. Different types of chip memory devices are shown in Fig.1.38. #### Magnetic Memory One of the most widely used types of digital data storage is magnetic memory/storage. This refers to any type of data storage using a magnetized medium. Magnetic tapes and disks are examples of magnetic memory devices. A thin layer of magnetic material is coated on the surface of magnetic tape and magnetic disks. Binary information is stored in the form of tiny magnetized and non-magnetized spots on the surface of magnetic tape or disk. A magnetized spot represents a binary 1 and a non-magnetized spot a binary 0. A read-write head moves very close to the magnetic surface. The head is able to detect and modify the magnetization of the material. Magnetic storage is widely used because it is relatively cheap in comparison with other storage technologies. The storage capacity is also very large, making it attractive for storing very large amounts of data. The major limitation of magnetic storage is that accessing the data can be quite slow. Hard disk is the common example of magnetic memory as shown in Fig 1.39. #### Optical Memory In optical-storage technology, a laser beam encodes digital data onto an optical disk in the form of tiny pits and lands arranged in concentric tracks on the disk's surface as shown in Fig. 1.40. A low-power laser scanner is used to "read" data or information from these pits and lands, and converts it to digital form. Optical storage provides cheaper and greater memory capacity than magnetic storage. An entire set of encyclopedias, for example, can be stored on a standard 12-centimetre (4.72-inch) optical disk. Optical disks include CDs, DVDs and Blu-ray disks(BDs) ### 1.6.3 Main Memory Main Memory stores data and programs that are being executed by the computer. It also stores the results produced by the ALU after processing the data. There are three types of main memories on the motherboard which are ROM (Read Only Memory), RAM (Random Access Memory) and Cache. These are known as main memory or primary memory of computer. #### ROM (Read Only Memory) ROM is a single IC chip which is installed on the motherboard as shown in Fig.1.41. It stores the Basic Input/Output System (BIOS) of computer that controls input/output devices and the start-up or boot process. BIOS programs test the computer's components when it is turned on and then load the operating system into the RAM to make the computer ready for operation. BIOS programs are permanently stored in ROM when it is manufactured. It is non-volatile memory, that is, the programs stored in it are not lost when the computer is turned off. There are three common types of ROM which are PROM (Programmable ROM), EPROM (Erasable Programmable ROM) and EEPROM (Electronically Erasable Programmable ROM). #### RAM (Random Access Memory) RAM is high speed memory installed on the motherboard. It is READ/WRITE memory. Information can be read from or written into it. Programs are loaded into RAM from secondary storage devices such as hard disk or USB flash drive for execution by the microprocessor. It is volatile memory which means information stored in it, is lost when the computer is turned off. RAM modules are installed in the memory slots on the motherboard. RAM modules are shown in Fig.1.42. #### Cache Memory Cache is a very small amount of extremely fast memory inside the microprocessor or on the motherboard. It is faster and more expensive than RAM. It stores information that is most frequently used by the computer. The purpose of using cache is to improve the processing speed of computer. There are three types of cache memories which are Level 1 (L1), Level 2 (L2) and Level 3 (L3) as shown in Fig. 1.43. L1 cache is built inside the microprocessor whereas L2 and L3 are on the motherboard. L1 cache is faster than L2 and L3 cache. ### 1.6.4 Volatile and Non-Volatile Memory Memory, on the basis of retention power, can be divided into two types i.e. volatile and non-volatile memory. #### Volatile memory Volatile memory is a temporary memory, that requires power (electricity) to maintain the stored information. Volatile memory retains the information as long as power supply is on, but when power supply is off or interrupted the stored memory is lost. It is also known as temporary memory. Examples of such memory are RAM (Random access memory), Cache memory and Registers. #### Non-Volatile memory Non-volatile memory is a permanent memory, that can retain the stored information even when powered off. Examples of non-volatile memory include ROM (Read-only memory), flash memory, magnetic storage devices (e.g. hard disks and magnetic taps), optical disks, and blue-ray disk. Non-volatile memory is typically used as secondary storage for long-term or future use. ## 1.7 Software Engineering and Hardware Engineering ### Software Engineering It is a systematic approach to the development, operation, and maintenance of software. It involves applying engineering principles to software development, encompassing techniques, methodologies, tools, and processes to ensure the quality, reliability, and efficiency of software systems. Some common types of Software Engineering are: - **Application Software Engineering:** This focuses on developing software applications that fulfill specific user requirements, such as web applications, mobile apps, desktop software, etc. - **System Software Engineering:** This involves designing and developing software that provides a platform for other software to run on, such as operating systems, compilers, device drivers, etc. - **Embedded Software Engineering:** This refers to the specialized field of software engineering that focuses on developing and testing, software that is embedded within hardware devices or systems. For examples Automotive Embedded Systems, Digital home appliances, Industrial Control Systems, etc. - **Enterprise Software Engineering:** This involves developing software solutions for large-scale enterprises to automate processes, manage data, and facilitate communication within the organization. - **Game Development:** This area involves creating video games, including game engines, graphics, audio, and animation. ### Hardware Engineering It involves designing, developing, and testing physical components of computer systems and electronic devices. It focuses on the design and construction of hardware components such as processors, memory devices, circuit boards, sensors, etc. Some common types of Hardware Engineering are: - **Digital Hardware Engineering:** It deals with designing and developing digital circuits and components such as processors, memory units, etc. - **Integrated Circuit (IC) Design:** It focuses on designing integrated circuits, including CPUs (Central Processing Units), GPUs (Graphics Processing Units), etc. - **Computer Architecture:** It deals with designing the structure and organization of computer systems, including CPU architecture and memory hierarchy, etc. - **Embedded Systems Design:** It focuses on designing hardware systems that are integrated into larger systems or devices, such as microcontrollers, sensors, etc. ## 1.8 Computer Software Computer software, often referred to simply as "software," is a collection of programs, data, and instructions that tell a computer how to perform specific tasks or functions. It is an important component of any computer system, enabling it to process data, run applications, and interact with users. Software is typically categorized into two main types: system software and application software. Computer software can be classified into the following types. - **System Software** - **Application Software** ### 1.8.1 System Software System software refers to a type of computer program that manages and controls the hardware components of a computer system, as well as provides a platform for running application software. It plays a crucial role in enabling the interaction between the user, application software, and the underlying hardware. System software serves as an intermediary between the user and the hardware, making it easier for users to interact with and utilize computer systems effectively. The following are some common types of system software. #### Operating System (OS) The operating system is a fundamental type of system software that manages hardware resources and provides services for computer programs. It controls tasks such as process scheduling, memory management, file system management, and hardware device communication. Common examples of operating systems include Microsoft Windows, macOS, Linux, and Android. Some common functions of OS include: - The OS facilitates user interaction by providing a user-friendly interface. - It manages input/output operations. - It looks after the allocation of tasks to the processor. - It handles the allocation and deallocation of memory to programs. - It helps in organizing files and directories, as well as provides mechanisms for storage and retrieval. - It manages peripheral devices, such as printers and storage devices, and provides necessary device drivers. - It provides security and access control through user authentications like User Identifications, passwords and PINs etc. #### Device Drivers Device drivers are software components that facilitate communication between the operating system and hardware devices like printers, graphics cards, and network adapters. They ensure that the OS can interact with these devices correctly. #### Utilities System utilities are tools that help manage and maintain the computer system. They can perform tasks such as disk cleanup, data backup, system monitoring, and virus scanning. Examples include disk defragmenters, antivirus software, and system diagnostic tools. #### Compiler and Assembler These tools are essential for converting high-level programming languages (like C++, Java, or Python) into machine code that the computer's processor can understand. Compilers translate high level language code (source code) into executable programs, while assemblers do a similar job for assembly language code. Fig. 1.46 shows the compilation process. #### Linkers and Loaders Linkers and loaders are programs that help with the execution of programs. Linkers combine multiple object files (compiled code) into a single executable file, while loaders load these files into memory for execution. #### Firmware Firmware is a type of software that is permanently stored on hardware devices. It provides low-level control over the device's operation. Examples include the BIOS (Basic Input/Output System) in a computer's motherboard or the firmware in a digital washing machine. ### 1.8.2 Application Software Application software, often referred to as "apps" or "software applications," is a category of computer programs designed to perform specific tasks or functions for computer users. Unlike system software, which manages and controls the hardware and provides a platform for running applications, application software is created to address the various needs and requirements of users. Some examples of application software are: - Productivity Software - Business Software - Entertainment Software - Educational Software #### Productivity Software Productivity software is designed to help users perform tasks efficiently, organize information, and create contents like documents, presentations, spreadsheets, and databases. It includes software that facilitate office work, document management, and collaboration. **Examples:** - Microsoft Office Suite: Includes applications like Microsoft Word (word processing), Excel (spreadsheets), and PowerPoint (presentation). - Google Workspace: Offers tools like Google Docs, Sheets, and Slides for online collaboration and document creation. - LibreOffice: A free and open-source office suite with applications similar to Microsoft Office. #### Business Software Business software are specifically designed to meet the needs of businesses and organizations. These software aim to streamline and enhance various aspects of business operations, ultimately improving efficiency, productivity, and decision-making. **Examples:** - QuickBooks: Accounting software for managing financial transactions and generating reports. - Salesforce: Customer Relationship Management (CRM) software for sales and marketing. - Trello: Project management tool that helps teams organize tasks and collaborate on projects. #### Entertainment Software Entertainment software is designed for leisure and enjoyment. It includes a wide range of applications, from video games to multimedia players and streaming services. **Examples:** - Minecraft: A popular game that allows players to build and explore virtual worlds. - Spotify: A music application that offers a vast library of songs and playlists. - Netflix: An online streaming service for movies, TV shows, and documentaries. #### Educational Software Educational software is created to support learning and skill development. It includes a variety of applications and tools that support educational activities, ranging from interactive learning games to digital resources for teaching and assessment. **Examples:** - Learning Management Systems (LMS): LMS platforms provide a centralized place for educational content, resources, assessments, and communication between educators and students. Some examples are ULearn, Virtual Academy, FBISE LMS, etc. - Kahoot!: An online learning platform that allows educators to create interactive quizzes and games for students. - Duolingo: Language learning app that gamifies the process of learning new languages. ### 1.8.3 Programming Languages A programming language is a structured and systematic method of communicating instructions to a computer. It consists of a set of predefined commands, syntax, and rules that allow programmers to write instructions, enabling the computer to perform specific tasks or solve problems. It serves as a means of communication between a human programmer and a computer, facilitating the development of software and applications. Programming languages can be classified into two categories, that is, low level languages and high level languages. #### Low Level Languages Low level language is machine-oriented language. To understand low level language, detailed knowledge of internal working of computer is required. Low level languages include machine language and assembly language. ##### Machine Language Programming language that is directly understood by computer hardware is known as machine language. Machine language is associated with architecture of computer. Therefore, programs written in machine language for one computer will not work on another because of design differences. It consists of Os and 1s. It is almost impossible for humans to use machine language because it entirely consists of numbers. Therefore, practically no programming is done in machine language. Instead, assembly languages and high level languages are used. ##### Assembly Language Assembly language consists of symbolic codes or abbreviations known as mnemonics. It was developed to make computer programming easier than machine language. The abbreviations used in assembly language make it easier to learn and write programs compared to machine language. A program written in assembly language must be converted into machine language before it is executed by computer. A program known as assembler is used to translate assembly language into machine language. Some important characteristics of Assembly language are: - Assembly language allows programmers to have access to all the special features of the computer they are using. Certain types of operations which are not possible in high level languages are easily programmed using assembly language. - Generally a program written in assembly language will require less storage and less running time than one prepared in a high level language. - Assembly languages are still the best choice in some applications but their use is gradually declining. #### High Level Languages (HLLs) High level languages are English-oriented languages and they are commonly used for writing computer programs. These languages use English language words such as print, goto, if, end, etc. Therefore, they are easy to learn and use. Some examples of high level languages are Visual Basic, C, Java and Pascal. A program known as compiler/interpreter is required to translate a high level program into machine language. Coding and debugging of a high level language program is much easier than a program written in a low level language. High-level languages can be classified into procedural, structured and object-oriented programming languages. ##### Procedural and Structured Languages Procedural programming is based upon the concept of modular programming. In modular programming, programs are divided into smaller parts known as modules. Modular programs consist of one or more modules. A module is a group of statements that can be executed more than once in a program. Each module in a program performs a specific task. It is easy to design, modify and debug a program in a procedural language since it provides better programming facilities. Structured languages consist of three fundamental elements, which are sequence, selection and repetition. - **Sequence:** It means, writing program statements in a logical sequence. Each step in the sequence must logically progress to the next without producing any undesirable effects. - **Selection:** It allows the selection of any number of statements based on the result of evaluation of a condition which may be true or false. Examples of statements that implement selection in programming are if, else-if, switch, etc. - **Repetition (loops):** It means executing one or more statements a number of times until a condition is satisfied. Repetition is implemented in programs using statements, such as for and while loops. Some examples of structured and procedural languages are FORTRAN, Pascal, C, BASIC, ALGOL, PL/1 and Ada Pascal. ##### Object-Oriented Programming Languages Object-oriented programming (OOP) refers to a programming method that is based on objects such as student, vehicle, building, etc. Object-oriented programming language provides a set of rules for defining and managing objects. An object can be considered a thing that can perform a set of activities. For example, the object vehicle can be defined as an object that has number of wheels, number of doors, color, number of seats, etc. The set of activities that can be performed on this object include Steer, Accelerate, Brake, etc. Complicated large computer programs are difficult to design, develop, maintain and debug. The concept of object-oriented programming solves this problem. The most widely used object-oriented programming languages are C++, Visual Basic and Java. ## Uses of Low Level Languages Important uses of low-level programming languages include: | Use | Explanation | |:---|:---| | Operating System Development | Writing the core software that manages hardware resources. | | Device Drivers | Creating software to enable communication with hardware devices. | | Embedded Systems | Programming microcontrollers and IoT devices for specialized functions. | | Firmware Development | Developing software that resides on hardware components. | | Real-Time Systems | Ensuring precise timing and responsiveness in industrial control, robotics, and aerospace systems. | | Security Tools | Building intrusion detection, firewalls, and encryption software for robust security. | | Game Development | Optimizing game engines, physics simulations, and graphics rendering for performance. | ## Uses of High Level Languages Important uses of high-level programming languages include: | Use | Explanation | |:---|:---| | Applications (Apps) Development | Creating desktop, mobile, and web applications (Apps) for various platforms. | | Web Development | High-level languages are used to build websites, making them interactive and functional. | | Data Analysis and Science | Analyzing large datasets and conducting scientific research. | | Machine Learning and AI | Developing machine learning models and AI algorithms. | | Automation and Scripting | Automating tasks and processes, including system administration and data manipulation. | | Game Development | Developing gameplay logic, AI, and user interfaces for games. | | Database Management | Creating, querying, and managing databases. | | Scientific and Engineering Simulations | Simulating complex systems and conducting simulations. | | Business Software | Developing enterprise-level software for various industries. | | Educational Tools | Creating e-learning platforms and educational software. |