You are on page 1of 35

Computer Software Definition

http://www.openprojects.org/software-definition.htm

Software is a generic term for organized collections of computer data and instructions, often broken into two major categories: system software that provides the basic nontask-specific functions of the computer, and application software which is used by users to accomplish specific tasks. System software is responsible for controlling, integrating, and managing the individual hardware components of a computer system so that other software and the users of the system see it as a functional unit without having to be concerned with the low-level details such as transferring data from memory to disk, or rendering text onto a display. Generally, system software consists of an operating system and some fundamental utilities such as disk formatters, file managers, display managers, text editors, user authentication (login) and management tools, and networking and device control software. Application software, on the other hand, is used to accomplish specific tasks other than just running the computer system. Application software may consist of a single program, such as an image viewer; a small collection of programs (often called a software package) that work closely together to accomplish a task, such as a spreadsheet or text processing system; a larger collection (often called a software suite) of related but independent programs and packages that have a common user interface or shared data format, such as Microsoft Office, which consists of closely integrated word processor, spreadsheet, database, etc.; or a software system, such as a database management system, which is a collection of fundamental programs that may provide some service to a variety of other independent applications. Software is created with programming languages and related utilities, which may come in several of the above forms: single programs like script interpreters, packages containing a compiler, linker, and other tools; and large suites (often called Integrated Development Environments) that include editors, debuggers, and other tools for multiple languages.

Software
From Wikipedia, the free encyclopedia

For other uses, see Software (disambiguation).

A software engineer programming for the Wikimedia Foundation

Computer software, or just software, is any set of machine-readable instructions (most often in the form of a computer program) that directs a computer's processor to perform specific operations. The term is used to contrast with computer hardware, the physical objects (processor and related devices) that carry out the instructions. Hardware and software require each other; neither has any value without the other. Firmware is software that has been permanently stored in hardware (specifically in non-volatile memory). It thus has qualities of both software and hardware. Software is a general term. It can refer to all computer instructions in general or to any specific set of computer instructions. It is inclusive of both machine instructions (the binary code that the processor understands) and source code(more human-understandable instructions that must be rendered into machine code by compilers or interpreters before being executed). On most computer platforms, software can be grouped into a few broad categories:

System software is the basic software needed for a computer to operate (most notably the operating system).

Application software is all the software that uses the computer system to perform useful work beyond the operation of the computer itself.

Embedded software resides as firmware within embedded systems, devices dedicated to a single use. In that context there is no clear distinction between the system and application software.

Software refers to one or more computer programs and data held in the storage of the computer. In other words, software is a set ofprograms, procedures, algorithms and its documentation concerned with the operation of a data processing system. Program software performs the function of the program it implements, either by directly providing instructions to the digital electronics or by serving as input to another piece of software. The term was coined to contrast to the term hardware (meaning physical devices). In contrast to hardware, software "cannot be touched".[1] Software is also sometimes used in a more narrow sense,

meaning application softwareonly. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.[2] Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, executable code consists of machine language instructions specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Programs are an ordered sequence of instructions for changing the state of the computer in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonicrepresentation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.

History
The first theory about software was proposed by Alan Turing in his 1935 essay Computable numbers with [3] an application to the Entscheidungsproblem (decision problem) . Colloquially, the term is often used to mean application software. In computer science and software engineering, software is all information processed by computer system, programs and data. The academic fields studying software are computer science and software engineering. As more and more programs enter the realm of firmware, and the hardware itself becomes smaller, cheaper and faster as predicted byMoore's law, elements of computing first considered to be software, join the ranks of hardware. Most hardware companies today have more software programmers on the [citation needed] payroll than hardware designers , since software tools have automated many tasks ofPrinted circuit board engineers. Just like the Auto industry, the Software industry has grown from a few visionaries operating out of their garage with prototypes. Steve Jobs and Bill Gates were the Henry [citation needed] Ford and Louis Chevrolet of their times , who capitalized on ideas already commonly known before they started in the business. In the case of Software development, this moment is generally agreed to be the publication in the 1980s of the specifications for the IBM Personal Computer published by IBM employeePhilip Don Estridge. Today his move would be seen as a type of crowd-sourcing. Computer hardware companies not only bundled their software, they also placed demands on the location of the hardware in a refrigerated space called a computer room. Until that time, software was bundled with the hardware by Original equipment manufacturers (OEMs) [citation needed] such as Data General, Digital Equipment and IBM . When a customer bought a minicomputer, at that time the smallest computer on the market, the computer did not come with Pre-installed software, but needed to be installed by engineers employed by the OEM. Computer hardware companies not only bundled their software, they also placed demands on the location of the hardware in a refrigerated space called acomputer room. Most companies had their software on the books for 0 dollars, unable to claim it as an asset (this is similar to financing of popular music in those days). When Data General introduced the Data General Nova, a company called Digidyne wanted to use itsRDOS operating system on its

own hardware clone. Data General refused to license their software (which was hard to do, since it was on the books as a free asset), and claimed their "bundling rights". The Supreme Court set a precedent called Digidyne v. Data General in 1985. The Supreme Court let a 9th circuit decision stand, and Data General was eventually forced into licensing the Operating System software because it was ruled that [4] restricting the license to only DG hardware was an illegal tying arrangement. Unable to sustain the loss from lawyer's fees, Data General ended up being taken over by EMC Corporation. The Supreme Court decision made it possible to value software, and also purchase Software patents. There are many successful companies today that sell only software products, though there are still many common software licensing problems due to the complexity of designs and poor documentation, leading to patent trolls. With open software specifications and the possibility of software licensing, new opportunities arose for software tools that then became the de facto standard, such as DOS for operating systems, but also various proprietary word processing and spreadsheet programs. In a similar growth pattern, proprietary development methods became standard Software development methodology.

