ICT Part-I (DIT KPK BTE)




ICT Stands for Information Communication and Technology.



 Total Marks: 150     Theory Marks: 100    Practical Marks: 50



ICT Course contents are divided into Five(5) categories

   1.) Introduction to Information Technology(IT)
   2.) Introduction to Computer
   3.) Software Design and Algorithms
   4.) Productive Enhancement Software Packages
   5.) Fundamentals of Networks

1.) Introduction to Information Technology:


What is Information Technology(IT)?
        Information Technology: 
                                             Set of tools, processes, and methodologies (such as coding/programming, data communications, data conversion, storage and retrieval, systems analysis and design, systems control) and associated equipment employed to collect, process, and present information. In broad terms, IT also includes office automation, multimedia, and telecommunications.
_________________________________________________________
What is Data and their Types?
      Data:
                Data are basic values or facts. Computers use many different types of data stored in digital format, such as text, numbers and multimedia. Data are organized in database tables, and database management systems are used to work with large databases
    Types of Data:
                     There are several types of Data are given below:
           1.) Alphabetical Data:
                                             Those data which consist of only alphabets. 
                                             E.g: ABCD, abcd, AbCd etc.
           2.) Numeric Data:
                                             Those data which consist of numbers.
                                             E.g: 123, 0.111, 78954 etc
           3.) Alpha-Numeric Data:
                                             Those data which consist of both alphabets and numbers.
                                             E.g: Street 1 Phase 5 Hayatabad, ABC123 etc   
           4.) Audio Data:
                                             Those data which are audio type.
                                             E.g: MP3 songs etc
           5.) Graphics Data: 
                                             These type of data consist of Pixels which show the image or video.
                                             E.g: Pictures and movies etc
____________________________________________________________________________________________

What is Information?
                   Information:
                                           Information is stimuli that has meaning in some context for its receiver. When information is entered into and stored in a computer, it is generally referred to as data. After processing (such as formatting and printing), output data can again be perceived as information.
Information is valuable because it can affect behavior, a decision, or an outcome. 
For example,
 if a manager is told his/her company's net profit decreased in the past month, he/she may use this information as a reason to cut financial spending for the next month. A piece of information is considered valueless if, after receiving it, things remain unchanged. For a technical definition of information see information theory.
______________________________________________________
Explain History of Computer and Generation of Computer?
         One of the earliest machines designed to assist people in calculations was the Abacus which is still being used some 5000 years after its invention.
