Thursday, July 22, 2010



Installation of Windows XP







How To Install MS Windows XP Professional?
Here you will learn about windows xp upgrade tutorial, how to install 98, how to update 2000, basic configuration steps and basic Windows basic configuration steps. Most individuals and small or big companies require Windows XP to be installed on a new computer. However large base of the existing computers in most of the organizations run the older version of the Windows XP. An upgrading is a process which makes the operating systems up to date. Before updating you should consider the following things.
• Your computer hardware should support the latest version of the Windows XP.• You should be aware that applications that are running on the older version may be not be compatible with the latest version.• Upgrading process can take significant time, money and resources if the upgrade is required to a number of the network computers.
It is not possible to upgrade any non Windows computers (UNIX, Linux etc) to Windows XP. You have to perform clean installation of Windows XP on these computers.Verification System CompatibilityThe windows XP compatibility tool enables you create compatibility report that identifies any problems with computer hardware or software on a computer. You can find and run this tool from the Windows XP CD-ROM by following steps.
1. Insert the Windows XP CD. 2. Select the check system compatibility link from the welcome screen.3. Select check my system automatically link.
Additionally, you can also check Windows XP compatibility by opening a command prompt and typing this command c:\i386\WINNT32/Checkupgraedeonly. The Microsoft upgrade advisor will enable you to download the updated setup files from the Microsoft website. You must have internet connection to download the updated setup files and if you do not have internet connection available at this time then skip this step and continue installing Windows option and click next. If you selected to download the setup files from the internet you will find a restart option, click this option and then select yes.
After this step Microsoft upgrade advisor display a report of the incompatible hardware and software. If you need detailed information of any incompatible item click “More details” and click next. Incompatible software may require upgrade packs or latest versions. If are unable to find the upgrade packs at this time then you should remove the incompatible software from the Add/Remove programs before you continue with the Windows XP upgrade. You can Windows XP upgrade advisor from the following path.
http://www.microsoft.com/windowsxp/pro/upgrading/advisor.mspx. After you confirm that an upgrade is required, you should perform the following several tasks before update starts.• Backup you critical data before upgrading. The easiest way to backup the data is to copy the data folders to another disk or computer.• Check the available BIOS upgrades from BIOS manufacturer’s website and if upgrade is available for the BIOS, you should upgrade it before you continue upgrading to Windows XP. • Next you should turn off the power management features from the Power options in the control panel.• Your antivirus program should be upgraded to the latest versions and your computer should be virus free.• Your computer’s hardware should be available in the Device Manager in Windows 2000 or XP.• If Microsoft Upgrade Advisor has identified incompatible software, you should remove all these software before you continue upgrade process.• Ensure that no unnecessary program is running during the upgrade process.• Windows XP does not support stripe sets created in Windows NT 4.0 so if you are upgrading from Windows NT 4.0 that contains strips sets, you should back up their contact and delete them before upgrading process.
Generally you will have less compatibility problems when you are going to upgrade from Windows NT/2000 than upgrading to Windows 98/Me. Additionally, your keyboard, mouse should be updated with the latest drivers before upgrading.
Upgrading a Windows NT 4.0 or 2000 Computer
After you have make sure that your computer meets all the hardware and software requirements for the Windows XP Professional then you are ready to perform the actual upgrade. Note: You cannot upgrade Windows NT or Windows 2000 to Windows XP home edition, rather you should upgrade to Windows XP Professional. Additionally, you cannot upgrade a computer that is running Windows 2000 Server.
To upgrade a Windows 2000 Professional computer to Windows XP Professional follow the following steps. Please note that if you want to upgrade from Windows NT, the steps are almost same.
1. Insert the Windows XP Professional CD with SP2 in the CD-ROM.2. Double click the CD-ROM drive and then double click the setup icon. You can also get the installation files from the network computer by mapping the source drive to the distribution share.3. On the Welcome to Microsoft Windows XP screen, click install Windows XP Professional. 4. The welcome screen provides the installation types. Now select the Upgrade (Recommended) to begin the upgrade and click next. 5. The License agreement screen appears, read the license and click I accept this agreement then click Next.6. Next appears the Product Key screen, enter the 25-alpha-numeric product key and then click next. 7. Next Get Updated Setup Files dialog box appears. If you have internet connection then you should select Dynamic Update setup files option and download the updated files from the Microsoft website, otherwise click no, Next to continue.8. Installation files are copied and the computer restarts. Copying of the files takes few minutes and it involves copying of the files to a separate folder. 9. Next Press Enter to accept the default of Windows XP Professional Setup from boot menu.10. Insert the Microsoft Windows XP Professional CD and click next. Insert the Windows SP2 CD and press enter, if you are promoted that setup cannot copy a file during setup.11. Next the Setup examines the system disks and text mode copying step takes 5 to 10 minutes and then computer restarts again.12. Windows XP Setup obtains additional setup information from the older version. You are asked for the additional information is setup is unable to get the information. Here you will be prompted for the original CD-ROM as mentioned in the step # 10. 13. Once the installation is complete the computer reboots and displays the Welcome to Microsoft Windows screen.14. Similar to the option presented during an original installation, enter your name and the name of any other person who will use this computer. Click next and then click finish. J15. After reboot a logon screen will appear, enter your user name to start.After upgrade process is completed and hardware and software upgrading is also completed with the latest versions/packs, you can perform the normal tasks such as installing new software applications, working in MS office applications, browsing the internet etc.