Types of software[edit]

A layer structure showing where theoperating system software and application software are situated while running on a typical desktop computer

Software includes all the various forms and roles that digitally stored data may have and play in a computer (or similar system), regardless of whether the data is used as code for a CPU, or other interpreter, or whether it represents other kinds of information. Software thus encompasses a wide array of products that may be developed using different techniques such as ordinary programming languages, scripting languages, microcode, or an FPGAconfiguration.

The types of software include web pages developed in languages and frameworks like PHP,Perl, JSP or ASP.NET and desktop applications like OpenOffice.org, Microsoft Worddeveloped in languages like C, C++, Objective-C, Java, C#, or Smalltalk. Application software usually runs on an underlying software operating systems such as Linux orMicrosoft Windows. Software (or firmware) is also used in video games and for the configurable parts of the logic systems of automobiles, televisions, and other consumer electronics. Practical computer systems divide software systems into three major classes :system software, programming software and application software, although the distinction is arbitrary, and often blurred.
[citation needed]

System software[edit]
Main article: System software System software is computer software designed to operate the computer hardware, to provide basic [5] functionality, and to provide a platform for running application software. System software includes device drivers, operating systems, servers, utilities, and window systems. System software is responsible for managing a variety of independent hardware components, so that they can work together harmoniously. Its purpose is to unburden the application software programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner.

Programming software[edit]
Main article: Programming tool Programming software include tools in the form of programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs such as compilers, debuggers,interpreters, linkers, and text editors, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. Programming tools are intended to assist a programmer in writing computer programs, and they may be combined in an integrated development environment (IDE) to more easily manage all of these functions.

Software topics[edit]
Architecture[edit]
See also: Software architecture Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers and supercomputers) usually see three layers of software performing a variety of tasks: platform, application, and user software. Platform software: Platform includes the firmware, device drivers, an operating system, and typically a graphical user interfacewhich, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software.

Application software: Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are usually independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications. User-written software: End-user development tailors systems to meet users' specific needs. User software include spreadsheet templates and word processor templates. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into default application packages, many users may not be aware of the distinction between the original packages, and what has been added by co-workers.

Execution[edit]
Main article: Execution (computing) Computer software has to be "loaded" into the computer's storage (such as the hard drive or memory). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation moving data, carrying out a computation, or altering the control flow of instructions. Data movement is typically from one place in memory to another. Sometimes it involves moving data between memory and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is sometimes avoided by using "pointers" to data instead. Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together.

Quality and reliability[edit]


Main articles: Software quality, Software testing, and Software reliability Software quality is very important, especially for commercial and system software like Microsoft Office, Microsoft Windows and Linux. If software is faulty (buggy), it can delete a person's work, crash the computer and do other unexpected things. Faults and errors are called "bugs." Many bugs are discovered and eliminated (debugged) through software testing. However, software testing rarely if ever eliminates every bug; some programmers say that "every program has at least one more bug" (Lubarsky's Law). All major software companies, such as Microsoft, Novell and Sun Microsystems, have their own software testing departments with the specific goal of just testing. Software can be tested through unit testing, regression testing and other methods, which are done manually, or most commonly, automatically, since the amount of code to be tested can be quite large. For instance, NASA has extremely rigorous software testing procedures for many operating systems and communication functions. Many NASA based operations interact and identify each other through command programs called software. This enables many people who work at NASA to check and evaluate functional systems overall. Programs containing command software enable hardware engineering and system operations to function much easier together.

License[edit]
Main article: Software license The software's license gives the user the right to use the software in the licensed environment. Some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. Other software comes with a free software license, granting the recipient the rights to modify and redistribute the software. Software can also be in the form of freeware or shareware.

Patents[edit]
Main articles: Software patent and Software patent debate Software can be patented in some but not all countries; however, software patents can be controversial in the software industry with many people holding different views about it. The controversy over software patents is about specific algorithms or techniques that the software contains, which may not be duplicated by others and considered intellectual property and copyright infringement depending on the severity.

Design and implementation[edit]

A particular implementation of software. This software was created to assist the Wikipedia website. Also, it does not use agraphical user interface aside from a simple console window.

Main articles: Software development, Computer programming, and Software engineering Design and implementation of software varies depending on the complexity of the software. For instance, design and creation of Microsoft Word software will take much more time than designing and developing Microsoft Notepad because of the difference in functionalities in each one. Software is usually designed and created (coded/written/programmed) in integrated development environments (IDE) like Eclipse, Emacs and Microsoft Visual Studio that can simplify the process and compile the program. As noted in different section, software is usually created on top of existing software and the application programming interface (API) that the underlying software provides like GTK+, JavaBeans or Swing. Libraries (APIs) are categorized for different purposes. For instance, JavaBeans library is used for designingenterprise applications, Windows Forms library is used for designing graphical user interface (GUI) applications like Microsoft Word, and Windows Communication Foundation is used for designing web services. Underlying computer programming concepts like quicksort, hash table, array, and binary tree can be useful to creating software. When a program is designed, it relies on the API. For instance, if a user is designing a Microsoft

Windows desktop application, he/she might use the .NET Windows Forms library to design the desktop [6] application and call its APIs like Form1.Close()and Form1.Show() to close or open the application and write the additional operations him/herself that it need to have. Without these APIs, the programmer needs to write these APIs him/herself. Companies like Sun Microsystems, Novell, and Microsoft provide their own APIs so that many applications are written using their software libraries that usually have numerous APIs in them. Computer software has special economic characteristics that make its design, creation, and distribution [specify][7][8] different from most other economic goods. A person who creates software is called a programmer, software engineer or software developer, terms that all have a similar meaning.