In 1642 Blaise Pascal (a famous French mathematician) invented an adding machine based on mechanical gears in which numbers were represented by the cogs on the wheels.
Englishman, Charles Babbage, invented in the 1830's a "Difference Engine" made out of brass and pewter rods and gears, and also designed a further device which he called an "Analytical Engine". His design contained the five key characteristics of modern computers:-
  1. An input device
  2. Storage for numbers waiting to be processed
  3. A processor or number calculator
  4. A unit to control the task and the sequence of its calculations
  5. An output device
  • Augusta Ada Byron (later Countess of Lovelace) was an associate of Babbage who has become known as the first computer programmer.
  • An American, Herman Hollerith, developed (around 1890) the first electrically driven device. It utilised punched cards and metal rods which passed through the holes to close an electrical circuit and thus cause a counter to advance. This machine was able to complete the calculation of the 1890 U.S. census in 6 weeks compared with 7 1/2 years for the 1880 census which was manually counted.
  • In 1936 Howard Aiken of Harvard University convinced Thomas Watson of IBM to invest $1 million in the development of an electro mechanical version of Babbage's analytical engine. The Harvard Mark 1 was completed in 1944 and was 8 feet high and 55 feet long.
  • At about the same time (the late 1930's) John Atanasoff of Iowa State University and his assistant Clifford Berry built the first digital computer that worked electronically, the ABC (Atanasoff-Berry Computer). This machine was basically a small calculator.
  • In 1943, as part of the British war effort, a series of vacuum tube based computers (named Colossus) were developed to crack German secret codes. The Colossus Mark 2 series  consisted of 2400 vacuum tubes.
  • John Mauchly and J. Presper Eckert of the University of Pennsylvania developed these ideas further by proposing a huge machine consisting of 18,000 vacuum tubes. ENIAC (Electronic Numerical Integrator And Computer) was born in 1946. It was a huge machine with a huge power requirement and two major disadvantages. Maintenance was extremely difficult as the tubes broke down regularly and had to be replaced, and also there was a big problem with overheating. The most important limitation, however, was that every time a new task needed to be performed the machine need to be rewired. In other words programming was carried out with a soldering iron.
  • In the late 1940's John von Neumann (at the time a special consultant to the ENIAC team) developed the EDVAC (Electronic Discrete Variable Automatic Computer) which pioneered the "stored program concept". This allowed programs to be read into the computer and so gave birth to the age of general-purpose computers.

The Generations of Computers

It used to be quite popular to refer to computers as belonging to one of several "generations" of computer. These generations are:-
The First Generation (1943-1958)
  • This generation is often described as starting with the delivery of the first commercial computer to a business client.
  •  This happened in 1951 with the delivery of the UNIVAC to the US Bureau of the Census. 
  • This generation lasted until about the end of the 1950's (although some stayed in operation much longer than that).
  •  The main defining feature of the first generation of computers was that vacuum tubes were used as internal computer components.
  •  Vacuum tubes are generally about 5-10 centimeters in length and the large numbers of them required in computers resulted in huge and extremely expensive machines that often broke down (as tubes failed).
The Second Generation (1959-1964)
  • In the mid-1950's Bell Labs developed the transistor. 
  • Transistors were capable of performing many of the same tasks as vacuum tubes but were only a fraction of the size. 
  • The first transistor-based computer was produced in 1959. 
  • Transistors were not only smaller, enabling computer size to be reduced, but they were faster, more reliable and consumed less electricity.
  • The other main improvement of this period was the development of computer languages.
  •  Assembler languages or symbolic languages allowed programmers to specify instructions in words (albeit very cryptic words) which were then translated into a form that the machines could understand (typically series of 0's and 1's: Binary code). 
  • Higher level languages also came into being during this period.
  •  Whereas assembler languages had a one-to-one correspondence between their symbols and actual machine functions, higher level language commands often represent complex sequences of machine codes.
  •  Two higher-level languages developed during this period (Fortran and Cobol) are still in use today though in a much more developed form.
The Third Generation (1965-1970)
  • In 1965 the first integrated circuit (IC) was developed in which a complete circuit of hundreds of components were able to be placed on a single silicon chip 2 or 3 mm square. 
  • Computers using these IC's soon replaced transistor based machines. Again, one of the major advantages was size, with computers becoming more powerful and at the same time much smaller and cheaper.
  •  Computers thus became accessible to a much larger audience.
  •  An added advantage of smaller size is that electrical signals have much shorter distances to travel and so the speed of computers increased.
  • Another feature of this period is that computer software became much more powerful and flexible and for the first time more than one program could share the computer's resources at the same time (multi-tasking).
  •  The majority of programming languages used today are often referred to as 3GL's (3rd generation languages) even though some of them originated during the 2nd generation.
The Fourth Generation (1971-present):
  •  The boundary between the third and fourth generations is not very clear-cut at all.
  •  Most of the developments since the mid 1960's can be seen as part of a continuum of gradual miniaturisation.
  •  In 1970 large-scale integration was achieved where the equivalent of thousands of integrated circuits were crammed onto a single silicon chip.
  •  This development again increased computer performance (especially reliability and speed) whilst reducing computer size and cost. 
  • Around this time the first complete general-purpose microprocessor became available on a single chip. 
  • In 1975 Very Large Scale Integration (VLSI) took the process one step further. Complete computer central processors could now be built into one chip. 
  • The microcomputer was born. Such chips are far more powerful than ENIAC and are only about 1cm square whilst ENIAC filled a large building.
  • During this period Fourth Generation Languages (4GL's) have come into existence. 
  • Such languages are a step further removed from the computer hardware in that they use language much like natural language.
  •  Many database languages can be described as 4GL's. They are generally much easier to learn than are 3GL's.
The Fifth Generation (the future):
  •  The "fifth generation" of computers were defined by the Japanese government in 1980 when they unveiled an optimistic ten-year plan to produce the next generation of computers.
  •  This was an interesting plan for two reasons.         
  • Firstly, it is not at all really clear what the fourth generation is, or even whether the third generation had finished yet.        
  • Secondly, it was an attempt to define a generation of computers before they had come into existence. 
  • The main requirements of the 5G machines was that they incorporate the features of Artificial Intelligence, Expert Systems, and Natural Language.
  •  The goal was to produce machines that are capable of performing tasks in similar ways to humans, are capable of learning, and are capable of interacting with humans in natural language and preferably using both speech input (speech recognition) and speech output (speech synthesis).
  •  Such goals are obviously of interest to linguists and speech scientists as natural language and speech processing are key components of the definition.
  •  As you may have guessed, this goal has not yet been fully realised, although significant progress has been made towards various aspects of these goals.

_____________________________________________________

What is Parallel Computing?

Up until recently most computers were serial computers. Such computers had a single processor chip containing a single processor.
  •  Parallel computing is based on the idea that if more than one task can be processed simultaneously on multiple processors then a program would be able to run more rapidly than it could on a single processor.
  •  The supercomputers of the 1990s, such as the Cray computers, were extremely expensive to purchase (usually over $1,000,000) and often required cooling by liquid helium so they were also very expensive to run.
  •  Clusters of networked computers (eg. a Beowulf culster of PCs running Linux) have been, since 1994, a much cheaper solution to the problem of fast processing of complex computing tasks.
  •  By 2008, most new desktop and laptop computers contained more than one processor on a single chip (eg. the Intel "Core 2 Duo" released in 2006 or the Intel "Core 2 Quad" released in 2007). 
  • Having multiple processors does not necessarily mean that parallel computing will work automatically.
  •  The operating system must be able to distribute programs between the processors (eg. recent versions of Microsoft Windows and Mac OS X can do this). 
  • An individual program will only be able to take advantage of multiple processors if the computer language it's written in is able to distribute tasks within a program between multiple processors. For example, OpenMP supports parallel programming in Fortran and C/C++.
_____________________________________________________

What is Computer Hardware?
Introduction: 
                    This includes the computer case, monitor, keyboard, and mouse. It also includes all the parts inside the computer case, such as the hard disk drive, motherboard, video card, and many others.Computer hardware is what you can physically touch.
The Four Main Types of Hardware are. Input Device Use to enter information into the computer
Example: 

  • Keyboard,
  • Mouse, 
  • Joystick, 
  • Scanner, 
  • Voice recognition,
  • Touch screen, 
  • Microphone, 
  • Light pen, 
  • Stylus.
  • Motherboard.
  • Central Processing Unit. An example of a CPU. ...
  • Hard Disk Drive. ...
  • Random Access Memory. ...
Hard Disk:

                The hard disk drive is the main, and usually largest, data storage hardware device in a computer. The operating system, software titles, and most other files are stored in the hard disk drive.
The hard drive is sometimes referred to as the "C drive" due to the fact that Microsoft Windows, by default, designates the "C" drive letter to the primary partition on the primary hard drive in a computer.
While this is not a technically correct term to use, it is still common. For example, some computers have multiple drive letters (e.g,. C, D, and E) representing areas across one or more hard drives. The hard disk drive also goes by the name HDD (its abbreviation), hard drivehard diskfixed drivefixed disk, and fixed disk drive.

Hard Disk Drive Physical Description

A hard drive is usually the size of a paperback book, but much heavier.
The sides of the hard drive have pre-drilled, threaded holes for easy mounting in the 3.5-inch drive bay in the computer case. Mounting is also possible in a larger 5.25-inch drive bay with an adapter. The hard drive is mounted so the end with the connections faces inside the computer.
The back end of the hard drive contains a port for a cable that connects to the motherboard. The type of cable used (SATA or PATA) depends on the type of drive but is almost always included with a hard drive purchase. Also here is a connection for power from the power supply.

How a Hard Drive Works

Unlike volatile storage like RAM, a hard drive keeps a hold of its data even when powered off. This is why you can restart a computer, which powers down the HDD, but still have access to all the data when it's back on.
Inside the hard drive are sectors located on tracks, which are stored on rotating platters. These platters have magnetic heads that move with an actuator arm to read and write data to the drive.

Kinds of Hard Drives

The computer hard drive isn't the only kind of hard drive, and SATA and PATA aren't the only ways they can connect to a computer. What's more is that there are many different sizes of hard drives, some very small and others rather large.
For example, the common flash drive has a hard drive, too, but it doesn't spin like a traditional hard drive. Flash drives have solid-state drives built-in and connect to the computer through USB.

Storage Capacity

The hard disk drive capacity is a huge factor in determining whether someone will buy a particular device like a laptop or phone. If the storage capacity is rather small, it means it will fill up with files faster, whereas a drive that has lots and lots of storage can handle much more data.
Choosing a hard drive based on how much storage it can retain is really up to opinion and circumstance. If you need a tablet, for example, that can hold lots of videos, you'll want to be sure to get the 64 GB one instead of the 8 GB one.
The same is true for computer hard drives. Are you one to store lots of HD videos or pictures, or are most of your files backed up online? An offline, at-home storage preference might drive you to buy an internal or external hard drive that supports 4 TB versus a 500 GB one. See Terabytes, Gigabytes, & Petabytes: How Big Are They?if you're not sure how these units of measurement compare.

Common Hard Disk Drive Tasks

One simple task that you can do with a hard drive is change the drive letter. Doing this lets you refer to the drive using a different letter. For example, while the main hard drive is normally called the "C" drive and can't be changed, you might want to change an external hard drive's letter from "P" to "L" (or any other acceptable letter).
Something else that's really easy to do with a hard drive is check how much free space is left on it. This is especially important if you're getting low disk space messages but is equally critical for maintaining a smooth system. You can uninstall programs you don't want or ones that are too large, and delete files, or copy them elsewhere, if you're running low on hard drive space.

Hard Disk Drive Troubleshooting

The hard drive in your computer is used over and over, each time you're doing something that involves reading or writing data to the disk. It's normal, then, to eventually run into a problem with the device.
One of the most common issues is a hard drive that's making noise, and the best first step in troubleshooting a hard drive malfunction of any kind is to run a hard drive test.
Lots of free programs can test a hard drive ​for issues that might ultimately lead to you needing to replace the drive


What is Keyboard?

                             A computer keyboard is one of the primary input devices used with a computer that looks similar to those found on electric typewriters, but with some additional keys. Keyboards allow you to input letters, numbers, and other symbols into a computer that can serve as commands or be used to type text.

    Keyboards are language specific. While most keyboards around the world will also contain regular English characters, they may contain separate keys for commonly used characters in their local language that are not used in English, such as the accented letters in French. In addition, languages like Japanese that use a totally different set of characters need unique keys for those characters. Users can then switch between their own language and English characters.
Keyboard 






What is Mouse?

                      computer mouse is a handheld hardware input device that controls a cursor in a GUI and can move and select text, icons, files, and folders. For desktop computers, the mouse is placed on a flat surface such as a mouse pad or a desk and is placed in front of your computer. The picture to the right is an example of a desktop computer mouse with two buttons and a wheel.
Mouse



What is CPU?

     CPU (pronounced as separate letters) is the abbreviation for central processing unit. Sometimes referred to simply as the central processor, but more commonly called processor, the CPU is the brains of the computer where most calculations take place. In terms of computing power, the CPU is the most important element of a computer system.

Components of a CPU

The two typical components of a CPU include the following:
  • The arithmetic logic unit (ALU), which performs arithmetic and logical operations.
  • The control unit (CU), which extracts instructions from memory and decodes and executes them, calling on the ALU when necessary.

What is Motherboard?
A motherboard is one of the most essential parts of a computer system. 
It holds together many of the crucial components of a computer, including the central processing unit (CPU), memory and connectors for input and output devices. The base of a motherboard consists of a very firm sheet of non-conductive material, typically some sort of rigid plastic.
Thin layers of copper or aluminum foil, referred to as traces, are printed onto this sheet. 
These traces are very narrow and form the circuits between the various components. 
In addition to circuits, a motherboard contains a number of sockets and slots to connect the other components.

Parts of a Motherboard

  • A CPU socket - the actual CPU is directly soldered onto the socket. Since high speed CPUs generate a lot of heat, there are heat sinks and mounting points for fans right next to the CPU socket.
  • A power connector to distribute power to the CPU and other components.
  • Slots for the system's main memory, typically in the form of DRAM chips.
  • A chip forms an interface between the CPU, the main memory and other components. On many types of motherboards, this is referred to as the Northbridge. This chip also contains a large heat sink.
  • A second chip controls the input and output (I/O) functions. It is not connected directly to the CPU but to the Northbridge. This I/O controller is referred to as the Southbridge. The Northbridge and Southbridge combined are referred to as the chipset.
  • Several connectors, which provide the physical interface between input and output devices and the motherboard. The Southbridge handles these connections.
  • Slots for one or more hard drives to store files. The most common types of connections are Integrated Drive Electronics (IDE) and Serial Advanced Technology Attachment (SATA).
  • A read-only memory (ROM) chip, which contains the firmware, or startup instructions for the computer system. This is also called the BIOS.
  • A slot for a video or graphics card. There are a number of different types of slots, including the Accelerated Graphics Port (AGP) and Peripheral Component Interconnect Express (PCIe).
  • Additional slots to connect hardware in the form of Peripheral Component Interconnect (PCI) slots.
What is RAM?
Random Access Memory (RAM)
  • Random access memory (RAM) is a type of data storage used in computers that is generally located on the motherboard. 
  • This type of memory is volatile and all information that was stored in RAM is lost when the computer is turned off.
  •  Volatile memory is temporary memory while ROM (read-only memory) is non-volatile and holds data permanently when the power is turned off.
  • The RAM chip may be individually mounted on the motherboard or in sets of several chips on a small board connected to the motherboard. 
  • Older memory types were in the form of chips called dual in-line package (DIP).
  •  Although DIP chips are still used today, the majority of memory is in the form of a module, a narrow printed circuit board attached to a connector on the motherboard. 
  • The three main memory circuit boards types containing chips are: RIMMs (Rambus in-line memory modules), DIMMs (dual in-line memory modules) and SIMMs (single in-line memory modules). Most motherboards today use DIMMs
There are two main types of RAM: dynamic random access memory (DRAM), or Dynamic RAM, and static random access memory (SRAM). The RAM in most personal computers (PC’s) is Dynamic RAM. All dynamic RAM chips on DIMMs, SIMMs or RIMMs have to refresh every few milliseconds by rewriting the data to the module.
Static RAM (SRAM) is volatile memory and is often used in cache memory and registers because it is a lot faster and does not require refreshing like Dynamic RAM. SRAM retains information and is able to operate at higher speeds than DRAM. Because DRAM is a lot cheaper than SRAM, it's common to see PC manufacturers use DRAM.
Dynamic RAM is memory that needs refreshing. The refreshing is done by the memory controller which is part of the chipset on the motherboard. Static RAM (SRAM) does not need refreshing and is used in memory cache on the central processing unit (CPU); it is called L1, L2 and L3 cache. Original SRAM was stored on the motherboard; later SRAM was inside of the CPU housing or stored on both the motherboard and inside of the CPU.
______________________________________________________
What is Troubleshooting?
Troubleshooting is a systematic approach to problem solving that is often used to find and correct issues with complex machines, electronics, computers and software systems.
  • The first step in troubleshooting is gathering information on the issue, such as an undesired behavior or a lack of expected functionality. Other important information includes related symptoms and special circumstances that may be required to reproduce the issue.
  • Once the issue and how to reproduce it are understood, the next step might be to eliminate unnecessary components in the system and verify that the issue persists, to rule out incompatibility and third-party causes. 
  • Continuing, assuming the issue remains, one might next check common causes. Depending on the particular issue and the troubleshooter’s experience, they may have some ideas. They may also check product documentation and/or conduct research on a support database or through a search engine.
  • After common causes are ruled out, the troubleshooter may resort to the more systematic and logical process of verifying the expected function of parts of a system. One common method is the split-half troubleshooting approach: With a problem resulting from a number of possible parts in series, one tests half-way down the line of components. If the middle component works, one goes to the middle of the remaining parts, approaching the end. If the test finds a problem at the mid-point, one does a split towards the start of the line until the problem part is found. The split-half process can save time in systems that depend on many components.
  • Once the problem part is identified, it may be adjusted, repaired or replaced as needed. Evidence of effective troubleshooting is indicated when the issue is no longer reproducible and function is restored one.  
  • The success of troubleshooting often depends on the thoroughness and experience of the troubleshooter. That said, the majority of those who develop tech savvy are likely to have friends, coworkers and family who call on them for help.
____________________________________________________
2.) Introduction to Computer:

What is Personal Computer(PC)?

1) PC is short for personal computer or IBM PC. The first personal computer produced by IBM was called the PC, and increasingly the term PC came to mean IBM or IBM-compatible personal computers, to the exclusion of other types of personal computers, such as Macintoshes.
2) A personal computer (PC) may also refer to any small, relatively inexpensive computer designed for an individual user. In price, personal computers range anywhere from a few hundred dollars to thousands of dollars. All are based on the microprocessor technology that enables manufacturers to put an entire CPU on one chip.        
In recent years, the term PC has become more and more difficult to pin down. In general, though, it applies to any personal computer based on an Intel microprocessor, or on an Intel-compatible microprocessor. For nearly every other component, including the operating system, there are several options, all of which fall under the rubric of PC.

