Introduction to Computing
As one member of the faculty at Juniata College once said “a computer doesn't even make a good boat anchor without software”! How true this is. In fact though, an operating system is also useless if it doesn’t have hardware and furthermore, who would really want a PC if it all it had was hardware and an operating system? Well a few folks would still want one, but the majority of us need software (WORD, EXCEL, email, instant messaging, games, etc…). The hardware, the software, and the operating system (a form of software) must all come together each time we use our computers. In short, we gain access to the hardware through the software and the operating system allows us to do this. In this section, we will
discuss the basic hardware components of your typical PC and then venture
into software and operating systems. In truth, we could spend weeks
and weeks (even years) learning about the technologies in a computer.
We will spend only a few weeks on this topic, with the main goal being
to introduce you to and familiarize you with the workings of a computer.
We will begin with hardware components and then explore software (both
operating systems and applications). Overview of Computer Hardware While it may seem that computer hardware has changed dramatically over the past few decades, in reality, the basics remain the same. There are still four primary types of computer hardware: input devices, processing components, secondary storage, and output devices.
We’ll address the main function of each of these components and then we’ll review how each of these devices has changed over the years and what to expect in the future. In other words, we’ll begin to address “state of the art” computer components and how they provide an advantage over yesterday’s hardware. Perhaps we will uncover disadvantages as well! Before going on, it should be noted that there is a wealth of information available on the internet regarding computer hardware components. A few nice overviews can be found as follows: http://distance-ed.fullerton.edu/pages/students/tutorials/hardware1.htm http://is.polytechnic.edu.na/material/Hardware/HWOverv.htm http://claymore.engineer.gvsu.edu/eod/hardware/hardware-3.html http://starrlab.tamu.edu/STARRLAB/Courses/01Fall/RENR201/Handouts/HardwareSoftware/Index.htm
Primary Hardware Components: Input Devices: If you are gong to work with your computer, you have to have some way of providing input. Input devices include various devices that enable the computer to receive information (either data or computer programs) so that it may be processed. Traditional input devices include a keyboard, mouse, and external data storage (referred to as secondary storage and will be covered in a separate section since it is also an output device). Document scanners, automatic teller machines (ATM's), point-of-sale devices, touch sensitive screens, bar code readers, various other optical scanners such as retinal scanners (used for identification purposes), finger print scanners, digital cameras, video recorders, and voice recorders are becoming more popular as input devices. Many predict that keyboard entry will become obsolete in the near future. Improvements in voice recognition software and decreased prices of such software will help make this a reality. The input devices are what enable you to interact with the computer. Thus we often talk about human-computer interaction (HCI). The study of HCI is a rapidly growing field. While there are many sites and interesting resources for this field, here are a few: http://www.ida.liu.se/labs/aslab/groups/um/hci/
Processing Components: Computer processing components generally include the control unit, arithmetic/logic unit, register storage area, and memory (primary storage). The control unit and arithmetic/logic unit together are referred to as the central processing unit (CPU). When distinguishing between different types of computers, people typically talk about the CPU, also referred to as the processing chip. Intel developed and introduced the first microprocessor in 1971. It was a very slow chip (compared to today’s chip speeds). Not only was it slow – but it could only add and subtract! Later, Intel marketed an entire series of chips that includes the Pentium chips that are prevalent in today’s computers. Before the microprocessor, engineers had to “string together” single chips or transistors to perform a series of tasks (like adding 2 numbers together). Transistors are small pieces of silicon (3 layers) that form a sort of tiny little sandwich that current can pass through. If current is passing through a transistor then we say 1 “bit” has passed through. If no current passes then this is a 0 bit. You will read more about the familiar bits and bytes shortly. The use of silicon should give you a hint as to the nickname “Silicon Valley”. Even in the 1970’s on very early Intel chips, such as the 8080, there were 6,000 transistors. In comparison, today’s Pentium 4 chip as 42,000,000 transistors and is literally thousands of times faster! Howstuffworks has a very nice section on microprocessors and links to Intel’s pressroom on the history of microprocessors: http://computer.howstuffworks.com/microprocessor.htm There is an interesting thought known as Moore’s law. This essentially says that if research stays constant and competition also remains constant, then processor speeds will double every 18 months. Intel has some information on this: http://www.intel.com/research/silicon/mooreslaw.htm . It is especially interesting given that this thought or observation was made in 1965! Webopedia also provides some discussion: http://www.webopedia.com/TERM/M/Moores_Law.html To sum it up, the CPU is where is all happens. It is the brain – so to speak – of your computer. The CPU takes instructions (usually from a software package talking to it through an input device) and acts on these instructions, creating output. When the CPU gets instructions (this is really data to a CPU) it puts them into RAM or random-access memory. This is sometimes called the main or primary memory. It wasn’t all that long ago that 32 or 64 Mb of RAM was plenty. Now most computers have a minimum of 256Mb of RAM. Why? Because today’s software packages have a lot of instructions for the CPU. While the CPU is working, the RAM is holding data and instructions, and even the results until these results are saved to a storage device (hard disk, CD, etc..). One noteworthy item about RAM is that for RAM to hold or store data (input, output, instructions, etc…) electricity or current must be present. We say that memory is "volatile". This means that when you turn of the computer – everything in RAM is gone! Ever had this happen to you? Have you ever had your roommate accidentally (on purpose) turn off your computer? You lose all work! Many software packages (e.g. MS WORD) have auto backup features. These programs keep track of changes of unsaved work. If the power goes off, then you may see a “recovered” version of the document the next time you open WORD (as an example). However, these backup features are not constant, so you may not have retrieved all of your lost work. Read-only Memory Read-only memory or ROM is similar to RAM in that the device holds data; however, the ROM is a special kind of memory in that it is permanent (read-only). We call this memory "nonvolatile". You cannot erase the data (instructions, etc.). The Cache (pronounced "cash" as in $) Cache is another type of memory that you may have heard of before. The cache is another special kind of memory that the CPU uses. If you go to dictionary.com and enter the word “cache”, you will get:
In the computer world, this is really no different. It is a hiding or storing place. It is a place in memory that “common tasks” are stored, so that the computer doesn’t have to go get these tasks or this data continuously. You see, your CPU is quite fast; however, retrieving data or instructions from a hard drive (or secondary storage device) is not nearly as fast. So we can cache some items and help to speed things up! Webopedia also offers a nice discussion on the cache: http://www.webopedia.com/TERM/c/cache.html. BITS AND BYTES Many of you may be aware of the concept of bits and bytes; however it is still worth noting this again. While we see output in the form of words, images, and other forms, the computer generally communicates between various components using a digital language – binary. Binary is the mode of transferring data (input, output, programs, etc..). The binary data are in the form of bits, which is either a 0 or 1 – hence the term binary. You may even hear someone use the term binary in another context, meaning that there are only two choices. The term bytes comes from a series of bits. Eight (8) bits equals a byte (usually). We often refer to the speed or capacity of a CPU in terms of the bit capacity. Thus an 8-bit processor is slower than a 16-bit and so on. The recently introduced Macintosh G5 is a 64-bit processor! You may have heard someone say that they have a 100 Gigabyte hard drive. What does this really mean? How big is 100 Gigabytes? Here's a simple conversion table:
So 100 Gigabytes is 102400 Megabytes, which is 104857600 Kilobytes, which is 107374182400 Bytes, or 858993459200 bits (1's and 0's). The Motherboard The motherboard houses the computer processing components as well as other essential components such as capacitors, jumpers, anti-static foam, and input/output connections like serial and parallel ports, USB ports, keyboard connector, and bus slots. Take a look at the typical components in a motherboard:
Source: http://starrlab.tamu.edu/STARRLAB/Courses/01Fall/RENR201/Handouts/HardwareSoftware/MotherBoard.htm
Computers and computer equipment and devices are evolving rapidly. As such, prices are constantly dropping. Consider web cameras, once a sort of technological luxury, they have now lost their novelty and can even be purchased for under $10.00. In addition to cost dropping, the size of hardware devices is also shrinking. While many applaud the advantages of low cost micro-sized devices, there are also down sides to these advances. Privacy may no longer be a luxury we can take for granted. Many of you may have already been an unwilling actor on someone’s web cam.
Ports One of the last things we should discuss in terms of hardware are “ports”. Ports exist on your computer in several forms and allow you to add on a number of additional hardware devices. A port connects directly to your motherboard and thus interfaces or talks to other elements of your computer. We are going to discuss a number of the more common ports or connections for peripheral items: parallel, serial, USB, firewire. Serial – Serial ports have been around for quite a while (at least in terms of computer technology). They are called serial ports because they transmit data in a line – so to speak. Thus the bytes are torn apart and the bits transfer in a line – one at a time. You need only one wire for this – but it is fairly slow – again compared to other forms. Your phone modem probably comes through a serial port. Most computers currently have 2 serial ports – they are the little opening with 9 pins or pin holes and are often called COM ports. Parallel – Parallel ports are much larger in size and typically have 25 pins or pin holes. Printers are most commonly connected to parallel ports. As the name implies, data is transmitted in parallel and the connections tend to be much faster than serial ports. USB – USB ports or Universal Serial Bus ports are fairly new. These are not only very fast (transmitting a lot of data) but they are very flexible. Only a few years ago, most computers came with 1 parallel port and 2 serial (COM) ports. Connecting a number of devices was tedious and annoying. Some peripherals have “pass through” ports – meaning a device connects to your parallel port and also has a parallel port on the back side to reconnect your printer or other device. USB’s allow you to connect over100 devices to your computer. Most modern operating systems automatically detect “new hardware” when you plug it in to a USB port. This is called “plug and play” hardware. You can easily and inexpensively add on a USB hub, which is nothing more than a plug that goes into your USB port and then has several more USB ports available. It is kind of like a power strip that allows you to plug in several appliances at once. The USB port is the small rectangular port on the back of your computer. It is about 1.2 inch long and 3/16 inch high. Because of the popularity of USB ports (almost all peripherals now come with USB connections), a lot of computers now have USB ports in the front for ease of use. USB 1.0 was the most common USB connection and this runs at about 12Mbs. Currently, USB 2.0 has been introduced and it runs at over 400 Mbs! Firewire – This is another type of connection that is similar in nature (physically) to USB connections. Firewire is also very fast at around 400 Mbs. It connects to your computer through a firewire port that is similar to a USB port. USB and Firewire ports are not interchangeable. USB 2.0 and Firewire are very similar in speed. SCSI – The SCSI or Small Computer Systems Interface is pronounced “scuzzy”. This connection is really more a component to your PC. It is often internal and it is what many devices like CD-ROM’s use. They are fast at around 160 Mbs. Video – The video port is what video devices like your monitor or projector use to receive output. Today, many computers come with a digital video output.
Secondary Storage: There are many types of secondary storage devices. One of the earliest types of secondary storage was the “punch card” system. These systems literally used cards with holes punched out to store or remember data. Early programmers used these punch cards and fed a stack of these cards into a card reader that converted the stored data into a digital (bits and bytes) format. You would often see programmers walking around with stacks or decks of punch cards. One nice thing was that they also served as a place to write notes and they made good coasters.
http://www.fourmilab.ch/documents/univac/cards.html Modern storage devices include magnetic tapes, memory cards, and disks (from floppy disks to hard drives), digital video disks (DVD's) and CD-ROMS, CD-W (CD-writable), and CD-RW (CD rewritable). New external storage devices also provide easy, portability storage. For example, the memory stick, or thumb drive, enables the user to carry data around (usually a 64 MB to 264 MB capacity) on a small device that can be attached to a key chain. The memory stick looks like a stick but is the size of a thumb. Below is a list of common (and not so common storage devices). How many have you used or seen?
Can you name any others?
Output Devices: As we have discussed, output comes from the CPU after having “crunched” the data that the CPU got from some input device. As we will soon discuss, the CPU knows how to crunch this data by following the software instructions. Monitors, printers, and plotters (and storage, as discussed above) are standard output devices. However, advances made to each of these devices are anything but standard. Flat screen and touch screen monitors are some recent advances in everyday monitors. But, look into the medical field and advances in monitors take on a whole new look, anywhere from new diagnostic equipment to real-time surgery advances. Beyond the laser jet and ink jet worlds, printers are out there producing anything from bar codes to bill boards. And, thanks to digital cameras, the novice photographer can edit and print his/her own photography. Are we increasing productivity or simply adding functions which divert our attention from our real goals? As with any new technology, it is up to the user how and why we use these new technologies!
Common Computer Types The last thing we are going to discuss in this section is the notion of computer types. Super Computers - In the computer world, the largest computers, not necessarily in size, are “supercomputers”. These are at the top of the food chain in terms of price and abilities. Perhaps the best known supercomputers are built by Cray (www.cray.com). Cray also provides a nice overview of their notion of a supercomputer: http://www.cray.com/supercomputing/ Main Frames – You may here this term. Main frames are essentially large computers (very large in size) that were used by large groups (i.e. corporations, universities, etc.). The size was sort of proportional to the abilities. Today we do not use main frames, but instead you will hear the term servers or more specifically, enterprise servers. Servers – Servers are computers that are configured (with hardware and software) to “serve” many other individuals. For instance, here at Juniata College, we have a mail server that processes all of your email. Desktops – This is a class of computer that includes PC’s and UNIX machines like those made by SUN. Sometimes we talk about workstations (SUN usually refers to their products as workstations). Workstations are basically desktops with a more powerful processor and other abilities. PC – PC or personal computer is the generic term for a computer used by a single person, although we often network PC’s. If you brought a PC to campus, you more than likely have plugged it into the network here on campus. Most people refer to PC’s as those computers using Windows and use the term “mac” for a Macintosh computer on the desktop. It’s just terminology. Laptop – Laptops are small PC’s that have integrated keyboards, monitors, and some type of pointing device. Palms and Handhelds – These are fairly new to the computing scene. They are small computers that typically do not have a hard drive. They also incorporate touch screen technology for most of the input, although you can add a keyboard for input. These are also referred to as PDA’s or personal digital assistants. Tablets – Tablets are very new to the market place. These are sort of mid-way between a laptop and PDA. They incorporate touch screen technology, but also have an integrated keyboard. Embedded Computers - Today, computers are found in everything from cars to cell phones to toasters to credit cards. How many computers have you used today and didn't even realize it? Wearables -?!?!?! One of the most interesting projects or efforts that includes HCI and input devices is the MIThril project. This is a “wearable” computer platform. That’s right – you wear it and there are multiple input (and output) devices. Check it out! http://www.media.mit.edu/wearables/mithril/index.html
You should now check for additional readings/ assignments specific to your section.
Overview of Computer Software Software How do we define software? Generally, software can be referred to as a set of computer instructions or a set of instructions that run a computer. One of software’s most critical functions is to control computer hardware. On PC’s, software that contains all the code required to control the keyboard, display screen, disk drives, serial communications, and other pc functions is referred to as the bios. Bios (pronounced “bye-ose”) is an acronym for basic input/output system. It is typically placed on a ROM chip that comes with the computer. Hence, it is sometimes referred to as ROM BIOS. The reason why it is placed on a chip is to ensure that it will always be available and will not be damaged if (or would we say when) a disk fails. This also allows a computer to boot itself. However, most modern PCs have a flash BIOS, which refers to the fact that BIOS has been written on a rewriteable memory chip in order to ensure a faster update if/when necessary. For more info on BIOS refer to http://www.wimsbios.com/ and http://computer.howstuffworks.com/bios.htm Operating systems are another group of programs that interact directly with computer hardware. An operating system is actually a collection of computer programs that control the hardware and functions as an interface for various application software. After a computer is turned on, portions of the operating system are transferred from disk to memory. All software must reside in memory in order to execute. The operating system is responsible for the following activities:
User interface is one of the most important operating system functions. This function allows users to access and command the computer system. User interfaces were originally command-based. Text commands were required to perform activities such as “erase”, “rename”, and “copy”. Today, many user interfaces are GUI, which stands for graphical user interface. Icons and menus replace text commands. Most people find it easier to peruse various functions visually rather than type specific commands. Management Activities The other activity that we most often associate with an operating system is hardware management. The operating system is responsible for getting data to and from input and output devices such as keyboards, disks, monitors, and printers. Application packages make use of these input/output devices by requesting services through a predefined application program interface (API). In this way, the application programmer can create software without understanding how the operating system actually performs input/output functions. Memory management is an operating system activity that directs a user’s request for data or instructions to a specific physical location in memory or secondary storage where the data or instructions are stored. So, logical locations of data and instructions are translated to physical locations via the operating system. Managing processing tasks to allow multiple users and a single user to multitask is another feature of an operating system. The notion of time-sharing is handled by dividing time into small CPU processing time sections which range from a few milliseconds or less in duration. Because the time is divided into such small units, the user is generally unaware that they are sharing the CPU. File management refers to ensuring that files in secondary storage are available as needed and protected from unauthorized use. This is an important function when there are multiple users who may want to access a file at the same time. This notion is related to two additional features of the operating system, networking and access control to system resources. Connecting to the Network The networking aspect of operating system software provides capabilities to aid users in connecting to various networks. For example Microsoft Windows comes with the ability to connect users to the internet. Their packaging of Internet Explorer with their operating system software is what sparked years of litigation for Microsoft. When numerous peoples have access to the same network, operating systems need to provide security against illegal or unauthorized access to data and software. Often an operating system will require a log-on that will not allow an unauthorized user to access the computer. The operating system keeps records of users and reports attempted unauthorized use. Types of Operating Systems Windows XP is currently the most popular operating system for personal computers. Originally, PC-DOS and MS-DOS were the operating systems developed for the IBM personal computer. Microsoft, in the deal of the century, purchased DOS for $50,000. Both PC-DOS and MS-DOS were command driven operating systems. Windows sprang from earlier operating systems to become a GUI operating system. Now the user could multitask in an icon environment. The improvements continued at a rapid rate. Today, Windows XP, tomorrow it will be something else! Apple computer also had a PC operating system, the MAC OS. Always at the operating system forefront, Apple continues to provide the user with a graphically enhanced computing experience. A good example of this is MAC OS X which includes a new visual appeal with buttons, scroll bars, and fluid animation with a luminous look. Linux is an operating system that was developed to be freely available to the public under the GNU or General Public License. Several operating systems are available based on the publicly available version. Various combinations are available as different distributions of Linux. For an additional overview of operating system software, see the
following link: Application Software In addition to operating system software, drivers, software in ROM or EPROM (such as BIOS), and network software are referred to as system software. Application software is another group of software programs. Software that falls into this category includes programs developed to provide a variety of uses. Examples of popular applications packages include MS WORD, EXCEL, Microsoft Internet Explorer, and various database packages such as Access, Oracle, and dBase. Database software stores, manipulates and retrieves data for a variety of functions ranging from scientific analysis to report generation. Word processing software creates, edits, and prints documents. Word, Microsoft Works, and Word Perfect are popular examples of word processing software. Spreadsheet software provides a variety of financial, logical, and database functions. Excel is the most popular in use today. Project management software allows the user to plan, schedule, and analyze time and expenses associated with project development. Microsoft’s Project is a popular package in use today. Desktop publishing is another application package that is used heavily today. Popular versions include Microsoft’s Publisher, Adobe’s PageMaker, and Quark. The above application packages are “off-the-shelf” software that are available for purchase or lease from a software company. Users can also solve unique problems by purchasing software from an outside company or developing software in-house. This software is sometimes referred to as proprietary application software. Although generally much more expensive than off-the-shelf software, companies with unique needs demand customized applications. Programmers are needed to code off-the-shelf and customized applications. Regardless of whether or not you intend to program for a living, it is worthwhile to learn at least one programming language. Examples of popular languages in use today include Java, C++, and Perl. Java is a programming language developed and owned by Sun Microsystems Corporation. It is used extensively on the Web as well as on various handheld devices such as palm pilots, pocket pc’s, and cell phone technologies. It is compiled into bytecode and requires a run-time module on the destination system. It is object-oriented. For a quick review of how Java works and how to program in Java, go to http://computer.howstuffworks.com/program.htm For a list of various programming languages and their description see http://www.thocp.net/software/languages/languages_index.htm ASSIGNMENT: Using howstuffworks.com, askjeeves.com or the URL of your choice, write a few paragraphs about Java, C++, and Perl. While doing this, define bytecode and object-oriented languages. HINTS: You can find a basic primer on object oriented programming by going to http://askjeeves.com and asking for “basics of object oriented programming”. Go to Moodle and then navigate to the appropriate Discussion Activity. Remember to post 2 new and one response.
Also go to http://askjeeves.com and www.wkonline.com/d/bytecode_compiler.html to search for a definition of bytecode compiler. Demonstration of how many programming languages are in use: a. Open internet
explorer and type http://www.juniata.edu
in the address bar. b. Now type in file://c:
in the address bar. What happened? c. How many compiled programs are running? Type CTRL + ALT+DEL and click task manger to get:
WOW! I have a lot of programs running, but Now click on the Processes tab
· Javascript (A programming language for browsers). · Flash (Macromedia’s nifty software) · HTML (Hypetext Markup language) · SVG (Scalable vector graphics)
Progression of Programming Languages The earliest generation of programming languages is machine language. This first generation language is the closest way computers process instructions but it is complex and difficult for humans to understand and apply. Assembler language is second generation. This language included some alphanumeric characters but remained rather cryptic for most humans to use. Third generation languages started to get user friendly and easier to understand. These languages tended to be application oriented. So, instead of working with individual instructions, instructions were bundled into commands to perform frequently used calculations such as sum or average. Basic and C are examples of third generation languages. Fourth generation languages were even easier to understand and more application oriented. However, these languages are less machine efficient, thus, they will take longer to run than earlier generation languages. Query languages (fifth generation) are even less machine efficient but much easier to understand and more user friendly. Finally, natural languages (sixth generation) are the ultimate in user friendliness.
ASSIGNMENT: Go to ask Jeeves or a URL of your choice for examples of query languages and natural languages. Provide examples of each. Go to Moodle and then navigate to the appropriate Discussion Activity. Remember to post 2 new and one response.
Regardless of which language you decide to use, there are various strategies to ensure that programs are written in an efficient, logical manner. One popular programming strategy is referred to as the waterfall model. The waterfall model is a classic systems development cycle for software engineering. It represents a sequential approach to software development that starts at the system level and proceeds through analysis, design, coding, testing and maintenance. The first step of systems engineering includes the establishment of all requirements for the system and then identifying some of these requirements as software development. Other requirements include hardware, people, budgeting, etc. Next is the software requirements analysis which entails requirements gathering that is focused solely on software. The end-user or customer must review all requirements and approve before proceeding to the next step. Design is the next step. This is actually many steps that focus on data structure, software architecture, procedural detail, and interface characterization.
Discussion Activity : Use a search engine to help you define data structure, software architecture, procedural detail, and interface characterization. Go to Moodle and then navigate to the appropriate Discussion Activity. Remember to post 2 new and one response. Software design is also documented and reviewed by the customer. Next, comes the actual coding. The coding step translates the design into a machine-readable form. Coding is followed by actually testing the written code. The last step is called maintenance because software development inevitably undergoes changes to fix problems or enhance performance.
Putting it all together: A computer science view of the basics How does a computer do what it does? How do we talk to the computer? In the star-trekkian future, we will just tell the computer what we want, but that won't get us very far now. We've already seen how we talk to the computer today, through programming languages, or high-level languages. All high level languages provide for ways to temporarily store information, organize that information, and manipulate and use that information to create new information. As an example, take the following high-level language statement:
This statement takes the value that is in the memory location pointed to by the name "Y" and the value that is in the memory location pointed to by the name "Z", and adds them together. It takes this result and stores it into memory at the located pointed to by "X". X, Y, and Z are called variables and represent places to store information. But even with high-level languages, we are still not speaking the language of computers. A second step usually occurs to change the high-level language statements into something that is closer to what the computer understands. A high-level language program gets compiled into an intermediate language called Assembly Language. The assembly language is still recognizable by humans, but is a bit more cryptic. To continue our example from above, the assembly language representation of X = Y + Z might look as follows:
Picture a special memory location called the accumulator. LOD Y loads the accumulator with the value of Y. ADD Z tells the computer to add Z to what is in the accumulator, hence the accumulator would hold Y + Z. STO tells the computer to move the value in the accumulator to the specified location, so the accumulated value of Y+Z will be placed into location X. But the computer doesn't even really understand assembly language. A compiled program (the assembly code) is then run through an assembler, which translates it into 1's and 0's, which is what the computer really understands: Machine Code. Using our example from above, each operator (LOD, ADD, STO, etc.) gets mapped to a sequence of 1's and 0's. Following the operator is the operand, the variable that the operator will act upon. Each of the operators must be translated into an address for where the information lives in memory, which is written in machine code following the operator. An assembled version of our example (X = Y + Z) may look something like this:
The end result of all of this translation is something that the computer recognizes and can work with. What are all of these 1's and 0's The 1's and 0's actually represent charges in an electronic circuit. A 1 is a high charge or something close to 5 Volts. A 0 is a low charge or something close to 0 Volts. These 1's and 0's proceed through logic gates to produce a specific output. The logic gates are built based upon Boolean Algebra, where 1 is True and zero is False. All of the number crunching and bit manipulation that goes on in the computer is done in this manner. Transformation of Data How in the world did we get from 1's and 0's to beautiful images, mp3 music, and spreadsheet packages? The key is transformation of data. The computer is a number cruncher; it loves data. The circuitry of the computer has no problem with a number like 102.3, and has sees this number as a sequence of 1's and 0's. But to humans, 102.3 has very little meaning without a context. Is it a temperature, a radio station, or a very expensive phone bill? And what do we want to do with this data. Should we display it as is, or with a dollar sign in front, or should we play it as a pitch of music, or graph it in a spreadsheet package? The computer has all of the flexibility to take this simple sequence of 1's and 0's and transform it into something that makes sense to us. It took a simple, but important leap to realize that numbers did not just have to be numbers, but could be representations for characters or music notes or pixels on a screen, and computers moved from simple adding machines to the general purpose processors that we know today. You should now check for additional readings/ assignments specific to your section. References: Stair, Ralph M. and Reynolds, George W., Fundamentals of Information Systems, Course Technology, Thompson Learning, Boston, 2001. Pressman, Roger S., Software Engineering: A Practitioner’s Approach, 3rd Edition, McGraw-Hill, Inc., N.Y., 1992.
|