This page is In Progress

Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.

General Programming Concepts


What is inside your computer? What are some basic ideas about how it works?

Computers have made significant progress since their inception over a century ago. They are faster, more powerful, and more standardized. Computers are small enough that many people have at least one computer for personal use.

One of the simplest ways to break down a computer is by separating the internal components from the external. For the most part, these are similar whether you’re talking about a desktop, laptop, or other type of computer.

What are the internal components?

There are four basic areas of the internal computer: the core, the storage devices, the internal peripherals, and the support systems. The core contains the mainboard, the processor, its essentials, and the RAM. The storage devices include both primary and secondary storage devices. The peripherals include the video card (when present) and any other peripherals connected to the mainboard.

What is in the core?

The core includes the mainboard, the backbone of the computer. The mainboard provides the avenues of communication (buses) between the other elements of the core, the storage devices, the peripherals, and the external components of the computer. The central processing unit (CPU) is attached to the mainboard. Since modern CPU’s tend to generate a lot of heat, there tend to be at least one or two cooling systems dedicated specifically to the CPU, such as heat sinks or CPU fans. Also included in the core is some volatile memory, volatile because the memory is lost when the power is turned off. This is typically called random access memory (RAM) and it is designed to be faster than all other memory (except the smaller amount that is part of the CPU). Because RAM is so fast and it has its own dedicated bus, the CPU uses it to store essential information it needs to access quickly.

What are the storage devices?

Historically, storage devices have been separated into primary storage devices and secondary storage devices. These devices hold non-volatile storage, meaning that the information stored is not lost when the power is lost.

Primary storage devices are usually limited to hard drives and are intended to remain within the computer. Primary storage devices tend to hold more memory than contemporary secondary storage devices. Primary storage devices can usually provide access to the information more quickly than contemporary secondary storage devices, though this is usually slower than access to RAM.

Secondary storage devices have evolved over time as secondary storage media have evolved. Secondary storage is intended to be stored outside the computer and easily transported from one computer to another. In the past, secondary storage media have included punch cards, tape reels, cassettes, floppy disks, CDs, DVDs, Blu-Ray discs, and flash memory. While secondary storage media cannot usually hold as much information or access it as quickly as contemporary primary storage devices, they are generally lighter than primary storage devices and easier to install and uninstall from computers. As an example, so long as the computer is powered on, it is easier to insert and remove DVDs than it is to insert and remove hard drives.

What are the peripherals?

The peripherals are non-storage devices that are not permanently attached to the mainboard. As mainboards evolved and standards were developed, items that used to be peripherals became integrated with the mainboard. Examples of peripherals that are now integrated with the mainboard are: keyboard, mouse, printer, ethernet, sound, and USB ports. Some mainboards include a video port. As a result, mainboards also tend to have less room for peripherals than they did when these peripherals were separate.

What are some examples of peripherals?

Video cards are a prime example of peripherals. Video cards provide video ports, enabling you to connect a monitor, projector, TV, or other display device to your computer. This tends to be an essential peripheral when the mainboard doesn’t have an integrated video port. Even if the mainboard has an integrated video port, some computer builders will install their own video card that performs better or allows more monitors, particularly since mainboard-integrated video ports do not perform well for certain video games.

Sound cards are another example of peripherals. While most mainboards have integrated sound ports, some computer builders install their own sound cards for various reasons. Many mainboard-integrated sound ports only support stereo, so the builder may install a sound card to get surround sound or theater sound. Some musically-minded computer builders will install a sound card that connects to MIDI devices, like guitars and keyboards.

Wireless network cards are a third example of peripherals. Wireless networking is integrated for most laptops and portable computers, but is still somewhat new for desktop computers. Also, wireless networking is still emerging and evolving, so it can be useful to install a wireless network card when it’s already integrated if the peripheral implements a newer technology.

What are the support systems?

The support systems are the portions of the computer that do not directly assist with the computer’s operation, but are necessary nonetheless. The computer case provides a structure for the internal components. The power supply uses the power from the electrical outlet and converts it to what the rest of the computer needs. Different computers also provide different cooling systems. Usually, the case has vents and fans to keep the computer well ventilated. Some computer builders actually use water in specially designed systems to keep the computer cool.

What are the external components?

Where most of the internal components are necessary for the internal workings of the computer, the external components are necessary for interacting with the user and other computers. External components include human interface devices, external storage devices, and external peripherals.

What are human interface devices?

Human interface devices are the devices that are intended for the two-directional flow of information between the computer and the person using it. Most computers have a monitor, whether it is built in or separate. Laptops and desktops tend to have keyboards. Many desktops tend to have pointing devices, such as a mouse or trackball. Some computers have a touchpad to use instead of a traditional pointing device and other computers, particularly portable and mobile devices, have touchscreens.

What are external storage devices?

Nowadays, most external storage devices are connected through a USB or Firewire port. These can be flash drives, external hard drives, SD card readers, and even internal storage devices that have been connected externally instead.

What are external peripherals?

External peripherals are devices connected to the computer that do not easily fall into the other two categories. One of the most popular external peripherals is the printer. Another popular example is a sound system, whether a set of speakers or a pair of headphones. Other examples of external peripherals are USB hubs (which allow you to plug several USB devices into a single USB port on your computer), wireless network adapters, video cameras, and credit card readers.