PCs at Home

At home, the most popular use for personal computers is for playing games. Businesses use personal computers for word processing, accounting, desktop publishing, and for running spreadsheet and database management applications.
Computer System

Personal Computers in the Late 1970s

Personal computers first appeared in the late 1970s. One of the first and most popular personal computers was the Apple II, introduced in 1977 by Apple Computer. During the late 1970s and early 1980s, new models and competing operating systems seemed to appear daily. Then, in 1981, IBM entered the fray with its first personal computer, known as the IBM PC. The IBM PC quickly became the personal computer of choice, and most other personal computer manufacturers fell by the wayside.
Since the first personal computer produced by IBM was called the PC, increasingly the term PC came to mean IBM or IBM-compatible personal computers, to the exclusion of other types of personal computers, such as Macintoshes, despite one of the few companies to survive IBM's onslaught was Apple Computer, which remains a major player in the personal computer marketplace today.

IBM Clones

Other companies adjusted to IBM's dominance by building IBM clones, computers that were internally almost the same as the IBM PC, but that cost less. Because IBM clones used the same microprocessors as IBM PCs, they were capable of running the same software. Over the years, IBM has lost much of its influence in directing the evolution of PCs. Many of its innovations, such as the MCA expansion bus and the OS/2 operating system, have not been accepted by the industry or the marketplace.

Popular PCs of Today