Industry and organizations[edit]


Main article: Software industry A great variety of software companies and programmers in the world comprise a software industry. Software can be quite a profitable industry: Bill Gates, the founder of Microsoft was the richest person in the world in 2009 largely by selling the Microsoft Windows andMicrosoft Office software products. The same goes for Larry Ellison, largely through his Oracle database software. Through time the software industry has become increasingly specialized. Non-profit software organizations include the Free Software Foundation, GNU Project and Mozilla Foundation. Software standard organizations like the W3C, IETF develop software standards so that most software can interoperate through standards such as XML,HTML, HTTP or FTP. Other well-known large software companies include Novell, SAP, Symantec, Adobe Systems, and Corel, while small companies often provide innovation.

http://www.webopedia.com/TERM/S/software.html
Software means computer instructions or data. Anything that can be storedelectronically is software, in contrast to storage devices and display devices which are called hardware. The terms software and hardware are used as both nouns and adjectives. For example, you can say: "The problem lies in the software," meaning that there is a problem with the program or data, not with the computer itself. You can also say: "It's a software problem." The distinction between software and hardware is sometimes confusing because they are so integrally linked. Clearly, when you purchase a program, you are buying software. But to buy the software, you need to buy the disk(hardware) on which the software is recorded.

Categories of Software

Software is often divided into two categories. Systems software includes theoperating system and all the utilities that enable the computer to function.Applications software includes programs that do real work for users. For example, word processors, spreadsheets, and database management systems fall under the category of applications software.

Hardware vs Software

http://www.diffen.com/difference/Hardware_ vs_Software
Diffen Technology Computers Software is a general term used to describe a collection of computer programs, procedures, and documentation that perform some task on a computer system. Practical computer systems divide software systems into three major classes: system software, programming software, and application software, although the distinction is arbitrary and often blurred. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and moreefficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Hardware is best described as a device that is physically connected to the computer or something that can be physically touched. A CD-ROM, monitor, printer, and video card are all examples of computer hardware. Without any hardware your computer would not exist and software would have nothing to run on. It is the physical part of a computer, including the digital circuitry, as distinguished from the computer software that executes within the hardware. There are several differences between computer hardware and software.

Comparison chart</> EMBED THIS CHART

Hardware
Definition: Devices that are required to store and execute (or run) the software.

Software
Collection of instructions that enables a user to interact with the computer. Software is a program that enables a computer to perform a specific task, as opposed to the physical components of the system (hardware).

Types:

Input,storage,processing,control, and output devices.

System software, Programmingsoftware, and

Hardware

Software
Application software.

Examples:

CD-ROM, monitor, printer, video card, scanners , label makers, routers , and modems.

Quickbooks, Adobe Acrobat, Winoms-Cs, Internet Explorer , Microsoft Word , Microsoft Excel

Function:

Hardware serve as the delivery system for software solutions. The hardware of a computer is infrequently changed, in comparison with software and data, which are soft in the sense that they are readily created, modified, or erased on the comput

To perform the specific task you need to complete. Software is generally not needed to for the hardware to perform its basic level tasks such as turning on and reponding to input.

Inter dependency:

Hardware starts functioning once software is loaded.

To deliver its set of instructions, Software is installed on hardware.

Failure:

Hardware failure is random. Hardware does have increasing failure at the last stage.

Software failure is systematic. Software does not have an increasing failure rate.

Durability:

Hardware wears out over time.

Software does not wear out over time. However, bugs are discovered in software as time passes.

Nature:

Hardware is physical in nature.

Software is logical in nature.

Type
Hardware is a physical device something that youre able to touch and see. For example, the computer monitor youre viewing this text on or the mouse youre using to navigate is considered computer hardware. Software is aprogram that enables a computer to perform a specific task, as opposed to the physical components of the system (hardware).

Function
Software performs the specific task that requires completion by giving the ordered set of instructions to complete it. Hardware serve as the delivery system for software solutions.

Examples
Examples of Hardware types include a CD-ROM, monitor, printer, video card etc. While some examples of software can be Internet Explorer, Windows etc.

Interdependancy
Hardware cannot function till software is loaded and software is installed in hardware to set the programs in action.

Firewalls
Firewalls can be both for Hardware and Software. The most popular firewall choice is a software firewall which areinstalled on the computer (like any software) and can be customized and allow control over its function and protection features. Hardware firewalls are typically found in broadband routers.

Changes
The hardware of a computer is infrequently changed, in comparison with software and data, which are soft in the sense that they are readily created, modified, or erased on the computer. With technological changes, software changes take place faster than hardware changes. Hardware and software work together in digital devices and systems to provide computerized functionality. Hardware includes the physical components, such as the motherboard, chips, memory, and hard drives, while software includes the programs that run on the hardware. Ergo, a computer is hardware, while an operating system such as Microsoft XP is the software that makes the hardware functional. Though hardware and software are most often associated with computers, software also runs on other hardware, such as cell phones, Global Positioning Satellite (GPS) units, medical equipment, and air traffic control system. Without any type of software the computer would be useless. For example, one wouldnt be able to interact with the computer without a software Operating System.

HARDWARE

http://pcsupport.about.com/od/termshm/g/hardware.htm
Definition: Hardware, in the computer world, refers to the physical components that make up a computer system. There are many different kinds of hardware that can be installed inside, and connected to the outside, of a computer. Take a tour inside your PC to learn how all the hardware in your computer connects together to create the complete computer system you use everyday. Here are some common individual computer hardware components that you'll often find inside a modern computer case:

Motherboard Central Processing Unit (CPU) Random Access Memory (RAM) Power Supply Video Card Hard Drive (HDD) Solid-State Drive (SSD) Optical Drive (e.g. BD/DVD/CD drive) Card Reader (SD/SDHC, CF, etc.)

Here is some common hardware that you might find connected to the outside of a computer:

Monitor Keyboard Mouse Battery Backup (UPS) Printer Speakers

Here is some less common computer hardware, either because these pieces are now usually integrated into other devices or because they've been replaced with newer technology:

Sound Card Network Interface Card (NIC) Expansion Card (Firewire, USB, Thunderbolt, etc.) Hard Drive Controller Card Analog Modem Scanner Floppy Disk Drive Joystick Webcam Microphone Tape Drive Zip Drive

The following hardware is referred to as network hardware and various pieces are often part of a home or business network:

Digital Modem (e.g. Cable Modem, DSL Modem, etc.) Router Network Switch Access Point Repeater Bridge Print Server Firewall

Network hardware isn't as clearly defined as some other types of computer hardware. For example, many home routers will often act as a combination router, switch, and firewall. In addition to all the items listed above, there's more computer hardware that I like to call auxiliary hardware, of which a computer might have none, or several, of some kinds:

Fan (CPU, GPU, Case, etc.) Heat Sink Data Cable Power Cable CMOS Battery

Daughterboard In Microsoft Windows, hardware resources are managed by Device Manager.

Types of computer hardware


Contents
[hide]

1 Hardware 2 Introduction to Motherboard 3 Ports

o o o o o o

3.1 Serial 3.2 PS/2 3.3 Parallel 3.4 SCSI 3.5 USB 3.6 Firewire

4 Slots

o o o o

4.1 Graphics card 4.2 Sound card 4.3 Network Interface Cards (NICs) 4.4 PC Card

This is a lesson in in the course Introduction to Computers, which is a part of The School of Computer Science

Hardware [edit]
http://en.wikiversity.org/wiki/Types_of_computer_hardware

Inside a personal computer: 1. Monitor. 2. Motherboard. 3. CPU (Microprocessor). 4. Main memory (RAM). 5. Expansion cards. 6. Power supply unit. 7. Optical disc drive. 8. Hard disk drive (HDD). 9. Keyboard. 10. Mouse.

Hardware refers to the physical elements of a computer. Also referred to as the machinery or the equipment of the computer. Examples of hardware in a computer are the keyboard, the monitor, the mouse and the processing unit However, most of a computer's hardware cannot be seen; It's inside the computer case. I/O lets the computer talk with the world around it. Sometimes its necessary to add functionality to a computer to keep it up to date, or make it better. The amount of I/O a computer has can be changed, by adding expansion cards that support I/O. A graphics card can be added to a computer to let it talk with a display, or a

WiFi card can be added, which will let a computer talk to other computers without a connecting wire. Sometimes funcionality can be added through a universal port, a port that supports multiple kinds of I/O. USB, FireWire, and Thunderbolt (Types of I/O) support muliple data types. Your keyboard, mouse, and monitor all connect to a computer's I/O. CPUs or processors perform computations. They do the math for your calculator application, they compare the size of numbers; people have likened the CPU to the "brain" of a computer. Memory is what allows a computer to remember things. Similar to human memory, there's long term memory (a hard disc or optical media (like a CD)) and short term memory (RAM). When a computer is turned off, it forgets everything in the RAM, so the computer saves everything it knows it will need later on in the long term memory. The short term memory is easier to use because it can do I/O faster, so when a data is needed by the CPU, it's sent from the hard disk drive (HDD) to the RAM. The short term memory lives on RAM, while the long term memory is in the hard disk drive (HDD). Optical disks let you change certain parts of the memory, it's kind of like having a book or notebook that you might read and get information from. The motherboard is a piece of hardware that makes connections in the right places between all of the other components in a computer. It tells data where it should go. When the CPU is finished processing some data, it might say to the CPU, ok, put this in the HDD, and the motherboard will figure out where the HDD is and send the data there.

Introduction to Motherboard [edit]


A motherboard is an electronic circuit board in a computer which interconnects hardware devices attached to it. At a minimum it includes one or more Central processing units, and the main processing activity of the computer takes place on it. However, other connected printed circuit boards may contain their own preprocessing or post-processing CPUs, to take some of the load off of the motherboard; these, together with other plug-in boards without CPUs, may be called "daughter boards." It was called a "mother" board in relation to these. A PC motherboard may have a series of sockets, allowing daughter boards to be plugged in directly. Other connectors on the motherboard allow communication through cables with various peripheral devices, both inside and outside the computer case.

Ports [edit]
Ports are used by a motherboard to interface with electronics both inside and outside of the computer.

Serial [edit]
An outdated piece of technology, serial ports were most often used to connect the mouse. By circa 2000, most personal computers stopped relying on serial ports and were replaced by PS/2 and/or USB ports.

An example of a serial port

PS/2 [edit]
PS/2 ports (now outdated) were for connecting peripherals such as your keyboard and mouse to the computer. PS/2 based mice and keyboards have now been replaced by USB ports as the popular standard. This trend for USB over PS/2 started in circa 2004.

Parallel [edit]
Parallel ports are used to connect other peripherals such as joysticks, and more commonly, printers. Similar to the serial port, this technology is slowly being phased out in favour of USB. Parallel ports can still be found in many motherboards today.

SCSI [edit]
Pronounced "scuzzy", this was used primarily as a connection interface for tape drives and hard disk drives. SCSI has been superseded in favour of newer and cheaper technologies such as USB and Firewire.

