Most computers are digital computers which use a specific language to communicate within itself in order to process information. If there are programs running in the background or a person is typing up a word document for example, the computer needs to be able to interpret the data that is being put into it by the human as well as communicate to working components within itself. This language that digital computers use is called binary code and is a very basic form of language composed of only two figures; 1 and 0.Whereas the English language is composed of 26 figures which we commonly call the alphabet, computers use a language composed of only two figures, hence its name Binary Code. Binary literally means two and refers to anything that consists of, involves, or indicates two. The language known as Binary Code operates on a system of 1’s and 0’s strung together. Each 1 or 0 is referred to as a “bit.”
The prefix deci symbolizes ten. In both systems, the position of each digit determines to which power that number is raised. In the deci-mal system each digit is raised by ten so that the first column equals 1 (10^1) or ten raised to the zero power, the second column equals 10 (10^2) or ten raised to the first power, the third column equals 100 (10^3) or ten raised to the third power and so on. However, since Binary Code only operates with two symbols, each digit is a power of two instead of ten. In binary the first column equals 1 (2^0) or two raised to the zero power, the second column equals 2 (2^1) or two raised to the first power, the third column equals 4 (2^2) or two raised to the second power, the fourth column equals 8 (2^3) or two raised to the third power, and so forth. Because the Binary system takes advantage of so few symbols, the result is that more positions for digits are used to express the same number than in decimal form, leaving long lines of information for even the simplest expressions.
Coding Systems
There are a few different coding systems, EBCDIC, ASCII and Unicode. EBCDIC (extended binary coded decimal interchange code) was created for use in mainframes, developed by IBM. The code uses a unique combination of 0’s and 1’s, 8-bits in length, which allows for 256 different combinations. ASCII ( American standard code for information interchange) was created for a more personal use. ASCII uses a 7 bit code, though there is an extended code which adds an extra bit, which nearly doubles the amount of unique characters the code can represent. however Unicode is a much longer string of code, between 8 and 32 bits. With over one million different possibilities, every language can be represented with this code, every mathematical symbol can be represented, every punctuation mark, and every symbol or sign from any culture.
Unicode is universal. With using 0’s and 1’s to represent different data, it has become fit for any language used all over the world. This code is replacing ASCII (American Standard Code for Information Interchange) because the characters in this code can be transformed into Unicode, a much more practical system for data. ASCII is known as the alphabet code, and its numbering codes range from 0 all the way to 127 considered to be a 7 bit code.
Alphabets vary from language to language, but 0’s and 1’s can be understood worldwide. These codes apply to binary coding systems, meaning the computer understands two states of either On or Off. The problem with Unicode is that it is not compatible with each computer system used today. Windows 95/98 does not have the ability to run Unicode while other Windows such as NT and 2000 are closer to being able to. There is a program Sun Microsystem’s Java Software Development Kit which allows you to convert files in ASCII format into Unicode. While Unicode is a huge improvement for coding systems today, it cannot process all symbols that are possible, leaving room for new systems to one day take its place.
Graphics Data
One type of multimedia data is graphics data. These data are of still images, and can be stored in the form of a bitmap image file. A bitmap image is a type of graphic that contains pixels, or picture elements, that are arranged in a grid-like pattern. Each pixel is made up of a specific group of numbers which corresponds to the color, and the color’s intensity. Although there are a few other key factors when determining the detail quality of an image, pixels play an important role. An image with many pixels allows there to be more potential of higher quality in that image. However, this doesn’t mean that more pixels in an image definitely results in a higher quality picture. When shopping for digital cameras consumers must be aware of the amount of megapixels, or pixels by the million, the cameras in front of them have.
Today, an average person wishing to take decent and basic everyday pictures will be satisfied with about an 8 megapixel camera. In fact, many new smartphone cameras use 8 megapixels, like the Apple iPhone 5C, a popular smartphone released in September 2013. Someone with different intentions of using images, perhaps for making high definition prints, will require a camera with more megapixels. This would allow for their prints to be large, but with appropriate and exceptional quality.
Audio Data
Audio Data is very similar to graphics data in that it is understood in pieces. Instead of using pixels, however, audio data uses samples. Audio data is usually recorded with an input device such as a microphone or a MIDI controller. Samples are then taken from the recording thousands of times every second and when they are played back in the same order, they create the original audio file. Because there are so many samples within each sound file, files are often compressed into formats such as MP3 or MP4 so that they take up less storage space. This makes them easier to download, send over the internet, or even store on your MP3 player.
Video Data
Video data is also similar to graphic and audio data, but instead of using pixels or samples, video data is recorded with the use of frames. Frames are still images that are taken numerous times per second and that when played simultaneously, create a video (most films are recorded using twenty-four frames per second). Similar to audio data, because video data contains so much information, the files can be compressed, making it possible for full length movies containing thousands of frames to be stored on optical discs.
THE SYSTEM UNIT – MOTHERBOARD AND CPU
Motherboard
“The motherboard can be thought of as the “back bone” of the computer.” This quote is from the article Motherboard. Inside the system unit contains the motherboard. The motherboard is the “glue” of the computer. It connects the CPU, memory, hard drive, optical drives, video card, and sound card together. The front of the motherboard are peripheral card slots. The slots contain different types of cards which are connected to the motherboard. The left side of the motherboard contain ports. The ports connect to the monitor, printer, keyboard, mouse, speakers, phone line, and network cables.
Realtimeclock Motherboard Baby AT crop
Like many of the components of computers, motherboards have not always been as advanced as they are today. Motherboards on early PCs did not have many integrated parts located directly on the board. Instead, most of the devices, such as display adapters and hard disk controllers, were connected through expansion slots. As technology advanced, more and more devices were built in directly to the board itself. At first, this began to create problems as manufacturers began to find that if one of the devices on the motherboard was faulty or in some way damaged, that the entire motherboard must be replaced. This led manufactures to change the design in a way that allowed them to remove faulty parts easily and replace them, especially parts that are growing and changing so quickly, such as the RAM or CPU.
Today, a motherboard comes equipped with many parts working in conjunction with each other. One can find anything, from back up batteries, keyboard and mouse connectors, to cache memory chips, in close proximity to the CPU. The computer is able to do tasks faster as its components continue to be closer to one another. The advancement of technology has allowed for these parts to become smaller and more powerful, allowing more surface area on the motherboard to fit more devices. It is common today to find even audio and video components built into it as well. With technology moving as fast as it is, one may wonder what a motherboard will be capable of containing in the near future.
CPU
The CPU is the abbreviation for the central processing unit. The computer needs the CPU in order to function correctly. It is known as the brains of the computer where the calculations occur. The microprocessor and the processor are two other names for the central processing unit. The Central processing unit attaches to a CPU socket on the motherboard. A common CPU is called the multi-core CPU. This specific type of CPU is efficient because it allows computers to work on more than one task at a time. Also, these multi core CPU’s experience less over heating than the original CPU which causes much less problems to the computer. A typical CPU is two by two inches.
History of the CPU
The first CPU ever made was the Intel 4004, which was designed by Federico Faggin. After ten months of Faggin and his colleagues working on the chip, it was released by Intel Corporation in January 1971. Even though this first generation, 4-bit microprocessor could only add and subtract, it was a major breakthrough in technology. The amazing quality was that all of the processing was done on one chip, as opposed to prior computers which had a collection of chips wired together. This invention lead to the first portable electronic calculator.
While technology has advanced quite a bit since 1971, old technology is not as “out-of-date” as one thinks. There are still CPU chips made in the 1970’s and 1980’s that are still being used today. Personal computers, such as PC’s and Mac’s, use faster, more up-to-date CPU’s because the users run many programs at the same time. However, the more simple computers embedded in cars, printers, and microwaves can still use the older forms of microprocessors. For example, one famous CPU was the MOS 6502, made in 1975, and it was still being used in many appliances up until 2009. Control processing units are the key component in any computer, and thus sometimes the simpler styles work best.
THE SYSTEM UNIT – MEMORY, BUSES, PORTS
Memory
The Template:Gaps byte (512×220) capacity of these RAM modules is stated as “512 MB” on the label.
Memory identifies data storage that comes in the form of chips and is used to store data and programs on a temporary or permanent basis. There are two main types of memory storage which are random- access memory (RAM) and read-only memory (ROM). Inside the system unit, ROM is attached to the motherboard. Random-access memory can read data from RAM and write data into RAM in the same amount of time. RAM is measured in bytes and includes the cache memory and registers. It is volatile which means it loses the information/data when the power is turned off. In order to retrieve important file at a later date, one needs to store it on storage medium so, even though the information is erased from RAM, it is stored elsewhere. RAM has different slots where it stores data and keeps track of addresses.
Read-only memory cannot be written to and is non-volatile which means it keeps its contents regardless if the power is turned off or not. The flash memory is starting to replace ROM. It is also a non-volatile memory chip that is used for storage on devices, like mobile phone, tablets, digital cameras, etc. The reason for this is so the data can be updated over time.
Cache memory is a specific kind of memory that allows a computer to perform certain tasks much more quickly. A good analogy from HowStuffWorks compares the computer to a librarian, data to books, and cache to a backpack. Suppose somebody walks into a library and asks the librarian for a copy of the book Moby Dick. The librarian goes back into the room full of books, grabs that book, and gives it to the reader. Later that day, the reader returns, having finished the book, and gives it back to the librarian, who returns it to the same storage room. Then, a second reader walks in asking for the same book, Moby Dick. The librarian has to get up and go all the way back to the room in order to get the book he was just handling, which is a waste of time. Instead, suppose the librarian had a backpack that could store up to 10 books. When the first person returns Moby Dick, the librarian puts it into his backpack instead (after making sure the backpack doesn’t have 10 books in it already.) Then, when the second person comes in requesting that same book, the librarian can just check his bag, get the book out, and hand it to the second person without having to walk all the way back into the other room.
Cache memory functions like that backpack. It stores previously accessed data in a specific area with a limited amount of memory so that the processor can get this data much more quickly.
Ports
Parallel Printer Port
Ports are on the outside of the system unit and they are used to connect hardware devices. There are physical ports and virtual ports. A physical port is a physical connection to a computer where data is transferred. It is when something is physically plugged into the computer or some other device. Virtual ports allow software applications to share hardware resources without having to physical connect to each other or to interfere with one another.
Parallel ports are most often used with a keyboard, printer or mouse, but these are more commonly known as legacy ports instead. Each port has a certain connector to plug it into the computer. Different type of ports would be power connectors, VGA monitor port, USB ports, Firewire port, HDMI port, Network port, audio ports, and empty slots. The connectors would be Monitor (VGA, HDMI), USB, Firewire, network, and audio connector. Each port has also a different purpose and connector. Almost all PCs come with a serial RS-232C port or a RS-4222 port and they are used for connecting a modem, mouse, or keyboard. They also have parallel ports that are used to connect printers. These are also considered USB ports because they are physical ports and which standardize communications between computers and peripheral. USB ports were created in the mid 1990’s; USB stands for Universal Serial Bus. There are also network ports used to connect a computer to a network. Ethernet was developed in the 1980s and it is a system for connecting a number of computer systems to form a local area network.
A serial port is used to connect modems to personal computers. The term “serial” signifies that data sent in one direction always travels over a single wire within the cable. The last main kind of port is the FireWire, which are used to connect FireWire devices to the computer via a FireWire connector. These are used with mostly digital video cameras and other multimedia devices.
Thunderbolt Port
A Thunderbolt port connect peripheral devices through that cable. These ports allow for you to connect more devices to your computer and is very fast. Thunderbolt ports use hardware controllers I/0 protocols onto one efficient protocol with the use of just one cable. I/O technology is input and output is a device that that transfers the data to the computer peripherally (a CD-ROM would be an example of an I/O technology).This port lets there to be full bandwidth for both directions of the port, thus allowing the user to faster and more efficient with the ports it has to connect. This type of technology allows for people to plug in as many devices they could use on their computer and not slowing any of those devices down. The thunderbolt port is also small so it is easy to travel with as well.
HOW THE CPU WORKS
CPU Architecture and Components
As previously discussed on this page, the CPU is a complex piece of the computer made up of many parts. The way these parts all fit together inside the CPU is different in each processor but they mainly contain the same parts from device to device. The most abundant part in the CPU would be the transistor. Modern CPU’s typically hold several hundred million transistors with some of the more high-end computers holding over a billion, and for good reason.
Calculations in a computer can be performed thanks to the combination of transistors turning off or on. Besides these transistors, there are several parts that make up the CPU. Some of these include the arithmetic/logic unit (ALU) and floating point unit (FPU), the control unit, and the prefetch unit. The ALU is the part of the CPU that deals with the mathematics involving whole numbers and any functions done with those numbers. The FPU takes care of the mathematics with other numbers like fractions, or numbers with decimal places. These two parts work hand in hand, using arithmetic and logical processes, to allow you to perform basically any function you perform on your computer. The control unit takes charge in controlling where and when information is transferred to and from the CPU. When information leaves the control unit, it is usually sent to the ALU/FPU where it can be converted into a process. The prefetch unit, as its name implies, fetches data before it is needed. It uses a sequence of processes to guess what information will be needed next, and have it readily available before the time it needed.
Other components of the CPU include the cache, the decode unit, and the bus interface unit. The cache serves as high-speed memory for instructions that the CPU would like to access faster, in other words instructions that the CPU would rather avoid retrieving from RAM or the hard drive. The decode unit, just as it sounds, decodes instructions. Once the prefetch unit fetches data, the data goes through the decode unit so the instructions can be understood by the control unit. The bus interface unit allows communication between the the core and other CPU components. Think of it as literally a bus, taking information from one place and transporting it somewhere else.
The Internal Clock
Every computer actually has two different clocks. One is the virtual or system clock that runs and is displayed whenever the computer is on and running. The other is a real-time clock or hardware clock that runs continuously, and is responsible for tracking the correct time and day. This device does not count time in days and hours for example. Instead it just runs a counter at times per second. As far as the century goes, it is the job of the BIOS, the Basic Input-Output System, to track this and save it in the non-volatile memory of the hardware clock. These two clocks run independently on each other.
The system clock is physically a small quartz crystal that can be found on the motherboard. It also helps synchronize all computer functions by sending out signals- or cycles- on a regular basis to all parts, much like a person’s heartbeat. Hertz is the unit of measure used to count the number of cycles per second. For example, one megahertz is one million ticks of the system clock. This clock is very important to the CPU because the higher the CPU clock speed, the more instructions per second it could process. Since the entire system is tied to the speed of the system clock, increasing the system clock speed is usually more important than increasing the processor speed.
PCs in the past only had one unified system clock with a single clock, which drove the processor, memory, and input/output bus. However, as technology advanced, the need for a higher speed, and thus multiple clocks, arose. Therefore, a typical modern PC now has multiple clocks, all running at different speeds to enable any data to “travel” around the PC. Furthermore, two CPUs with the same clock speed will not necessarily perform equally. For instance, if an old microprocessor required 20 cycles to perform a simple arithmetic equation, a newer microprocessor can perform the same calculation in a single clock tick. Therefore, even if both processors had the same clock speed, the newer processor would be a lot faster than the old.
As mentioned previously, a CPU serves as a great example for the synchronization that the system clock performs. To synchronize, most CPUs start an operation on either the falling edge, when the clock goes from one to zero, or the rising edge, when the clock goes from zero to one. All devices, such as a CPU, synchronized with the system clocks run at either the system clock speed or at a fraction of the system clock speed; therefore, the CPU is unable to perform tasks any faster than the clock. For example, during each system clock tick, a CPU clock speed of 2 GHz allows the CPU clock to “tick” 10 times, executing one or more pieces of microcode. This ability to process multiple pieces of microcode at one time is known as superscalar.
The Machine Cycle
A machine cycle is a term often used when discussing the clock. It has four main parts- fetch, decode, execute, and store. The machine cycle occurs whenever a CPU processes a single piece of microcode. The fetch operation requires the program instruction to be fetched from either the cache or RAM, respectively. Next, the instructions are decoded so that the ALU or FPU can understand it, known as the decode operation. Then, the execute operation occurs when the instructions are carried out. Finally, the data or result from the ALU or FPU operations is stored in the CPU’s registers for later retrieval, known as the store operation. A fifth possible step in the cycle is the register write back operation, which occurs in certain CPUs. The RISC CPU, which stands for reduced instruction set computer processing unit, is an example that uses the fifth step of the machine cycle. Machine cycles can only process a single piece of microcode, which forces simple instructions, like addition or multiplication, to require more than one machine cycle.
In order to make computers faster, a system known as pipelining has been created. Originally, one machine cycle would have to finish processing a single instruction before another instruction could be carried out through a second machine cycle. With pipelining, as soon as an instruction passes through one operation of the machine cycle, a second instruction can start that operation. For example, after one instruction is fetched and moves on to decoding, the CPU can fetch a second instruction. This invention allows for multiple machine cycles to be carried out at the same time, which boosts the performance of the computer. Also, because of how fast the CPU can work with pipelining, it can be measured in millions of instructions per second.
Typical CPU Components
Just like a real life bus transports people, the bus interface unit carries information from one destination to another
ANS700-CPU-board
To round up the simplified inventory of a CPU’s guts, we have the decode unit, the registers and internal cache memory, and the bus interface unit. Of the remaining three sections of a CPU, the decode unit is easiest to understand because its job immediately follows the job of the prefetch unit. After the prefetch unit collects the data, the decode unit decodes the data into a language that is easier for the ALU/FPU to understand. It does that by consulting a ROM memory that exists inside the CPU, called microcode. The registers are used during processing; they’re groups of high-speed memory located within the CPU that can be accessed by the ALU and FPU, or for other assorted optimization purposes. While the registers provide the fastest speed of memory, their space is extremely limited. In the cases where the small register space isn’t good enough, there are the caches to save the day. The cache is used by the CPU for memory which is being accessed repeatedly, speeding up the access time and having a slightly larger storage than the register. The bus interface unit does exactly what it sounds like; it buses the data back and forth, connecting the core of the CPU to interact with other components.
Another aspect of the CPU is improving processing performance. In the past most CPUs designed for desktop computers had only one single core, so the only way to improve performance was to increase the speed of the CPU; however, increasing the speed also caused the CPU to heat up. So now a days CPU have multiple cores in order to increase the performance. In an article by Sebastian Anthony on Extreme Tech on September 10, 2014 he explains how the new Apple iPhone 6 CPU will be able to perform faster. The new Apple iPhone is going to have a new A8 SoC. It is going to have more transistors, which if you recall, are small devices made of semiconductor material that acts like a switch to open and close electrical circuits. This new A8 chip will have about 2 million transistors according to the article Mr. Anthony wrote. Mr. Anthony states, “The A8 SoC will, according to Apple, be about 25% faster than its predecessor in CPU tasks.” As of now, this information is coming from graphs and information that Apple has shared. The thing to know and realize is that companies are constantly striving to improve performance and reworking the architecture of the CPU can improve the performance.
IMPROVING THE PERFORMANCE OF YOUR COMPUTER
Add More Memory and Buy a Larger or Second Hard Drive
When it comes to technology, there is no question that newer is better. New systems are able to process faster, store more, and run more applications at once. However, it is obviously not within everybody’s means to just run out and purchase the newest and greatest technology the minute it hits the market. Technology is expensive, and therefore it is important to know your options. For example, if you have a computer that is a couple of years old, it is not unreasonable to assume that the hard drive and memory on the system are starting to slow down. However, what many people may not know is that buying a new computer is not the only solution to the problem. You can add memory to your old system simply by purchasing a new memory card and installing it into the computer hardware. By doing this, you are saving money and buying yourself a little bit more time with the computer. Another way to speed up your computer with out having to invest in a whole new one is by buying a second hard drive. When the original hard drive starts to fill up, one can simply purchase either an internal or external hard drive for the computer and drastically increase the operating speed.
Internet Connection
Upgrade Your Internet Connection
If your system seems to be running poorly while using the internet, you may have to upgrade your internet connection. Upgrading your internet connection may become more costly but there is a significant change in the processor. Your first step would be to discuss any upgrades or check if the provider needs to be enhanced in any way. Then find a browser that is suitable for your connection type. With that being stated, you can change the settings on the router in order to speed up the internet connection. In order to prevent your internet connection becoming slower, it’s highly suggested to have a password in order to access the internet.
Every computer owner should provide maintenance to their computer in order to prevent viruses or any bugs the computer may receive but it also prevents an internet connection from being slow. In order to do so, keep up with upgrading and cleaning the computer because the more the computer is trying to maintain, the slower the internet connection may become.
Upgrade Your Video Graphics Card
If you notice that your computer is working slowly but not while your internet is running, there may be a problem with your video graphics card. Similar to the process of upgrading your internet connection, there is also a process in checking your graphics processing unit. To approach this problem, you will need to check which graphics processing unit need to be upgrade. To do so, you need to go to start menu, search for ‘cmd’, right click and select ‘run as an administrator’, this will provide you with the command drop. After that, you will need to type in ‘sfc /scannow’ which will search and provide you a list of the components that may need upgrading. Within the list, find the graphics unit, select hardware you want to upgrade and then select yes to upgrade, which will then upgrade that certain hardware. Within the reading for chapter 2, upgrading your graphics card, it suggests to buy a new graphics card if you are searching for a more drastic change in the graphics processing unit.
System Maintenance
In order for computers to operate at their maximum efficiency, users must be aware of the importance of system maintenance because, over a period of time, one may notice a reduction in system performance. This can be attributed to a number of common factors that lead to the degradation in performance. One major reason is hard drive fragmentation. As more programs are installed onto the hard drive, the pieces of the files that are on those programs take longer to be located. The longer pieces of the program become shorter and fragmented, leading to a longer waiting period for the user as the computer searches for these scattered pieces.
Related to this, although not nearly as detrimental to system performance as fragmentation, is the cluttering of pieces and references to uninstalled programs in the operating system. For Windows users, this occurs in the Registry. After the user uninstalls a program, there are references to that program left behind in the Registry that can possibly impact performance. However, performance is not necessarily the issue here. For example if the user is going to update the system by switching from an Nvidia graphics card to an AMD one, it might be a good idea to not only uninstall all drivers and related programs but also to clean the Registry of any references to the Nvidia drivers and software (in order to avoid possible conflicts when the AMD card is installed). This will ensure a “clean” install of both the hardware and software components. A free registry cleaner utility one can use is CCleaner.
Temporary files (e.g. from web browsers and installation programs) can take up valuable storage space if they are not removed after extended periods of times. Also, users should be aware of the programs they are installing and decide which specific programs are to run at startup. Too many programs can slow down the initial startup time of the computer because it must launch program after program. Only those programs that are necessary should be included, and to check for this, click Start (in the lower-left Windows icon) and enter the command msconfig in the search tab. This will open the System Configuration window. Programs that run at startup are listed under the Startup tab. Here the user can enable or disable programs, which can affect startup time.
Another important factor in determining system performance is the corruption of system files by malware. Viruses, worms, trojans, spyware, and other forms of malware can infect a system by various means, so it is important for the user to be aware and defensive. Anti-virus programs and other security software provide protection from malware, so it is recommended that a user has some sort of program installed and regularly scans the system for any traces. One free anti-virus program, among many, is AVG.
Lastly, dust can accumulate in and on heatsink fans (e.g. processor and graphics card), case fans, ports, power supplies, and motherboards. Every internal component can accumulate dust, and this can be a major issue for system integrity because dust acts as an insulator by trapping heat. Fans with too much dust do not operate efficiently because the fins do not spin quickly, which further exacerbates the heating problem. Not only that, but dust can also cause electrical shorting of the circuits, which can irreversibly damage components.
To clean the computer, power off the system, which includes turning off the power supply. It should not be connected to any source. Then open the case and use a can of compressed air to blow out the dust wherever it may be. The goal is to rid the case of any remnants of dust. Following this and the other tips listed above will help ensure reliable performance and a longer lifespan for the computer.
Future Trends
The challenge of making computers faster and more efficient has brought new ideas to the table of technology. One such idea is nanotechnology, which uses microscopic components only nanometers in length. Carbon nanotubes are already being used in technology today in products such as lithium ion batteries because of their great performance conducting electricity. Other nanotechnology includes nanoparticles and nanosensors. Another idea that has received increased recent attention is quantum computing. These computer’s go beyond regular computers’ binary system using qubits, which can be either a 1, a 0, or both simultaneously. Although these computers are only able to perform seemingly simple tasks like sudoku puzzles as of recently, their potential is outrageous for tasks such as encryption. Optical computing is another form of future technology which uses light waves to transfer data. Since the infrared beams do not interfere with each other, optical computers can be much smaller and more efficient that electronic computers. In fact, once optical computers have been mastered the computers will be able to process information at the speed of light using very little power at all.[39] In years to come, the extraordinary power of supercomputers is predicted to be available in more common computers using technology like terascale computing to process at incredible speeds.
Earn a Certificate of Completion for completing this course. Pass a 50-question test on this course with a score of 70 or higher and receive a certificate of completion. Visit our Computer Information Systems Certificate of Completion page for more information.
The text for this course is available from WikiBooks under the Creative Commons Attribution-ShareAlike License.