Today, the world of personal computers is basically divided between Apple Macintoshes and PCs. The principal characteristics of personal computers are that they are single-user systems and are based on microprocessors. However, although personal computers are designed as single-user systems, it is common to link them together to form a network. In terms of power, there is great variety. At the high end, the distinction between personal computers and workstations has faded. High-end models of the Macintosh and PC offer the same computing power and graphics capability as low-end workstations.   
_________________________________________________________
Safe Lab Procedures and Tool Use?   
This section discusses safety in the lab. Safety guidelines help protect individuals from accidents and injury. They also help to protect equipment from damage. Some of these guidelines are designed to protect the environment from contamination caused by improperly discarded materials.
General Safety:
Safe working conditions help prevent injury to people and damage to computer equipment. A safe workspace is clean, organized, and properly lighted. Everyone must understand and follow safety procedures.
Follow the basic safety guidelines to prevent cuts, burns, electrical shock, and damage to eyesight. As a best practice, make sure that a fire extinguisher and first-aid kit are available in case of fire or injury. Poorly placed or unsecured cables can cause tripping hazards in a network installation. Cables should be installed in conduit or cable trays to prevent hazards.
This is a partial list of basic safety precautions to use when working on a computer:
  • Remove your watch and jewelry and secure loose clothing.
  • Turn off the power and unplug equipment before performing service.
  • Cover sharp edges inside the computer case with tape.
  • Never open a power supply or a CRT monitor.
  • Do not touch areas in printers that are hot or that use high voltage.
  • Know where the fire extinguisher is located and how to use it.
  • Keep food and drinks out of your workspace.
  • Keep your workspace clean and free of clutter.
  • Bend your knees when lifting heavy objects to avoid injuring your back.

Electrical Safety: 

Follow electrical safety guidelines to prevent electrical fires, injuries, and fatalities in the home and the workplace. Power supplies and CRT monitors contain high voltage.
Some printer parts become hot during use, and other parts might contain high voltage. Check the printer manual for the location of high-voltage components. Some components retain a high voltage even after the printer is turned off. Make sure that the printer has had time to cool before making the repair.
Electrical devices have certain power requirements. For example, AC adapters are manufactured for specific laptops. Exchanging power cords with a different type of laptop or device may cause damage to both the AC adapter and the laptop.
Fire Safety:
Follow fire safety guidelines to protect lives, structures, and equipment. To avoid an electrical shock and to prevent damage to the computer, turn off and unplug the computer before beginning a repair.
Fire can spread rapidly and be very costly. Proper use of a fire extinguisher can prevent a small fire from getting out of control. When working with computer components, be aware of the possibility of an accidental fire and know how to react. Be alert for odors emitting from computers and electronic devices. When electronic components overheat or short out, they emit a burning odor. If there is a fire, follow these safety procedures:
  • Never fight a fire that is out of control or not contained.
  • Always have a planned fire escape route before beginning any work.
  • Get out of the building quickly.
  • Contact emergency services for help.
  • Locate and read the instructions on the fire extinguishers in your workplace before you have to use them.
Be familiar with the types of fire extinguishers used in your country or region. Each type of fire extinguisher has specific chemicals to fight different types of fires:
  • Paper, wood, plastics, cardboard
  • Gasoline, kerosene, organic solvents
  • Electrical equipment
  • Combustible metals
It is important to know how to use a fire extinguisher. Use the memory aid P-A-S-S to remember the basic rules of fire extinguisher operation:
  • P: Pull the pin.
  • A: Aim at the base of the fire, not at the flames.
  • S: Squeeze the lever.
  • S: Sweep the nozzle from side to side

Procedures to Protect Equipment and Data

Replacing equipment and recovering data is expensive and time consuming. This section identifies potential threats to systems and describes procedures to help prevent loss and damage.

ESD and EMI 

Electrostatic discharge (ESD), harsh climates, and poor-quality sources of electricity can cause damage to computer equipment. Follow proper handling guidelines, be aware of environmental issues, and use equipment that stabilizes power to prevent equipment damage and data loss.
Static electricity is the buildup of an electric charge resting on a surface. Electrostatic discharge (ESD) occurs when this buildup jumps to a component and causes damage. ESD can be destructive to the electronics in a computer system.
At least 3000 volts of static electricity must build up before a person can feel ESD. For example, static electricity can build up on you as you walk across a carpeted floor. When you touch another person, you both receive a shock. If the discharge causes pain or makes a noise, the charge was probably above 10,000 volts. By comparison, less than 30 volts of static electricity can damage a computer component.
ESD can cause permanent damage to electrical components. Follow these recommendations to help prevent ESD damage:
  • Keep all components in antistatic bags until you are ready to install them.
  • Use grounded mats on workbenches.
  • Use grounded floor mats in work areas.
  • Use antistatic wrist straps when working on computers.
Electromagnetic interference (EMI) is the intrusion of outside electromagnetic signals in a transmission media, such as copper cabling. In a network environment, EMI distorts the signals so that the receiving devices have difficulty interpreting them.
EMI does not always come from expected sources, such as cellular phones. Other types of electric equipment can emit a silent, invisible electromagnetic field that can extend for more than a mile (1.6 km).
There are many sources of EMI:
  • Any source designed to generate electromagnetic energy
  • Man-made sources like power lines or motors
  • Natural events such as electrical storms, or solar and interstellar radiations

Climate

Climate affects computer equipment in a variety of ways:
  • If the environment temperature is too high, equipment can overheat.
  • If the humidity level is too low, the chance of ESD increases.
  • If the humidity level is too high, equipment can suffer from moisture damage.

Power Fluctuation Types 

Voltage is the force that moves electrons through a circuit. The movement of electrons is called current. Computer circuits need voltage and current to operate electronic components. When the voltage in a computer is not accurate or steady, computer components might not operate correctly. Unsteady voltages are called power fluctuations.
The following types of AC power fluctuations can cause data loss or hardware failure:
  • Blackout: Complete loss of AC power. A blown fuse, damaged transformer, or downed power line can cause a blackout.
  • Brownout: Reduced voltage level of AC power that lasts for a period of time. Brownouts occur when the power line voltage drops below 80 percent of the normal voltage level. Overloading electrical circuits can cause a brownout.
  • Noise: Interference from generators and lightning. Noise results in poor quality power, which can cause errors in a computer system.
  • Spike: Sudden increase in voltage that lasts for a short period and exceeds 100 percent of the normal voltage on a line. Spikes can be caused by lightning strikes, but can also occur when the electrical system comes back on after a blackout.
  • Power surge: Dramatic increase in voltage above the normal flow of electrical current. A power surge lasts for a few nanoseconds, or one-billionth of a second.

Power Protection Devices

To help shield against power fluctuation problems, use power protection devices to protect the data and computer equipment:

  • Surge suppressor: Helps protect against damage from surges and spikes. A surge suppressor diverts extra electrical voltage that is on the line to the ground.
  • Uninterruptible power supply (UPS): Helps protect against potential electrical power problems by supplying a consistent level of electrical power to a computer or other device. The battery is constantly recharging while the UPS is in use. The UPS provides a consistent quality of power when brownouts and blackouts occur. Many UPS devices can communicate directly with the computer operating system. This communication allows the UPS to safely shut down the computer and save data prior to the UPS losing all electrical power.
  • Standby power supply (SPS): Helps protect against potential electrical power problems by providing a backup battery to supply power when the incoming voltage drops below the normal level. The battery is on standby during normal operation. When the voltage decreases, the battery provides DC power to a power inverter, which converts it to AC power for the computer. This device is not as reliable as a UPS because of the time it takes to switch over to the battery. If the switching device fails, the battery cannot supply power to the computer.

             UPS manufacturers suggest never plugging in a laser printer to a UPS because the               printer could overload the UPS.    

Equipment Disposal 

The proper disposal or recycling of hazardous computer components is a global issue. Make sure to follow regulations that govern how to dispose of specific items. Organizations that violate these regulations can be fined or face expensive legal battles.

Batteries