USB [edit]
Universal Serial Bus (USB*) is a connectivity specification, currently at version 3, and known as "hi-speed USB". USB is one of the most successful interconnect in computing history. It operates at 480 Mbps and can be found in over 2 billion PC, CE, and mobile devices. USB has strong consumer brand recognition and a reputation for ease-of-use. The next generation of USB, known as "super-speed USB", is capable of transferring data as speeds 10 times that of hi-speed USB (Thats a whopping 4.8 Gb/s!).

Firewire [edit]
Technically known as the IEEE 1394 interface, but dubbed by Apple as Firewire, this connection medium hoped to surpass USB in terms of speed and popularity. While it did outperform USB v2 in speed tests, uptake was very limited due to the existing widespread use of USB.

Slots [edit]
Slots are an opening in a computer where a circuit board can be inserted to add new capabilities. All personal computers contain expansion slots for adding more memory, graphics capabilities, and support for special devices. Expansion slots come in different flavours, which will be described below. An alternative explanation for expansion slots can be found here.

Graphics card [edit]

Graphics Card

Graphic cards- are also called video card's or a video adapter. They are in all PCs. Graphic cards convert signals into video signals so the images can be displayed on the monitor. While many graphics cards are built into the motherboard these days, enthusiasts will invest in standalone graphics cards with stronger and more powerful processing capabilities. This allows for heavy image editing, or better rendering and framerates in computer games. Graphics cards are designed to offload rendering from the CPU. Graphics cards are powered by the motherboard and require a PCIX or PCIX 2.0 slot to install. Some cards require more power and thus will need a 6-8 pin connector that runs directly to the power supply. Graphics cards also include on board memory for efficient rendering. Typical sizes include 128-1024mb of memory. Today, high end graphics cards have multiple core processors that are largely parallel to increase texture fill and process more 3D objects in real time. Graphics Card on Wikipedia

Sound card [edit]

Close-up of a Sound Card

A sound card, also referred to as an audio card facilitates the input and output of audio signals to and from a computer under the control of computer programs. Sound cards for computers were uncommon until 1988, which left the single internal PC speaker as the only way early PC software could produce sound and music. Uses of a sound card include the audio component's for multimedia applications such as games, video/audio editing software and music composition. Most computers today have sound capabilities built into the motherboard, while others require additional expansion cards. Sound Card on Wikipedia.

Network Interface Cards (NICs) [edit]

Network Interface Card

Network Interface Cards can be a network card, network adapter, LAN Adapter or NIC (network interface card). They are a piece of computer hardware designed to allow computers to communicate over a computer network. Used for remote communication via cable. Data is transmitted over a cable network. The NIC connects computers and other devices such as printers. Many modern motherboards have NICs built in by default. NICs on Wikipedia

PC Card [edit]
A PC Card (originally PCMCIA Card) is a device that uses a specific peripheral interface designed for laptop computers.

Computer Hardware Definition


http://www.openprojects.org/hardware-definition.htm

Hardware is a comprehensive term for all of the physical parts of a computer, as distinguished from the data it contains or operates on, and the software that provides instructions for the hardware to acoomplish tasks. The boundary between hardware and software is slightly blurry - firmware is software that is "built-in" to the hardware, but such firmware is usually the province of computer programmers and computer engineers in any case and not an issue that computer users need to concern themselves with. A typical computer (Personal Computer, PC) contains in a desktop or tower case the following parts:

Motherboard which holds the CPU, main memory and other parts, and has slots for expansion cards power supply - a case that holds a transformer, voltage control and fan storage controllers, of IDE, SCSI or other type, that control hard disk , floppy disk, CD-ROM and other drives; the controllers sit directly on the motherboard (on-board) or on expansion cards graphics controller that produces the output for the monitor the hard disk, floppy disk and other drives for mass storage interface controllers (parallel, serial, USB, Firewire) to connect the computer to external peripheral devices such as printers or scanners

Peopleware
From Wikipedia, the free encyclopedia

For the book, see Peopleware: Productive Projects and Teams. Peopleware is a term used to refer to one of the three core aspects of computer technology, the other two being hardware andsoftware. Peopleware can refer to anything that has to do with the role of people in the development or use of computer software and hardware systems, including such issues as developer productivity, teamwork, group dynamics, the psychology of programming, project management, organizational factors, human interface design, and human-machine-interaction.[1]

Overview [edit]
The concept of peopleware in the software community covers a variety of aspects:[2]

Development of productive persons Organizational culture Organizational learning Development of productive teams, and Modeling of human competencies.

History [edit]
The neologism, first used by Peter G. Neumann in 1977 [3] and independently coined by Meilir Page-Jones in 1980, [4] was popularized in the 1987 book Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister. [5] The term "Peopleware" also became the title and subject matter of a long-running series of columns by Larry Constantine in Software Development magazine, later compiled in book form.[6]

References

Peopleware

http://www.techopedia.com/definition/5545/p eopleware
Definition - What does Peopleware mean? Peopleware refers to the human role in an IT system. In many cases, peopleware forms a kind of "conceptual triangle" with hardware and software. The term refers to human talent as a kind of commodified piece of an IT process and a key part of providing various technical business models and other planning resources. Techopedia explains Peopleware Examples of peopleware include various job roles that are commonly understood as parts of an IT process. These include computer engineers, website designers, technicians and other IT specialists, such as database administrators or networking specialists. Those who are classified under the broad umbrella of peopleware typically hold key certifications in these and other areas of IT specialization.

The use of the term peopleware has led to a vibrant debate about how companies view human talent. Many individual IT specialists, bloggers and others see this type of classification as demeaning, and argue that human workers are not resources but independent parts of a team structure. As such, classifying professionals as peopleware promotes a simplification that can be harmful to corporate relationships. This issue is likely to become more prevalent in IT as corporate cultures often clash with the interests of independent knowledge workers who hold the kinds of talent that businesses need to achieve their goals.