Wednesday, July 21, 2010

Troublingshooting tips

PC Hardware Troubleshooting Techniques
Here you will learn about computer hardware troubleshooting techniques, cable testers, software diagnostic routines, POST cards, error diagnostic methods. Computer hardware is the physical part of a computer and it is frequently changed as compared to the software. Most computer hardware is inside the computer and cannot be seen by normal users. There are a large number of the computer hardware devices including Hard disk, CD-Rom, RAM, Motherboard, Monitor, printer, peripheral devices and other devices. One of the first steps in the troubleshooting is to sort out the hardware and software problems. You can use the event viewer utility in the Windows operating systems to identify the nature and cause of the hardware or software problem. Also you can identify the hardware problems by identifying the initial start up beeps.
Errors that occur before the initial beep shows that there is some kind of hardware problem exists in the system. At the POST stage, only the BIOS of the system and basic hardware is active and operating system does not starts to initialize at this stage until a final beep occurs. If a computer produces an error (“The system has detected Unstable RAM”) or a beep code appears, this means that system and found a problem with the devices and system RAM should be changed. Additionally, if the system starts up process reaches the point where CMOS configuration information is displayed on the screen this means that there is no problem detected with the basic hardware of the system. After this point, the system starts to load the device drivers and operating system.
You can categorize the system configurations errors and components failure errors. Sometimes configurations or setup problems occur when a new hardware is installed and used in the system for the first time. These problems occur due to the mismatches of the CMOS memory information and component's configuration information. It is usually advisable to access the system CMOS when the system is first time prepared, when it is necessary to replace the CMOS battery and when a new device such as hard disk, CD-Rom, RAM, Video adapter etc added to the system. In most of the computers, the BIOS use plug and play techniques to detect most of the devices. These components provide system resources to the newly added device. When you are installing a new devices or software, you may notice some configuration errors.
If you face the configuration errors, you should see the installation manual that comes with the new computer device. If you cannot confirm configuration problems and the device is not working properly, this means that there must be some defect in the hardware. The symptoms and errors can be divided into the three parts such as boot up problems, configurations problems and operational problems. First of all system’s configurations settings are checked. The error messages that occur during or after the end of the POST are reported so it is important to observe that where the problem is actually occurred.
Configuration Error Messages Meanings
Press F1 to continue Invalid configurationCMOS time and date not set CMOS battery errorCMOS memory size mismatches System configuration and setup failureCMOS system option not set CMOS battery failure or CMOS checksum
After the beep tones occur during the startup process, the system now looks and loads the operating system. The errors that occur between the beeps and initializing the operating system can be categorized into the following categories.
• Hardware failure ( due to the physical problem with the booting drive)• General Failure Error Reading Drive x• Bad or Missing Command Interpreter• Non system Disk or Disk Error• Bad File Allocation Table• Corrupted or missing operating system files• Corrupted or missing boot files
The configuration or boot up problems can be occurred to the hardware or operational function’s failure and if the configuration is correct and these error appears this means there is some problems in the hardware and boot up problems are normally linked with the operating system.
PC Hardware Troubleshooting Tools
Due to the low cost of the some of the hardware components, it’s usually not advisable to repair the IC level problems of the components, instead they should be replaced. The repair cost of the component will most likely be high as compared to the actual cost of the component. There are some very excellent hardware problem detection tools that are very helpful in identifying and isolating the problems. These tools included Multi meter, Cable Tester, POST card and software diagnostic disk.
Software Diagnostics Routines
Many disk based diagnostic methods can check the system and identify the problems by running the number of tests on the different areas of the system hardware. These tests produce the visual reports and error messages to identify the nature of the problem. The most common software troubleshooting routines check the computer’s memory, keyboard, monitor, system processor, and hard disk’s speed. If the system CPU, hard disk and system clock is working properly, then you will be able to localize the problem by targeting the other points in the system. If the diagnostic tools/routines identify a number of defective software/hardware then you should replace one defective unit a time.
Troubleshooting with Multimeter
Testing tools can help in isolating the hardware or software problems and digital multimeter is a most important tool for the electronic troubleshooting. Digital Multimeter and other electronic test instruments are available in analog and digital form and these instruments can be used to measure the electrical values of the voltage, current in miliamperes and resistance in ohms. These devices are known as Volt-ohm-milimeters (VOMs) for the analog signals and digital millimeters (DMMs) for the digital types. You can also check the transistors, capacitors, motor windings and diodes with the digital multimeter. In computer troubleshooting, most of the tests of the digital multimeter are to check the DC readings.
Troubleshooting with Cable Testers
The most common hardware related compute networking problem is the bad cabling and RJ-45 connectors. There are a number of devices, designed for testing the network communication cabling. These devices include continuity tester, time domain reflectometer and cabling testers. Data cabling testers are designed to perform a number of different types of tests on the UTP/STP and coaxial cables. The master end of the cable tester is attached to one end of the cable and the load unit of the cable tester is attached to the other end of the cable. The master unit sends the signals through the cable and reads them from the load unit. When testing the cables, these devices normally detect the problems such as crossed-over wiring, broken wires, short connections and the cable connections that are improperly impaired.
Troubleshooting with POST Cards
A POST card is a diagnostic and troubleshooting device that is plugged into the expansion slots and tests the operation of the system as it boots up. These cards can be as direct memory access or they can be complex as ROM BIOS diagnostic tools that perform the advance level diagnostic tests. POST cards are generally used when the computer systems appear to be dead or the system is unable to read from the floppy or hard disk. The POST routines generally report two types of errors fatal and non fatal.
The fatal error stops and system and when the POST card observes non fatal errors, they should be read very carefully because the error code, which is indicated must be coordinated with the timing of the error message or beep code produced by the BIOS routines. Normally POST cards come with the LEDs (light-emitting diodes that produces code error signals and they identify any kind of problem.

Computer Hardware

Introduction to PC Components
Here you will learn computer hardware tutorials introduction, basic pc components, networking devices, ram, vga, monitor and printer etc. Computer hardware is the physical part of the computer including the digital circuits inside the computer as opposed to the software that carry out the computing instructions. The hardware of a computer is unlikely to change frequently unless due to the crash or for upgrading them. The devices that is capable of storing, executing system instructions and controlling other logical outputs.

Hardware comprises all of the physical part of the computer such as Monitor, CPU, motherboard, ram, CD-Rom, printer, scanner, hard disk, flash drive (AKA pen drive), processor, pci buses, floppy disk, power supply, VGA card, sound card, network interface card, peripherals, joystick, mouse, keyboard, foot pedal, computer fan, camera, headset and others.
On the other hard software is a logical part of a computer and is used to carry out the instructions, storing, executing and developing other software programs. A typical PC consists of a case or chassis in the desktop or tower case and these components.
Motherboard• CPU• Computer Fan• RAM• BIOS• Digital Circuitry• Computer Fan• PCI Slots
PC Buses• PCI• USB• Hyper-transport• AGP• ISA• EISA• VLB
Media• CD-Rom• DVD-Rom• Combo box• Joystick• BD-Rom drive
Internal storage• Hard disk (ATA & SATA)• Data array controller• Floppy disk
Other Peripheral Devices• Mouse• Modems• Digital Camera• Sound, Video Cards• Printer
Output Devices• Printer• Scanner• Monitor• Speakers• Headset• Video output devices
CPU (Central Processing Unit): CPU or central processing unit relates to a specific or processor. The performance of the computer is determined by the CPU chip (processor speed) and the other computer circuitry. Currently, the Pentium chip (processor) is the most popular even though there are other chips available in the market today such as AMD, Motorola and others. The clocks speed becomes most important factor in determining the performance of a computer. The motherboard contains the hardware circuitry and connections that allow the different hardware components of the PC to interact and communicate with each other. Most computer software is being developed for the latest processors so it would be difficult to use the older systems.
Hard Disk Drives – Disk drive is the mechanism to run the disks. All disks need a drive to get the information, read it and put it back to the disks. Hard disk is used to store the data permanently. Often the terms disk and drive used to describe the same thing but it should be clear that a disk is a storage device.
Modem – A modem is used for the modulation and demodulation of the data that is transferred through the modem and the telephone lines. Modem translates the data from digital to analog from analog to digital. Because on the telephone lines data can travel in the form of the analog signals and in the computer data transmits in the form of digital signals. Modems are measured by the speed which is called baud rate. The typical baud rate is 56Kb.
Keyboard – The keyboard is used to type something or input information to the computer. There are different designs and models of the keyboards in the market. The most common layout of the keyboard is QWERTY layout. A standard keyboard has 101 keys and embedded keys.
Video cards-Video cards allow computer to display video, graphics and animation. Some video cards allow computers to display television. A video card with a digital video camera allows users to produce live video. A high speed broadband internet connection is required to watch the videos on net.
Network cards: Network interface cards allow PCs to connect with each other and communicate. Every network computer is required to have a NIC card. NIC cards are required both in wired and wireless networking.
Cables: There are two broad types of cables internal cables, which are embedded on the mother board circuit that performs the communication between the devices and CPU. The other types of the cables are the network cables like coaxial cable, CAT 5, Ethernet cables. These cables are used for the communication purposes between the devices or computers.
Memory – Memory is the one of the important piece of the hardware. Sometimes memory chip memory is confused with the hard disk memory. Sometimes unallocated space of the hard disk is used as virtual memory also known as page file. This type of memory is a temporary memory and is used actual memory is less and requires some additional memory to perform a specific task.
RAM (Random Access Memory) RAM is a memory that is being used by the computer to store the information temporarily. For example when some work is performed on some applications that work is temporarily stored in the RAM. More RAM in the computer more faster computer works. Today at least requirement of a modern PC is 64 RAM. RAM is in the form of a chip and different vendors have developed the RAM of different capacities.
Mouse – Every modern computer requires a mouse for faster operations. Generally a mouse has two buttons left and right to perform different functions. One type of the mouse has a round ball under the bottom. Another type of the mouse use optical system to track the movement of the mouse.
Monitors – The monitor is used to display the information on the screen. All the activities of a computer, functions and tasks are seen on the computer screen and this is called outputting information. Monitors come in many sizes and shapes, monochrome or full colors. Today most computers use LCD screens. It is light weight and consumes less power as compared to the monitors.
Printers – The printer takes the information from the PC and transfers it to the paper of different sizes, which are placed in the printer device. There are three basic types of a printer such as dot matrix, inkjet and laser.
Scanners- Scanners allow you to transfer pictures and photographs to your computer. A scanner is used to scan the images and pictures. You can then send the image to someone, modify it or take a print out of it. With optical character recognition software you can convert printed documents into the text that you can use in the word processor. Digital camera- You can take the digital photographs with the digital cameras. The images are stored on the memory chip of the digital cameras and you can transfer them to your computer with the USB drive.
Case – Case or casing covers the whole computer’s circuitry. There are two types of casings desktop and tower casing. There is room inside the casing to add or remove components. Cases come in many sizes like desktop, mini, midi and tower. There are some additional empty slots inside the cases such as IDE, USB, ASI, PCI and firewire slots.
Cards – Cards are the hardware components that are added to the computer to increase their functionalities and capabilities.
Sound cards produce the sound like music and voice. The older cars were 8, 16 and then 32 bits. Color cards allow computers to produce colors. Initially there were 2, 4 and then 16 bits. The main types of the graphic cards are EGA, VGA and SGA. The 32 cards are the standard to display almost billions of the colors on the monitor.

Computer Networkings




Find computer network tutorials, wireless communication guide, LAN/WAN guide, local area network tools, wan introduction, osi layers model and many other advance topics of data communication. This is very informative site for the IT people specially in the field of computer networking. You will also find data communication overview, tech guides , data communication related information, topologies, tech study guide, Router Labs, IT certifications, Ethernet guide, free IT resources, ip addressing tools, telecommunication guide and many other informative resources. Data communication is a process of sharing data and shared resources between two or more connected computers. The shared resources can include printer, Fax modem, Hard disk, CD/DVD Rom, Database and the data files.

A computer network can be divided into a small segments called Local Area Network (LAN), networking between computers in a building of a office, medium sized networks (MAN), communication between two offices in a city and wide area networks (WAN) networking between the computers, one is locally placed and the other can be thousands of miles away in another city or another country in the world.
WAN connectivity is achieved by a device known as “Router”. The internet is the world’s largest WAN, where millions of computers from all over the globe and connected with each other.

Networking is the practice of linking two or more computers or devices with each other. The connectivity can be wired or wireless. A computer network can be categorized in different ways, depends on the geographical area as mentioned above.
There are two main types of the computer networking client-server and peer to peer. In the client server computing, a computer plays a major role known as server, where the files, data in the form of web pages, docs or spread sheet files, video, database & resources are placed.


All the other computers in the client/server networks are called clients and they get the data from the server. In the peer to peer networks all the computers play the same role and no computer act as a centralized server. In the major businesses around the world client-server networks model is in major use.

A network topology defines the structure, design or layout of a network. There are different topologies like bus, ring, star, mesh, hybrid etc. The star topology is most commonly used topology. In the star topology, all the computers in the network are connected with a centralized device such as hub or switch. Thus forms a star like structure. If the hubs/switch fails to work for any reason then all the connectivity and communication between the computers will be halted.

A common communication language is used by the computers and the communication devices is known as protocols. The most commonly used and popular protocol on the internet and in the home and other networks is called TCP/IP. TCP/IP is not a single protocol but it is a suite of several protocols.A computer network can be a wired or wireless and TCP/IP protocol can work both in types of a network.Data flow or communication can be divided into seven logical layers called OSI layers model that was developed by Intel and Xerox Corporation and was standardized by ISO.

1. Application layer
2. Presentation layer
3. Session layer
4. Transport layer
5. Network layer
6. Data Link layer
a. Media access control sub-layer
b. Logical link control sub-layer
7. Physical layer
A network can be divided into different scales and ranges and it depends on the requirement of the organization and the geographical location. Computer Network can be divided into Local Area Network, Personal Area Network, Campus Area Network, Wireless Local Area Network, Metropolitan Area Network and Wide Area Network.

There are several communication connection methods like HomePNA, Power line communication, Ethernet and Wifi connection method.
A network can also be categorized into several different types based on the services it provides like Server farms, Storage area networks, Value control networks, Value-Added networks, SOHO networks, Wireless and Jungle networks.

I have explained the basic and advance data communication technologies, Router commands, communication devices, certifications, IP addressing basics, subnetting, networking tips, networking interview questions, windows networking, mobile technology and wireless computing. I have tried to cover all the hot topics in the area of computer networking so that maximum users can get benefit from this website.

I will warmly welcome any suggestions, tips and unique content from my visitors if they want to share with me.

Before working on this website, I personally visited many networking related websites to updated my knowledge to provide most up-to-date, unique information and best experience to my visitors.
I have tried to add all the good features, how tos and networking related utilities in my website. I am hopeful that my visitors will like this website and find it very useful for the basic and advance data communication topics.

Computer Programming
Computer programming (often shortened to programming or coding) is the process of designing, writing, testing, debugging / troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The code may be a modification of an existing source or something completely new. The purpose of programming is to create a program that exhibits a certain desired behaviour (customization). The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.

Contents [hide]
1 Overview
2 History of programming
3 Modern programming
3.1 Quality requirements
3.2 Algorithmic complexity
3.3 Methodologies
3.4 Measuring language usage
3.5 Debugging
4 Programming languages
5 Programmers
6 See also
7 References
8 Further reading
9 External links

[edit] Overview
Wikiversity has learning materials about programming

Within software engineering, programming (the implementation) is regarded as one phase in a software development process.

There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an engineering discipline.[1] In general, good programming is considered to be the measured application of all three, with the goal of producing an efficient and evolvable software solution (the criteria for "efficient" and "evolvable" vary considerably). The discipline differs from many other technical professions in that programmers, in general, do not need to be licensed or pass any standardized (or governmentally regulated) certification tests in order to call themselves "programmers" or even "software engineers." However, representing oneself as a "Professional Software Engineer" without a license from an accredited institution is illegal in many parts of the world.[citation needed] However, because the discipline covers many areas, which may or may not include critical applications, it is debatable whether licensing is required for the profession as a whole. In most cases, the discipline is self-governed by the entities which require the programming, and sometimes very strict environments are defined (e.g. United States Air Force use of AdaCore and security clearance).

Another ongoing debate is the extent to which the programming language used in writing computer programs affects the form that the final program takes. This debate is analogous to that surrounding the Sapir-Whorf hypothesis [2] in linguistics, that postulates that a particular language's nature influences the habitual thought of its speakers. Different language patterns yield different patterns of thought. This idea challenges the possibility of representing the world perfectly with language, because it acknowledges that the mechanisms of any language condition the thoughts of its speaker community.

Said another way, programming is the craft of transforming requirements into something that a computer can execute.

[edit] History of programming
See also: History of programming languages

Wired plug board for an IBM 402 Accounting Machine.The concept of devices that operate following a pre-defined set of instructions traces back to Greek Mythology, notably Hephaestus, the Greek Blacksmith God, and his mechanical slaves.[3] The Antikythera mechanism from ancient Greece was a calculator utilizing gears of various sizes and configuration to determine its operation.[4] Al-Jazari built programmable Automata in 1206. One system employed in these devices was the use of pegs and cams placed into a wooden drum at specific locations. which would sequentially trigger levers that in turn operated percussion instruments. The output of this device was a small drummer playing various rhythms and drum patterns.[5][6] The Jacquard Loom, which Joseph Marie Jacquard developed in 1801, uses a series of pasteboard cards with holes punched in them. The hole pattern represented the pattern that the loom had to follow in weaving cloth. The loom could produce entirely different weaves using different sets of cards. Charles Babbage adopted the use of punched cards around 1830 to control his Analytical Engine. The synthesis of numerical calculation, predetermined operation and output, along with a way to organize and input instructions in a manner relatively easy for humans to conceive and produce, led to the modern development of computer programming. Development of computer programming accelerated through the Industrial Revolution.

In the late 1880s, Herman Hollerith invented the recording of data on a medium that could then be read by a machine. Prior uses of machine readable media, above, had been for control, not data. "After some initial trials with paper tape, he settled on punched cards..."[7] To process these punched cards, first known as "Hollerith cards" he invented the tabulator, and the keypunch machines. These three inventions were the foundation of the modern information processing industry. In 1896 he founded the Tabulating Machine Company (which later became the core of IBM). The addition of a control panel (plugboard) to his 1906 Type I Tabulator allowed it to do different jobs without having to be physically rebuilt. By the late 1940s, there were a variety of plug-board programmable machines, called unit record equipment, to perform data-processing tasks (card reading). Early computer programmers used plug-boards for the variety of complex calculations requested of the newly invented machines.


Data and instructions could be stored on external punched cards, which were kept in order and arranged in program decks.The invention of the von Neumann architecture allowed computer programs to be stored in computer memory. Early programs had to be painstakingly crafted using the instructions (elementary operations) of the particular machine, often in binary notation. Every model of computer would likely use different instructions (machine language) to do the same task. Later, assembly languages were developed that let the programmer specify each instruction in a text format, entering abbreviations for each operation code instead of a number and specifying addresses in symbolic form (e.g., ADD X, TOTAL). Entering a program in assembly language is usually more convenient, faster, and less prone to human error than using machine language, but because an assembly language is little more than a different notation for a machine language, any two machines with different instruction sets also have different assembly languages.

In 1954, FORTRAN was invented; it was the first high level programming language to have a functional implementation, as opposed to just a design on paper.[8][9] (A high-level language is, in very general terms, any programming language that allows the programmer to write programs in terms that are more abstract than assembly language instructions, i.e. at a level of abstraction "higher" than that of an assembly language.) It allowed programmers to specify calculations by entering a formula directly (e.g. Y = X*2 + 5*X + 9). The program text, or source, is converted into machine instructions using a special program called a compiler, which translates the FORTRAN program into machine language. In fact, the name FORTRAN stands for "Formula Translation". Many other languages were developed, including some for commercial programming, such as COBOL. Programs were mostly still entered using punched cards or paper tape. (See computer programming in the punch card era). By the late 1960s, data storage devices and computer terminals became inexpensive enough that programs could be created by typing directly into the computers. Text editors were developed that allowed changes and corrections to be made much more easily than with punched cards. (Usually, an error in punching a card meant that the card had to be discarded and an new one punched to replace it.)

As time has progressed, computers have made giant leaps in the area of processing power. This has brought about newer programming languages that are more abstracted from the underlying hardware. Although these high-level languages usually incur greater overhead, the increase in speed of modern computers has made the use of these languages much more practical than in the past. These increasingly abstracted languages typically are easier to learn and allow the programmer to develop applications much more efficiently and with less source code. However, high-level languages are still impractical for a few programs, such as those where low-level hardware control is necessary or where maximum processing speed is vital.

Throughout the second half of the twentieth century, programming was an attractive career in most developed countries. Some forms of programming have been increasingly subject to offshore outsourcing (importing software and services from other countries, usually at a lower wage), making programming career decisions in developed countries more complicated, while increasing economic opportunities in less developed areas. It is unclear how far this trend will continue and how deeply it will impact programmer wages and opportunities.

[edit] Modern programming
[edit] Quality requirements
Whatever the approach to software development may be, the final program must satisfy some fundamental properties. The following properties are among the most relevant:

Efficiency/performance: the amount of system resources a program consumes (processor time, memory space, slow devices such as disks, network bandwidth and to some extent even user interaction): the less, the better. This also includes correct disposal of some resources, such as cleaning up temporary files and lack of memory leaks.
Reliability: how often the results of a program are correct. This depends on conceptual correctness of algorithms, and minimization of programming mistakes, such as mistakes in resource management (e.g., buffer overflows and race conditions) and logic errors (such as division by zero or off-by-one errors).
Robustness: how well a program anticipates problems not due to programmer error. This includes situations such as incorrect, inappropriate or corrupt data, unavailability of needed resources such as memory, operating system services and network connections, and user error.
Usability: the ergonomics of a program: the ease with which a person can use the program for its intended purpose, or in some cases even unanticipated purposes. Such issues can make or break its success even regardless of other issues. This involves a wide range of textual, graphical and sometimes hardware elements that improve the clarity, intuitiveness, cohesiveness and completeness of a program's user interface.
Portability: the range of computer hardware and operating system platforms on which the source code of a program can be compiled/interpreted and run. This depends on differences in the programming facilities provided by the different platforms, including hardware and operating system resources, expected behaviour of the hardware and operating system, and availability of platform specific compilers (and sometimes libraries) for the language of the source code.
Maintainability: the ease with which a program can be modified by its present or future developers in order to make improvements or customizations, fix bugs and security holes, or adapt it to new environments. Good practices during initial development make the difference in this regard. This quality may not be directly apparent to the end user but it can significantly affect the fate of a program over the long term.
[edit] Algorithmic complexity
The academic field and the engineering practice of computer programming are both largely concerned with discovering and implementing the most efficient algorithms for a given class of problem. For this purpose, algorithms are classified into orders using so-called Big O notation, O(n), which expresses resource use, such as execution time or memory consumption, in terms of the size of an input. Expert programmers are familiar with a variety of well-established algorithms and their respective complexities and use this knowledge to choose algorithms that are best suited to the circumstances.

[edit] Methodologies
The first step in most formal software development projects is requirements analysis, followed by testing to determine value modeling, implementation, and failure elimination (debugging). There exist a lot of differing approaches for each of those tasks. One approach popular for requirements analysis is Use Case analysis.

Popular modeling techniques include Object-Oriented Analysis and Design (OOAD) and Model-Driven Architecture (MDA). The Unified Modeling Language (UML) is a notation used for both the OOAD and MDA.

A similar technique used for database design is Entity-Relationship Modeling (ER Modeling).

Implementation techniques include imperative languages (object-oriented or procedural), functional languages, and logic languages.

[edit] Measuring language usage
It is very difficult to determine what are the most popular of modern programming languages. Some languages are very popular for particular kinds of applications (e.g., COBOL is still strong in the corporate data center, often on large mainframes, FORTRAN in engineering applications, scripting languages in web development, and C in embedded applications), while some languages are regularly used to write many different kinds of applications.

Methods of measuring programming language popularity include: counting the number of job advertisements that mention the language,[10] the number of books teaching the language that are sold (this overestimates the importance of newer languages), and estimates of the number of existing lines of code written in the language (this underestimates the number of users of business languages such as COBOL).

[edit] Debugging

A bug, which was debugged in 1947.Debugging is a very important task in the software development process, because an incorrect program can have significant consequences for its users. Some languages are more prone to some kinds of faults because their specification does not require compilers to perform as much checking as other languages. Use of a static analysis tool can help detect some possible problems.

Debugging is often done with IDEs like Visual Studio, NetBeans, and Eclipse. Standalone debuggers like gdb are also used, and these often provide less of a visual environment, usually using a command line.

[edit] Programming languages
Main articles: Programming language and List of programming languages
Different programming languages support different styles of programming (called programming paradigms). The choice of language used is subject to many considerations, such as company policy, suitability to task, availability of third-party packages, or individual preference. Ideally, the programming language best suited for the task at hand will be selected. Trade-offs from this ideal involve finding enough programmers who know the language to build a team, the availability of compilers for that language, and the efficiency with which programs written in a given language execute.

Allen Downey, in his book How To Think Like A Computer Scientist, writes:

The details look different in different languages, but a few basic instructions appear in just about every language:
input: Get data from the keyboard, a file, or some other device.
output: Display data on the screen or send data to a file or other device.
arithmetic: Perform basic arithmetical operations like addition and multiplication.
conditional execution: Check for certain conditions and execute the appropriate sequence of statements.
repetition: Perform some action repeatedly, usually with some variation.
Many computer languages provide a mechanism to call functions provided by libraries. Provided the functions in a library follow the appropriate run time conventions (e.g., method of passing arguments), then these functions may be written in any other language.

Sunday, July 18, 2010




Computer Networking Components


The Computer Networking Components are those devices that mediate the data in a computer network. The Computer Networking Components are also referred as Networking Devices or Network Equipments.




The Computer Networking Components are the Inter Working Unit or Intermediate Systems. There are data terminal equipments of networking that are responsible for receiving or generating data.
Computer Networking is the well defined communication between various computer systems using the Computer Networking Components. There are two or more systems that are being networked. Sometimes networking is also done between a computer and other devices like printer, scanner etc. The Computer Networking Components connects these devices with the system.
Some of the Computer Networking Components are:
Router: This networking device is specialized for determining the next networking point where the data packet is forwarded toward its destination. Different protocols can't be interfaced through a router.
Gateway: This device is placed at the network node. Its function is to interface other network that uses protocols.


Bridge Networking Device: For connecting data link layer and multiple network segments the bridge is used.
Switch for Networking: to allocate the traffic from one network to certain destinations the Switches are used. It splits the network traffic to send it to different lines. There are also Multilayer Switches, which provides functionality at the higher protocol layers.
Hub: These are used for connecting multiple Ethernet segments and make them act like a single segment.


The other devices which are equally important for Computer Networking are Repeater, protocol converter, brouter, proxy, firewall, multiplexer, modem, ISDN terminal adapter, and line driver.

Saturday, July 17, 2010



Computer Software


Overview of Computer Software


Computer software is made up of computer related programs and applications. Unlike hardware, computer software is designed to operate in accordance with the required task.

google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);
Hardware’s operation is restricted and it cannot be used to perform use-specific task. Application software, system software like operating systems, middleware, distributed systems and many other computer related applications fall under the purview of computer software. Sometimes the domain electronic media content is also termed as software. Varieties of Computer SoftwareComputer software comes with many different forms. Broadly the entire computer software system can be categorized as programming software, system software and application software. System software is the most useful form of computer software. It is used to drive the whole network of hardware and software present in all computer systems. Device drivers, servers, windowing systems, diagnostic tools, utilities and many other computer related devices are managed by the system software.
Programming software is useful in designing computer programs. This software tool can efficiently handle diverse range of programming languages. Compilers, interpreters, debuggers and text editors are some of the most widely used programming software. Non-computer related tasks associated with computer system are controlled by the application software. Business software, medical software, databases, industrial automation, data bases are the commonly used application software.