Batteries often contain rare earth metals that can be harmful to the environment. Batteries from portable computer systems can contain lead, cadmium, lithium, alkaline manganese, and mercury. These metals do not decay and remain in the environment for many years. Mercury is commonly used in the manufacturing of batteries and is extremely toxic and harmful to humans.
Recycling batteries should be a standard practice for a technician. All batteries, including lithium-ion, nickel-cadmium, nickel-metal hydride, and lead-acid, are subject to disposal procedures that comply with local environmental regulations.

Monitors

Monitors contain glass, metal, plastics, lead, barium, and rare earth metals. According to the U.S. Environmental Protection Agency (EPA), monitors can contain approximately 4 pounds (1.8 kg) of lead. Monitors must be disposed of in compliance with environmental regulations.
Handle CRT monitors with care. Extremely high voltage can be stored in CRT monitors, even after being disconnected from a power source.

Toner Kits, Cartridges, and Developers

Used printer toner kits and printer cartridges must be disposed of properly or recycled. Some toner cartridge suppliers and manufacturers take empty cartridges for refilling. Some companies specialize in refilling empty cartridges. Kits to refill inkjet printer cartridges are available but are not recommended, because the ink might leak into the printer, causing irreparable damage. Using refilled inkjet cartridges might also void the inkjet printer warranty.   

_____________________________________________________
Fundamentals of Operating System(O.S)
             Operating System:
                                    An operating system is a software component of a computer, and is responsible for the management of a variety of computer operations as also the sharing of computer resources. It hosts computer applications and handles the operations of computer hardware. Users and application programs access the operating system services through system calls and application programming interfaces.
Access Control
When a computer is started, it runs in the supervisor mode, which means that the first few programs running on the computer and the operating system have unlimited access to the hardware.


Execution of Programs

Programs in execution are known as processes. The execution of a program requires the operating system to create processes. The operating system kernel creates a process by loading program code from the disk and allocating memory to it before running the program.
User Interface
Users interact with operating systems by means of command line interfaces or graphical user interfaces. Though a graphical user interface cannot be referred to as an operating system service, many operating systems integrate support for user interfaces into their kernels.
Memory Management
The operating system kernel handles the allocation and management of memory that programs use. In a cooperative memory management strategy, it is assumed that programs make voluntary use of the computer memory. This strategy was used by operating systems of the olden times. Modern operating systems implement segmentation and paging mechanisms facilitating memory protection, whereby all computer programs can obtain a fair share of memory for their execution.
Scheduling
An operating system kernel consists of a scheduler program that manages the time taken by each program for its execution. Kernel passes the controls to processes whereby they can access the CPU and memory. In cooperative multitasking, each process is allowed to use the system resources for an unlimited period. Pre-emptive multitasking mechanisms have replaced cooperative multitasking. 
Interrupt Handling
An operating system has to deal with unexpected events in program execution. They are known as interrupts. Interrupts may also come from computer hardware.
Management of Files
Operating systems are in charge of handling the application program access to files stored on the disk. The operating systems of the earlier days did not support different types of file systems. But the relatively recent operating systems, like Unix and Linux, implement a virtual file system allowing various types of programs to access a variety of system resources and devices that use different file systems.
Computer Security
It is a function of the operating system to handle multiple user profiles. When you log in to your user account on the operating system you use, you are actually being a part of the security measures implemented by your operating system. Most operating systems require their users to log in to their accounts by means of a username and password.
Computer Networking
Operating systems support a variety of networking protocols, whereby computers running different operating systems can work over a common network. The operating system support for networking protocols enables the computers to access resources on remote computers in fairly simple ways.     
_______________________________________________________
Storage Devices
Types:
 There are two types of Storage Devices.
1.) Primary      2.) Secondary
    Primary:
      A.) RAM:
                     Random Access Memory (RAM)
  • Random access memory (RAM) is a type of data storage used in computers that is generally located on the motherboard. 
  • This type of memory is volatile and all information that was stored in RAM is lost when the computer is turned off.
  •  Volatile memory is temporary memory while ROM (read-only memory) is non-volatile and holds data permanently when the power is turned off.
  • The RAM chip may be individually mounted on the motherboard or in sets of several chips on a small board connected to the motherboard. 
  • Older memory types were in the form of chips called dual in-line package (DIP).
  •  Although DIP chips are still used today, the majority of memory is in the form of a module, a narrow printed circuit board attached to a connector on the motherboard. 
  • The three main memory circuit boards types containing chips are: RIMMs (Rambus in-line memory modules), DIMMs (dual in-line memory modules) and SIMMs (single in-line memory modules). Most motherboards today use DIMMs
There are two main types of RAM: dynamic random access memory (DRAM), or Dynamic RAM, and static random access memory (SRAM). The RAM in most personal computers (PC’s) is Dynamic RAM. All dynamic RAM chips on DIMMs, SIMMs or RIMMs have to refresh every few milliseconds by rewriting the data to the module.
Static RAM (SRAM) is volatile memory and is often used in cache memory and registers because it is a lot faster and does not require refreshing like Dynamic RAM. SRAM retains information and is able to operate at higher speeds than DRAM. Because DRAM is a lot cheaper than SRAM, it's common to see PC manufacturers use DRAM.
Dynamic RAM is memory that needs refreshing. The refreshing is done by the memory controller which is part of the chipset on the motherboard. Static RAM (SRAM) does not need refreshing and is used in memory cache on the central processing unit (CPU); it is called L1, L2 and L3 cache. Original SRAM was stored on the motherboard; later SRAM was inside of the CPU housing or stored on both the motherboard and inside of the CPU.            
             B.) ROM:
                           Pronounced rahm, acronym for read-only memory, computer memory on which data has been prerecorded. Once data has been written onto a ROM chip, it cannot be removed and can only be read.
Unlike main memory (RAM), ROM retains its contents even when the computer is turned off. ROM is referred to as being nonvolatile, whereas RAM is volatile.
Most personal computers contain a small amount of ROM that stores critical programs such as the program that boots the computer. In addition, ROMs are used extensively in calculators and peripheral devices such as laser printers, whose fontsare often stored in ROMs.     
Secondary:
      A.) Hard Disk:
               The hard disk drive is the main, and usually largest, data storage hardware device in a computer. The operating system, software titles, and most other files are stored in the hard disk drive.
The hard drive is sometimes referred to as the "C drive" due to the fact that Microsoft Windows, by default, designates the "C" drive letter to the primary partition on the primary hard drive in a computer.
While this is not a technically correct term to use, it is still common. For example, some computers have multiple drive letters (e.g,. C, D, and E) representing areas across one or more hard drives. The hard disk drive also goes by the name HDD (its abbreviation), hard drivehard diskfixed drivefixed disk, and fixed disk drive.

Hard Disk Drive Physical Description

A hard drive is usually the size of a paperback book, but much heavier.
The sides of the hard drive have pre-drilled, threaded holes for easy mounting in the 3.5-inch drive bay in the computer case. Mounting is also possible in a larger 5.25-inch drive bay with an adapter. The hard drive is mounted so the end with the connections faces inside the computer.
The back end of the hard drive contains a port for a cable that connects to the motherboard. The type of cable used (SATA or PATA) depends on the type of drive but is almost always included with a hard drive purchase. Also here is a connection for power from the power supply.
How a Hard Drive Works
Unlike volatile storage like RAM, a hard drive keeps a hold of its data even when powered off. This is why you can restart a computer, which powers down the HDD, but still have access to all the data when it's back on.
Inside the hard drive are sectors located on tracks, which are stored on rotating platters. These platters have magnetic heads that move with an actuator arm to read and write data to the drive.
Kinds of Hard Drives
The computer hard drive isn't the only kind of hard drive, and SATA and PATA aren't the only ways they can connect to a computer. What's more is that there are many different sizes of hard drives, some very small and others rather large.
For example, the common flash drive has a hard drive, too, but it doesn't spin like a traditional hard drive. Flash drives have solid-state drives built-in and connect to the computer through USB.

Storage Capacity