Posted by: Cory Janssen

http://www.blurtit.com/q5038987.html There are no types of Peopleware per se, moreover, Peopleware is one of the three core aspects of computer technology, the other two being hardware and software. So, altogether, the list looks like this: Peopleware Software Hardware Peopleware refers to anything that is relevant in the role of people when developing or using computer software, including teamwork, the psychology of programming, developer productivity, group dynamics, organizational factors, project management, human interface design, and human-machine-interaction. The phrase is known as a 'neogilism', and was first used by Peter G. Neumann in 1977, and independently coined by Meilir Page-Jones in 1980, and was popularized in the book Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister in 1987.

The Three Types of Computer User


I think nearly all computer users can be divided into three broad categories based on the way they think about computers. The vast majority of computer users are application-oriented. They have training and experience exclusively with commercial software. They understand concepts peculiar to computers such as files, folders, saving, and deleting. They live in a WYSIWYG world; although they may be aware that what they see on the screen is not an entirely accurate representation of what the computer is actually doing, they are not interested in understanding hidden implementations. They have learned how to

map their thinking onto the capabilities of the applications they regularly use, and they accept whatever limitations that thinking may impose. They are pragmatic, learning as much as they need to get their work done. A new problem requires a new piece of software. Spreadsheet programmers fall into this category, as may some programmers who work primarily with application scripting tools such as Microsoft Visual Basic for Applications. Nearly all commercial software is targeted at this group of users, who can be considered computer-literate. The second largest group consists of goal-oriented users. These users focus exclusively on the goals they want to accomplish and neither understand nor care about the software they use to accomplish those goals. This could be called the I just want to type a letter group. They only see the final product. They do not care about, for example, the difference between a word processor document and a PDF image of that same document, so they do not understand why they can make textual edits to one and not the other. They could be described as computer-illiterate, even if they work with computers on a regular basis. Many very intelligent people, scientists and scholars, fall into this category. They are frustrated by the limitations of the software they use because they do not understand the reasons for those limitations. Though they may use common terms such as files, they typically map those concepts onto their real-world metaphorical analogues, resulting in confusion. (Why cant I keep this picture in my email file?) The third and smallest group of computer users ironically, the original computer users is comprised of hackers. Hackers are computer-oriented computer users. They have learned how to think like a computer, to understand the processes the computer goes through. They favor small tools (e.g. the command line, shell scripts) over large applications because they want to be in precise control of what the computer is doing at all times. They comfortably work with data in raw formats such as text files. This does not necessarily mean they are tied down with minutiae of implementation; often they can work at much higher levels of abstraction than other users. Hackers tend to seek out the abstract patterns inherent in whatever end result they are working towards, then implement those patterns in the computer. A new problem rarely requires new tools, merely a new application of existing tools. They will create whatever new tools are needed to bring the computer up to the level of the problem, rather than trying to adapt the problem to fit the computer. On the other hand, their solutions tend to be brittle, with a lot of exposed complexity that makes them unsuitable for non-hacker users. Nearly all commercial software is application-oriented, while most open-source software is hackeroriented. Very little software, in my experience, is truly goal-oriented.

Types of computer users


http://www.paulmarc.org/fun/text/computers-technology/types-computer-users
You have three types of computer users: Novice, Intermediate and Expert.

Novice Users: People who are afraid that by simply pressing a key, they might break their computer. Intermediate Users: People who don't know how to fix their computer after they've just pressed a key that broke it. Expert Users: People who press the keys that break other people's computers.

Types of computer users

http://stuartsierra.com/2006/07/12/the-threetypes-of-computer-user
Coder The user who codes scripts or programs usually for fun or learning. Sometimes for for malicious purposes.

Cracker Someone who retrieves and cracks password hashes or the limitation of non-free software.

eWriter Writes tutorials or text files for online viewing/sharing.

Gamer Dedicated fan of computer games who plays them for fun or a sense of accomplishment over others. They also take gaming real seriously.

H4x0r Knows interesting facts about computers but does not know a lot or has less experience. The hacker in self-training. Many regard this user type as a n00b posing as a hacker.

Script Kiddie Steals scripts made by coders and posts/uses them for malicious/selfish purposes

n00b Young or new user to the online world struggling to find their proper user type. They may in the meantime pose as different user types like gamers or hackers.

Hacker The user that knows a lot about computing and uses this knowledge to manipulate the computer in ways that is was not intended. Hackers may write code, viruses, and crack passwords or software.

Leecher The user who searches sites for free downloads of software or other files. The leecher may then sell it or re-post it.

Pawn Un-Distracted person who uses the computer and internet mainly for their work.

Penny-Flasher The user who mainly plays free flash games on the internet.

Imager User who browses through images, icons, themes, and other eye-candy for the interface.

Virus Writer A form of coder who writes viruses and other malicious code as a form of art.

Office-Freak User who uses the computer mainly for work on an office-suite (Microsoft Office, Open Office). See Pawn.

Social-Networker User who mainly uses the net to access social-networking sites, chatrooms, and maybe email for online communication.

Self-Broadcaster User who uploads video media to broadcast themselves, make tutorials, or even share music.

Blogger Updates and posts on blogs. See Social-Networker.

Forum-Member Dedicated member of a forum who makes updates and posts regularly for the rest of the members. See Social-Networker.

Pirate Cracks and/or distributes cracked software.

Artist Creates and uploads images, icons, or other media to enhance or personalize the look of the interface. (Find them on DevianArt).

Programmer Not exactly the same as the coder but still codes. Programmers create GUI Programs that makes a particular process faster, more productive, or even possible. They distribute their programs for rep or profit or for reference of code.