The hard disk drive capacity is a huge factor in determining whether someone will buy a particular device like a laptop or phone. If the storage capacity is rather small, it means it will fill up with files faster, whereas a drive that has lots and lots of storage can handle much more data.
Choosing a hard drive based on how much storage it can retain is really up to opinion and circumstance. If you need a tablet, for example, that can hold lots of videos, you'll want to be sure to get the 64 GB one instead of the 8 GB one.
The same is true for computer hard drives. Are you one to store lots of HD videos or pictures, or are most of your files backed up online? An offline, at-home storage preference might drive you to buy an internal or external hard drive that supports 4 TB versus a 500 GB one. See Terabytes, Gigabytes, & Petabytes: How Big Are They?if you're not sure how these units of measurement compare.

Common Hard Disk Drive Tasks

One simple task that you can do with a hard drive is change the drive letter. Doing this lets you refer to the drive using a different letter. For example, while the main hard drive is normally called the "C" drive and can't be changed, you might want to change an external hard drive's letter from "P" to "L" (or any other acceptable letter).
Something else that's really easy to do with a hard drive is check how much free space is left on it. This is especially important if you're getting low disk space messages but is equally critical for maintaining a smooth system. You can uninstall programs you don't want or ones that are too large, and delete files, or copy them elsewhere, if you're running low on hard drive space.

              B.) CD ROM:
  • Compact Disc-Read Only Memory, a CD-ROM(shown right) is an optical disc which contains audio or software data whose memory is read only
  • CD-ROM Driveor optical drive is the device used to read them. CD-ROM drives have speeds ranging from 1x all the way up to 72x, meaning it reads the CD roughly 72 times faster than the 1x version.
  •  As you would imagine, these drives are capable of playing audio CDs and reading data CDs, including CD-R and CD-RW discs.
  •  A CD-ROM is a CD that can be read by a computer with an optical drive. The "ROM" part of the term means the data on the disc is "read-only," or cannot be altered or erased. Because of this feature and their large capacity, CD-ROMs are a great media format for retail software. 
  • The first CD-ROMs could hold about 600 MB of data, but now they can hold up to 700 MB. CD-ROMs share the same technology as audio CDs, but they are formatted differently, allowing them to store many types of data.
  • Note: A CD-ROM drive cannot read a DVD, including movie DVDs and data DVDs. The format of a DVD is different than a CD and a CD-ROM drive is not designed to read the format of a DVD. A DVD-ROM driveis required to read a DVD.
C.) USB:
            Stands for "Universal Serial Bus." USB is the most common type of computer port used in today's computers. It can be used to connect keyboards, mice, game controllers, printers, scanners, digital cameras, and removable media drives, just to name a few. With the help of a few USB hubs, you can connect up to 127 peripherals to a single USB port and use them all at once (though that would require quite a bit of dexterity).
USB is also faster than older ports, such as serial and parallel ports. The USB 1.1 specification supports data transfer rates of up to 12Mb/sec and USB 2.0 has a maximum transfer rate of 480 Mbps. Though USB was introduced in 1997, the technology didn't really take off until the introduction of the Apple iMac (in late 1998) which used USB ports exclusively. It is somewhat ironic, considering USB was created and designed by Intel, Compaq, Digital, and IBM. Over the past few years, USB has become a widely-used cross-platform interface for both Macs and PCs.

Where are the USB ports?

All modern computers have at least one USport. Below is a list of the typical locations in which you can find them.
  • Desktop computer - A desktop computer usually has two to four ports in the front and two to eight ports in the back.
  • Laptop computer - A laptop computer has between one and four ports on the left, right, or both sides of the laptop.
  • Tablet computer - The USB connection on a tablet is located in the charging port and is usually micro USB and sometimes USB-C. Some tablets have additional ports USB ports.
  • Smartphone - Similar to tablets, the USB port on smartphones is used for both charging and data transfer in the form of USB-C or micro USB.
What is Microprocessor and its 
Architecture
A microprocessor is an integrated circuit (IC) which incorporates core functions of a computer’s central processing unit (CPU). It is a programmable multipurpose silicon chip, clock driven, register based, accepts binary data as input and provides output after processing it as per the instructions stored in the memory.

Block Diagram of a Computer


How does a Microprocessor work ?


A processor is the brain of a computer which basically consists of Arithmetical and Logical Unit (ALU), Control Unit and Register Array. As the name indicates ALU performs all arithmetic and logical operations on the data received from input devices or memory. Register array consists of a series of registers like accumulator (A), B, C, D etc. which acts as temporary fast access memory locations for processing data. As the name indicates, control unit controls the flow of instructions and data throughout the system.

So basically a microprocessor takes input from input devices, process it as per instructions given in the memory and produces output.

Advantages of a Microprocessor


  • Low Cost
    Microprocessors are available at low cost due to integrated circuit technology. Which will reduce the cost of a computer system.
  • High Speed
    Microprocessor chips can work at very high speed due to the technology involved in it. It is capable of executing millions of instructions per second.
  • Small Size
    Due to very large scale and ultra large scale integration technology, a microprocessor is fabricated in a very less footprint. This will reduce the size of the entire computer system.
  • Versatile
    Microprocessors are very versatile, the same chip can be used for a number of applications by simply changing the program (instructions stored in the memory).
  • Low Power Consumption
    Microprocessors are usually manufactured using metal oxide semiconductor technology, in which MOSFETs (Metal Oxide Semiconductor Field Effect Transistors) are working in saturation and cut off modes. So the power consumption is very low compared to others.
  • Less Heat Generation
    Compared to vacuum tube devices, semiconductor devices won’t emit that much heat.
  • Reliable
    Microprocessors are very reliable, failure rate is very less as semiconductor technology is used.
  • Portable
    Devices or computer system made with microprocessors can be made portable due to the small size and low power consumption.

Common Terms used in a Microprocessor

Bus


A bus is a set of conductors intended to transmit data, address or control information to different elements in a microprocessor. Usually a microprocessor will have 3 types of buses : Data Bus, Control Bus and Address Bus. An 8-bit processor will be using 8-bit wide bus.

Instruction Set


Instruction set is the group of commands that a microprocessor can understand. So instruction set is an interface between hardware and software (program). An instruction commands the processor to switch relevant transistors for doing some processing in data. For eg. ADD A, B; is used to add two numbers stored in the register A and B.

Word Length


Word Length is the number of bits in the internal data bus of a processor or it is the number of bits a processor can process at a time. For eg. An 8-bit processor will have an 8-bit data bus, 8-bit registers and will do 8-bit processing at a time. For doing higher bits (32-bit, 16-bit) operations, it will split that into a series of 8-bit operations.

Cache Memory


Cache memory is a random access memory that is integrated into the processor. So the processor can access data in the cache memory more quickly than from a regular RAM. It is also known as CPU Memory. Cache memory is used to store data or instructions that are frequently referenced by the software or program during the operation. So it will increase the overall speed of the operation.

Clock Speed


Microprocessors uses a clock signal to control the rate at which instructions are executed, synchronize other internal components and to control the data transfer between them. So clock speed refers to the speed at which a microprocessor executes instructions. It is usually measured in Hertz and are expressed in megahertz (MHz), gigahertz (GHz) etc.
Classification of Microprocessors
Based on Word Length

Hope you read about word length above. So based on the word length of a processor we can have 8-bit, 16-bit, 32-bit and 64-bit processors.
Architecture:
RISC – Reduced Instruction Set Computer
RISC is a type of microprocessor architecture which uses small, general purpose and highly optimized instruction set rather than more specialized set of instructions found in others. RISC offers high performance over its opposing architecture CISC (see below). In a processor, execution of each instruction require a special circuit to load and process the data. So by reducing instructions, the processor will be using simple circuits and faster in operation.
  • Simple instruction set
  • Larger program
  • Consists of large number of registers
  • Simple processor circuitry (small number of transistors)
  • More RAM usage
  • Fixed length instructions
  • Simple addressing modes
  • Usually fixed number of clock cycles for executing one instruction