Tweaker Tweaks the settings, configuration, and the look and performance of their own OS and/or hardware to fit their need.

Answer
http://www.computerhope.com/issues/ch000764.htm

Notice: Computer Hope is not hiring for any of these positions. When jobs are made available they will be posted on our hiring page.

Below is short listing of different computer related jobs in the industry. This list was created for users who enjoy computers but are uncertain about what field to enter. In the below list we have described each of the jobs, the requirements, and recommendations what to do if you're interested in the job. If you're looking for the average pay or the highest paying jobs in the computer industry, this document does not contain that information because of the wide variety of salaries depending on the company and its location. However, it's safe to assume that with the increased difficulty and experience required for a job, the higher you'd get paid. If you're looking for a pay range, refer to your your local listings (newspaper), or job listings for pay grades. If you're looking for your first job in the computer industry or just want to get your foot in the door, we suggest looking at Data Entry, Sales,Quality Assurance (QA), or Technical Support jobs. The qualifications and requirements for these jobs vary, so it's best to refer to your local listings (newspaper), or job listing for available positions and the requirements.

Job quick links


3D Animation or Graphic design Customer service Data Entry Database Electronics technician or engineer Engineer Hardware Networking or System Administrator Programmer or Software developer Quality Assurance (QA), System analyst or Tester

Repair and fix Sales Technical Support (Technician or Help Desk) Technical Writing Security expert Webmaster or Web Designer

3D Animation or Graphic design


Description: A position where you design and create either a graphic or 3D animations for software programs, games, movies, web pages, etc. Position may also require that you work on existing graphics, animations, movies, etc. done by other people. Requirements: An individual applying for this job would need to be talented in design and creating visuals, for most people this is not something that you could train for. In addition to being talented in design and art you must have a good understanding of the software programs being used to create the visual designs or 3D animations. Recommendations: If you wish to get into graphic design or arts, it is a must that you learn major graphics programs such as Adobe Photoshop. In addition to this program, there are numerous other programs used to create your own pictures or edit photos. See theanimation definition for additional information about this term as well as a listing of some of the more popular animation programs. Difficulty: (MEDIUM - HIGH) Many of the programs used to create a graphic, edit a photo, or create a 3D render are complex programs and often require a lot of learning and experience; and in some cases, training or schooling.

Customer service
Description: Helping customers with general questions relating to the company, ordering, status on orders, account information or status, etc.

Requirements: Good communication skills and a general understanding of the company and its products. Recommendations: Great starting position for anyone who is looking to get their foot in the door at the company and who are not yet that familiar with computers. Difficulty: (LOW) customer service will require that the employee be familiar with computers and be able to navigate through the companies system. However, will seldom require the employee to be skilled with computer.

Data Entry
Description: A job that commonly requires the employee to take information from a hard copy or other source and enter it into an electronic format. Position may also be taking electronic data and entering it into a database for easy sorting and locating. Requirements: Requires someone capable of typing 40-50 or more WPM, familiarity with computer, and usually requires familiarity with a word processors. Recommendations: Practice your typing and take online typing tests to determine your overall speed. Difficulty: (LOW) Most data entry jobs are beginner level jobs and don't require much or any prior experience or formal education.

Database
Description: A job that requires creating, testing, and maintaining one or more database. Requirements: Requires a familiarity with or extensive knowledge of databases at the place of employment. For example, Access,FoxPro, MySQL, SQL, and Sybase.

Recommendations: Become familiar with the database being used at the business. If the job is for developing or continuing the development of a database, you will need to have a great understanding of the database as well as how to program it. Often this knowledge requires past experience or formal education. Difficulty: (MEDIUM - HIGH) Developing or maintaining a database can be a difficult and sometimes very complex job. As mentioned above you will need to have past experience or formal education with maintaining or developing a database before most companies will even consider you.

Electronics technician or engineer


Description: Assembling, testing, and repairing electronic equipment. Requirements: A strong understanding of basic and advanced electronics. Recommendations: Get formal education in electronics and electro-mechanical or self-teach yourself by building your own electronic systems. Difficulty: (HIGH) Having a strong understanding of electronics often takes several years of formal education or on-the-job experience.

Engineer
Description: An engineer is someone who is at the top of their class and almost always someone who has or is working on a college degree or several certifications. Although used broadly in this document, the engineer is usually specified in the job requirement. For example, a software development engineer may be a highly skilled computer programmer. Requirements: The requirements for this job change depending on the engineer you plan on being. However, as

mentioned above, any engineer job will require an extensive understanding of the job. Usually, this understanding is obtained from a school, certifications, training, or years of past experience. Recommendations: Get training and education in the subject of interest from a school or other location. Learn as much about the subject as possible from books, the Internet, and other sources. Often before you can qualify for many engineer positions you will need past experience; therefore, it's a good idea to get an entry-level job in the same field. For example, if you want to be an engineer in software development, get a job in programming or create your own software programs. If you want to become a network engineer, get a job that requires you to setup, maintain, or otherwise work with networks and setup your own home network. Difficulty: (HIGH) This is a job and position that requires a lot of work to obtain and is not likely something you will be able to get as your first job.

Hardware
Description: A position as a hardware designer, circuit design, embedded systems, firmware, etc. is a job that requires you to design and create a complete hardware package or portions of a hardware device. Requirements: Jobs that design or create hardware devices often require that the person has a good understanding of electronics, circuits, firmware, or design. For this position the person will often need to have several years of prior experience or a degree in the field. Recommendations: If you're interested in this field we suggest you get a degree in the field. Difficulty: (HIGH) Hardware design is a difficult position to learn and understand unless you get training or a degree.

Networking or System Administrator


Description: Computer networking jobs involve designing, setting up, and maintaining a network. Requirements: Although most users today have their own home networks, setting up, troubleshooting, and maintaining a corporate network can be a much more complicated task. Often, networking jobs also require a good understanding of how a network works, and in some cases how all the underlying protocols and structure of how networks work. Recommendations: There are numerous network and network related certifications available today, such as the CCNA, MCSE, etc. Often depending on the level of certification and the job you're applying for, the certifications will be more than enough to quality you for most network jobs. Some of the higher networking positions, especially in the development of network hardware or programming side, may also require past experience in networking or a degree. Difficulty: (MEDIUM - HIGH) Depending upon the job specifications and the complexity of the network usually determines the difficulty of this job.

Programmer or Software developer


Description: A job that requires the development or continued development and maintenance of a software program. Requirements: A basic to extensive understanding of a programming language. Because most job positions will require a person to develop sections of a program or the whole program, they often require several years of past experience or a degree before even considering you. Recommendations: Learn one or more programming languages. Depending on what programs or scripts you wish to create may change the language you wish to learn. See the dictionary programming languages definition for a listing of

popular programming languages and programs they create. If you need experience, creating your own software programs is a great way to learn a language and demonstrate your abilities at a job interview. Difficulty: (HIGH) Learning a programming language can be as difficult as learning a second language and takes a lot of experience and practice to become a skilled programmer.

Quality Assurance (QA), System analyst or Tester


Description: This job requires that the employee test out all features of a product for any problems or usability issues. Requirements: Requires that the person have a good understanding of computer software, hardware, and the product being tested. Recommendations: Become familiar with computers, software, hardware, and the products the company makes. Difficulty: (LOW - MEDIUM) Depending on what is being tested and how much needs to be tested usually determines the difficulty of this job. However, for users familiar with the product or similar products, you should not have much difficulty locating and reporting issues.

Repair and fix


Description: A job that requires you to fix and repair computer and computer equipment. Often this involves removing a component from within the computer and replacing it with a good component. Requirements:Requirements: A good understanding of computer hardware, computer disassembly, proper tools, and good troubleshooting skills.

Recommendations: Build your own computer or disassemble and re-assemble a computer. Become familiar with computers, software, hardware, and the products the company makes. Difficulty: (MEDIUM - HIGH) Because this job requires a good understanding of disassembling a computer, knowing what components to repair, and how to fix components when needed this job can have a high difficulty level.

Sales
Description: Selling a product or service to another person or company. Requirements: Good communication skills and a general understanding of computers and the product that is being sold. Recommendations: If you're selling computers, computer hardware, or computer software, become familiar with all aspects of the product. Sites like Computer Hope are a great resource to learn about computers. If you're selling a specialized product developed by the company you will be selling for, visit their web page and become as familiar with the product as possible. Difficulty: (LOW) Sales for computer software, hardware, electronics, or related products is a good first job and can be a good way to learn more about computers.

Technical Support (Technician or Help Desk)


Description: Helping an end-user or company employee with their computers, software program, and hardware device. A technical support position is a great first step for people interested in working in the computer industry. Requirements: A basic understanding of computers, computer's software, and hardware.

Recommendations: Become as familiar as possible with computers, computer software, and computer hardware, depending on what you will be supporting. Almost all technical support centers that help end-users with their computers, computer software, or computer hardware products have training that all employees go through before you start work, but will still often require that the user be familiar with computers. Help desks for corporations do not usually have any training; these positions require that the person being hired already have a very good understanding of computers and troubleshooting computer problems. Difficulty: (LOW - MEDIUM) The difficulty of this job is really depending on the training you get. However, someone who is familiar with computers or works with computers often will have an easy time with these positions after a few days working at them.

Technical Writing
Description: This position often involves creating or editing technical papers or manuals. Requirements: This position often requires that the individual has a basic understanding about the subject being written about and have good writing skills. Recommendations: Many of these positions will require that the person have a degree and will often test a user before hiring them. In addition to having good writing skills, you should also be familiar with a major word processor. Difficulty: (LOW - MEDIUM) For someone who has good writing skills and familiarity with the subject, this job can be an easy job.

Security expert

Description: Test and find vulnerabilities in a system, hardware device, or software program. Requirements: This position is for someone who has a strong familiarity with how software, hardware, and networks work and how to exploit them. Often, you will need to have a good understanding of how the overall system works as well as good programming skills. Recommendations: Keep up-to-date with all security news, advisories, and other related news. The majority of security vulnerabilities are through software, and in order to understand these vulnerabilities or find new security vulnerabilities, you'll need to understand how to program and have a good understand of how software works and interacts with computers. Difficulty: (MEDIUM - HIGH) The difficulty of this job really depends on what you're testing or trying to find any vulnerabilities in.

Webmaster or Web Designer


Description: A job where a person creates, maintains, or completely designs a web page. Requirements: For basic web designing positions you should have a good understanding of HTML, the Internet, and web servers. More advanced positions where you will be working with more advanced web pages and not just static web pages may also require that you be familiar with such things as CGI, CSS, Flash,FTP, Linux, Perl, PHP, RSS, SSI, Unix, or XHTML. In addition to having a good understanding of the technologies and code used to create a web page, you're also often required to know the software programs they are created in. Recommendations: One of the best learning experiences for people who are interested in this job is to create your own web

page. Keeping in mind that designing and posting a web page using WYSIWYG editor without understanding HTML or the code of how it works may not be sufficient enough for most jobs. Difficulty: (MEDIUM - HIGH) The complexity of this job is really dependent on how difficult of a project you're working on, creating and posting a simple web site with no interaction is not that hard. However, creating an interactive site with forms, databases, and overall more interaction with the user and the server can increase the difficulty of the job significantly.

You might also like