CISC – Complex Instruction Set Computer

CISC is the opposing microprocessor architecture for RISC. It is made to reduce the number of instructions per program, ignoring the number of cycles per instruction. So complex instructions are directly made into hardware making the processor complex and slower in operation.
This architecture is actually designed to reduce the cost of memory by reducing the program length.
  • Complex instruction set
  • Smaller program
  • Less number of registers
  • Complex processor circuitry (more number of transistors)
  • Little RAM usage
  • Variable length instructions
  • Variety of addressing modes
  • Variable number of clock cycles for each instructions

Special Purpose Processors

There are some processors which are designed to handle some specific functions.
  • DSP – Digital Signal Processors
  • Coprocessors – processors used along with a main processor (8087 math-coprocessor used with 8086)
  • Input/Output processors
  • Transputer – Transistor Computer : Microprocessor with its own local memory

Examples

  • Intel 4004 – The First Microprocessor
  • Intel 8085
  • Intel 8086
  • Intel Pentium 4
  • Intel Core i7
  • AMD Athlon
_______________________________________________
3.) Software Design & Algorithms
Software:
Software, in broad terms, is a set of instructions (generally referred to as code), that is positioned between you and the device’s hardware, enabling you to use it.
But what is computer software, really? In layman’s terms it’s an invisible component of a computer system that makes it possible for you to interact with the computer's physical components. Software is what allows you to communicate with smartphones, tablets, game boxes, media players, and similar devices.
It’s important to note that there is a distinct difference between hardware and software. Software is an intangible resource. You can’t hold it in your hands. Hardware consists of tangible resources such as mice, keyboards, USB ports, CPUs, memory, printers, and so on. Phones are hardware. iPads, Kindles, and Fire TV sticks are hardware. Hardware and software work together to make a system functional.

Who Creates Software?

The definition of software implies that someone must sit at a computer somewhere and write the computer code for it. It’s true; there are independent coding experts, teams of engineers, and large corporations all creating software and vying for your attention. Adobe makes Adobe Reader and Adobe Photoshop; Microsoft makes the Microsoft Office Suite; McAfee makes antivirus software; Mozilla makes Firefox; Apple makes iOS. Third parties make apps for Windows, iOS, Android, and more. There are millions of people writing software all over the world right now.

How to Get Software

Operating systems come with some software already installed. In Windows 10 there’s the Edge web browser, for instance, and applications like WordPad and Fresh Paint. In iOS there’s Photos, Weather, Calendar, and Clock. If your device doesn’t have all of the software you need though, you can get more.
One way a lot of people get software today is downloading it from specific stores. On the iPhone for example, people have downloaded apps around 200 billion times. If it's not clear to you, apps are software (perhaps with a friendlier name).
Another way people add software to their computers is via physical media like a DVD or, back a long time ago, floppy disks.

Types of Software

There are Two types of Software.
1.) System Software           2.) Application Software
1.) System Software:
  • System software is used for operating computer hardware.
  • System software are installed on the computer when operating system is installed.
  • In general, the user does not interact with system software because it works in the background.
  • System software can run independently. It provides platform for running application software.
Example:
             Some examples of system software are compiler, assembler, debugger, driver, etc.
2.) Application Software:
  • Application software is used by user to perform specific task.
  • Application software are installed according to user’s requirements.
  • In general, the user interacts with application software.
  • Application software can’t run independently. They can’t run without the presence of system software.
Example:
              Some examples of application software are word processor, web browser, media player, etc.
______________________________________________
Flow Chart:
A flow chart is a graphical or symbolic representation of a process. Each step in the process is represented by a different symbol and contains a short description of the process step. The flow chart symbols are linked together with arrows showing the process flow direction.
Common Flowchart Symbols
Different flow chart symbols have different meanings. The most common flow chart symbols are:
  • Terminator: An oval flow chart shape indicating the start or end of the process.
  • Process: A rectangular flow chart shape indicating a normal process flow step.
  • Decision: A diamond flow chart shape indication a branch in the process flow.
  • Connector: A small, labeled, circular flow chart shape used to indicate a jump in the process flow. (Shown as the circle with the letter “A”, below.)
  • Data: A parallelogram that indicates data input or output (I/O) for a process.
  • Document: Used to indicate a document or report.
As-Is Flowchart
The first cool thing about flow charts is that they let you see the process flow at a glance, so my first alternative definition of "Flow Chart" is a Snap Shot of your Business Processes. This is commonly called an As-Is Flowchart. You can tell a lot about the complexity (and often over-complexity) of many business processes just by looking at an as-is flow chart of them - without even reading the text in the symbols. You can easily see the flow of information and materials, branches in the process, opportunities for infinite loops, the number of process steps, inter-departmental operations, and more.
Process Zoom Lens
The second cool thing about flow charts is that they let you see the process flow at different levels, so my second alternative definition of Flow Chart is a Zoom Lens for your Business Processes. Flow charts are often categorized in 3 levels: high-level, mid-level and low-level (detailed). A high-level flow chart could be a process defined at the company-wide or large-system level. A mid-level flow chart could be a process defined at the department level, and a low-level flow chart could be a process defined at working level.Some flow chart tools (including Microsoft Excel) allow you to add hyperlinks to flow chart symbols. The hyperlinks let you click on a flow chart symbol, drilling down from a high-level process step to a detailed set of process flow steps. This truly gives you the zoom lens capability.
Process Test Bed
The third cool thing about flow charts is that they let you perform risk-free experiments, so with that in mind my third and final alternative definition of Flow Chart is a Process Test Bed. All process improvements require change, and most changes involve risk, require work, cost money, or instill some level of emotional uncertainty and fear. You can mitigate each of these by creating flow charts of any proposed operational changes. Each flow chart can be a "what-if" that helps the involved players more easily see the risks involved. Personally, I do before and after flow charts on all significant process changes.
_______________________________________________
Concept of Programming Language
A computer program is a collection of instructions that performs a specific task when executed by a computer. A computer requires programs to function, and typically executes the program’s instructions in a central processing unit.
A computer program is usually written by a computer programmer in a programming language. From the program in its human-readable form of source code, a compiler can derive machine code—a form consisting of instructions that the computer can directly execute. Alternatively, a computer program may be executed with the aid of an interpreter.
The first programmable computers required the programmers to write explicit instructions to directly manipulate the hardware of the computer. This “machine language” was very tedious to write by hand since even simple tasks such as printing some output on the screen require 10 or 20 machine language commands. Machine language is often referred to as a “low level language” since the code directly manipulates the hardware of the computer.
By contrast, higher level languages such as “C”, C++, Pascal, Cobol, Fortran, ADA and Java are called “compiled languages”. In a compiled language, the programmer writes more general instructions and a compiler (a special piece of software) automatically translates these high level instructions into machine language. The machine language is then executed by the computer. A large portion of software in use today is programmed in this fashion.
There are two different models of programming-
  1. Structured programming In this type, code is executed one after another. Control statements change which blocks of code are executed next. It is aimed at improving the clarity, quality, and development time of a computer program by making extensive use of subroutines, block structures, for and while loops
  2. Object oriented programming-It is based on the concept of “objects”, which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object’s procedures can access and often modify the data fields of the object with which they are associated. There is no single “flow” of the program as objects can freely interact with one another by passing messages.

1. Program Structure

The overall form of a program, with particular emphasis on the individual components of the program and the interrelationships between these components. Programs are frequently referred to as either well-structured or poorly structured. With a well-structured program the division into components follows some recognized principle such as information hiding, and the interfaces between components are explicit and simple. By contrast, with a poorly structured program the division into components is largely arbitrary (or even non-existent), and interfaces are implicit and complex. At a finer level, a well-structured program employs appropriate data structures and program units with a single entry point and a single exit point, while a poorly structured program has arbitrary data structures and flow of control.
Virtually all structured programs share a similar overall pattern:
  • Statements to establish the start of the program
  • Variable declaration
  • Program statements (blocks of code)
This is the basic “hello world” example used in all programming languages.
LanguageExample program
“C”#include <stdio.h>
void main() {
printf(“Hello World”);
}
C++#include <iostream.h>
int main() {
cout << “Hello World”;
return 0;
}
Pascalprogram helloworld (output);
begin
writeln(‘Hello World’);
end
Oracle PL/SQLCREATE OR REPLACE PROCEDURE helloworld AS
BEGIN
DBMS_OUTPUT.PUT_LINE(‘Hello World’);
END;

2. Variable Declaration

variable
A variable or scalar is a storage location paired with an associated symbolic name, which contains some known or unknown quantity of information referred to as a value. The variable name is the usual way to reference the stored value. Variables are the backbone of any program, and thus the backbone of any programming language.in simple terms, a variable is simply a way to store some sort of information for later use, and we can retrieve this information by referring to a “word” that will describe this information.
Different types of variables include:
  • Integer – to store integer or “whole” numbers
  • Real – to store real or fractional numbers (also called float to indicate a floating point number)
  • Character – A single character such as a letter of the alphabet or punctuation.
  • String – A collection of characters
In order to use a variable within a program, the compiler needs to know in advance the type of data that will be stored in it. For this reason, we declare the variables at the start of the program. Variable declaration consists of giving a new name and a data type for the variable. This is normally done at the very start of the program..
For example:
#include <stdio.h>
void main() {
int age;
float salary;
char middle_initial;
age = 25;
salary = 196578.89;
middle_initial = "K";
printf("I am %d years old ", age);
printf("I make %f per year " salary);
printf("My middle initial is %c ", middle_initial);
}

3. Looping structures

Loop structures allow you to run one or more lines of code repetitively. You can repeat the statements in a loop structure until a condition is True, until a condition is False, a specified number of times, or once for each element in a collection.
The following illustration shows a loop structure that runs a set of statements until a condition becomes true.
Running a set of statements until a condition becomes true
An infinite loop is one that lacks a functioning exit routine . The result is that the loop repeats continually until the operating system senses it and terminates the program with an error or until some other event occurs (such as having the program automatically terminate after a certain duration of time).

4. Control structures

A control structure is a block of programming that analyses variables and chooses a direction in which to go based on given parameters. The term flow control details the direction the program takes (which way program control “flows”). Hence it is the basic decision-making process in computing; flow control determines how a computer will respond when given certain conditions and parameters.
When a program is running, the code is being read by the computer line by line (from top to bottom, and for the most part left to right), just like you would read a book.  This is known as the “code flow“, now as the code is being read from top to bottom, it may hit a point where it needs to make a decision, this decision could make the code jump to a completely different part of the program, or it could make it re-run a certain piece again, or just plain skip a bunch of code.  The computer program has a strict set of rules to decide which direction to go. So, this decision that must be made, that will in turn affect the flow of code, is known as a control structure.

5. Syntax

In computer science, the syntax of a programming language is the set of rules that define the combinations of symbols that are considered to be correctly structured programs in that language. Documents that are syntactically invalid are said to have a syntax error. The concept of syntax in programming language is similar to the concepts of grammar and spelling in spoken language. When a sentence in English has very poor grammar and spelling, it becomes difficult or even impossible to understand. Similarly, when code has syntax errors, the program will not execute.
The difference is that when you read a sentence in English with a minor error, you can typically still understand its meaning. Very small syntax errors in code, however, make the program unusable. Coders, therefore, have to pay great attention to detail to make sure their code is not only logical but also free of syntax errors. There are a number of aspects to syntax, including statements, variables and keywords.
____________________________________________

Types of computer programming languages

There are basically three types of computer programming languages, they are
  1. Low level programming languages
  2. High level programming languages
  3. Middle level programming languages

1) Low level programming languages

These are machine dependent programming languages such as Binary (Machine code) and Assembly language.
Since computer only understand the Binary language that means instructions in the form of 0’s and 1’s (Signals - that can be either High or Low), so these programming languages are the best way to give signals (Binary Instructions) to the computer directly.
Machine Code (Binary Language) does not need any interpreter or compiler to convert language in any form because computer understands these signals directly.
But, Assembly language needs to be converted in equivalent Binary code, so that computer can understand the instructions written in Assembly. Assembler is used to convert an assembly code to its equivalent Binary code.
The codes written in such kind of languages are difficult to write, read, edit and understand; the programs are not portable to any other computer system.
Low Level programming language programs are faster than High Level programming language programs as they have less keywords, symbols and no need (less need) to convert into Machine Code.

2) High level programming languages

These are the machine independent programming languages, which are easy to write, read, edit and understand.
The languages like Java, .Net, Pascal, COBOL, C++, C, C# and other (which are very popular now to develop user end applications). These languages come under the high level programming language category.
High level programming languages have some special keywords, functions and class libraries by using them we can easily build a program for the computer.
Computer does not understand program written in such languages directly, as I have written above that computer understands only Machine code. So, here programming translators are required to convert a high level program to its equivalent Machine code.
Programming translators such as Compilers and Interpreters are the system software’s which converts a program written in particular programming languages to its equivalent Machine code.
Here are the features of High Level programming languages
  • The programs are written in High Level programming languages and are independent that means a program written on a system can be run on another system.
  • Easy to understand - Since these programming languages have keywords, functions, class libraries (which are similar to English words) we can easily understand the meaning of particular term related to that programming language.
  • Easy to code, read and edit - The programs written in High Level programming languages are easy to code, read and edit. Even we can edit programs written by other programmers easily by having little knowledge of that programming language.
  • Since, High Level language programs are slower than Low level language programs; still these programming languages are popular to develop User End Applications.

3.) Middle Level programming language

Since, there is no such category of computer programming languages, but the programming languages that have features of low level and high level programming languages come under this category.
Hence, we can say that the programming languages which have features of Low Level as well as High Level programming languages known as "Middle Level" programming language.
C programming languages is the best example of Low Level Programming languages as it has features of low level and high level programming languages both.                                          ____________________________________________

Compiler







  • A compiler is a special program that processes statements written in a particular programming language and turns them into machine language or "code" that a computer's processor uses. Typically, a programmer writes language statements in a language such as Pascal or C one line at a time using an editor. The file that is created contains what are called the source statements. The programmer then runs the appropriate language compiler, specifying the name of the file that contains the source statements.
  • When executing (running), the compiler first parses (or analyzes) all of the language statements syntactically one after the other and then, in one or more successive stages or "passes", builds the output code, making sure that statements that refer to other statements are referred to correctly in the final code. Traditionally, the output of the compilation has been called object code or sometimes an object module . (Note that the term "object" here is not related to object-oriented programming.) The object code is machine code that the processor can execute one instruction at a time.
  • The Java programming language, a language used in object-oriented programming, introduced the possibility of compiling output (called byte code ) that can run on any computer system platform for which a Java virtual machine or byte code interpreter is provided to convert the byte code into instructions that can be executed by the actual hardware processor. Using this virtual machine, the byte code can optionally be recompiled at the execution platform by a just-in-time compiler
  • Traditionally in some operating systems, an additional step was required after compilation - that of resolving the relative location of instructions and data when more than one object module was to be run at the same time and they cross-referred to each other's instruction sequences or data. This process was sometimes called linkage editing and the output known as a load module.
  • A compiler works with what are sometimes called 3GL and higher-level languages. An assembler works on programs written using a processor's assembler language.
By: Usman Khan
BS-Software-Engineering
(Islamia College, Peshawar)

Comments

Post a Comment

Popular posts from this blog

C / C++

E-Commerce & Web Technologies