Computer Science is a very young subject, changing rapidly, and drastically changing the way we live. Some portions of the subject are very rigorous and and theoretical, drawing on the ancient traditions of mathematics and physics. Other portions of the subject are more empirical using the techniques of the experimental sciences and engineering, and major portions of the subject are based entirely on artistic inspiration and craftsmanship. Those who study and practice the subject of computer science may be mathematicians, computer scientists, engineers, programmers, business people, or just ordinary people with no special training, but we choose to become involved with computers.
In such a diverse field, it is hard to achieve agreement about what it is, much less what its history has been, and a full and fair review of the alternative views is beyond the scope of this course. To study the subject more fully, see the many journals and magazines on the subject, such as
What is a computer? A computer is a device to process information. All information can be represented as numbers, and a computer processes information as numbers; it performs calculations. The subject of computer science tends to focus on "stored program digital computers" which perform calculations upon number represented as string of digits, where the calculation is under the control of a program stored within the digital memory of the computer. The history of mechanical devices to aid in calculations is ancient. Here are some of the more modern milestones (see Richard C. Dorf, "Introduction to Computers and Computer Science", 2nd ed., Boyd and Fraser Publishing Company, San Francisco, CA, 1977, 650 pp.), and the web site of the Charles Babbage Institute of Computer History at the University of Minnesota (see http://www.cbi.umn.edu):
The classic von Neumann architecture for a computer consists of a digital memory to hold both programs and data, a control unit to obey the program instructions in memory, either in sequence or jumping to specified locations in memory, modifying the contents of memory according to those instructions, various arithmetic units to perform calculations required by the program as directed by the control unit, and input/output units.
From a modern user's point of view, a typical desk-top computer consists of a system unit, input devices, such as a keyboard and a pointing device (a mouse, trackball, trackpad, etc.), a display device (usually called a monitor) to show text and graphics, and additional perpiheral devices to store data, to print text or graphics and to transfer data to other computers.
The basic skills needed to use a computer are the ability to type on a keyboard, and to use the pointing device to interact graphically with the images displayed on the monitor. |
The keyboard: For personal computers and workstations, one of the two most important input devices is a typewriter-like keyboard. The most common format is a so-called "QWERTY" keyboard with a function keys and a numeric keypad. There are many variations of the layout of keys. For example, for some keypads, instead of having "(num lock) = / *", the top row might have "(num lock) / = -" with the size of the &wquot;+" key increased for more efficient summing. The entire main keyboard may restructured to conform to the Dvorak layout, , which attempts to lay out the leys in a more efficient ordering for typing. See Marcus Brooks web page, http://www.ccsi.com/~mbrooks/dvorak/ for more information on Dvorak keyboards.
Great caution is needed when first using the keyboard on an unfamilar machine in order to establish which keys perform what actions. There are no commonly agreed standards which apply uniformly even among computers produced by a single manufacturer, much less across brands and types.
The ordinary typewriter-like keys usually produce lower case letters when prsssed with no shift modifiers, and upper case letters either when a shift key is held down before pressing the appropriate letter, or when the "cap lock" key has been toggled.
The uses on the other keys vary from computer to computer and from program to program, but in general, the "ESC" (escape) key is used for special commands, the "tab" (tabulate) key is used to jump along a line or to switch among fields, the "CTRL" (control) key and "ALT" (alternate) or "OPT" (option) keys are used like a shift key to modify the behavior of ordinary keys to be used for special commands or control. The special functions keys "F1", "F2", etc. are used for various predefined commands, sometimes in combination with the special shift keys. For example "ATL-F4" is often use to terminate programs under Windows.
The mouse or trackball:The other critical input device is a pointing device which controls a cursor on the computer display device, acting as a laser pointer for a slide show or as a pen for drawing. The most commonly used pointing device is the mouse, a small devices designed to be hand-held and slid along a surface. The top surface of the mouse might have one, two or three buttons. The one-button mouse has been traditional for Apple MacIntosh computers, the two-button mouse for Microsoft Windows, and the three-button mouse for Unix-based graphics workstations, especially using X-Windows, but increasingly the lines among systems have blurred.
In a trackball, the ball that the mouse rolls around on in placed in the top of the device and is spun by hand, requiring less desk space. In a trackpad, a fingertip or pen is moved across a small surface to indicate relative motion. In a touch screen, the front of the display screen is made position sensitive.
All the devices mentioned thus far provide only two degrees of freedom. For management of some graphical displays, three or more degrees of freedom are useful. Glove, kites, spaceballs, and other devices can sense the position and orientation of a hand in space, giving three or more degrees of freedom.
A rapidly increasing percentage of the computers in the world are connected through a loose confederation of computer networks called the Internet. Standard protocols are defined to allow terminals to be connected to computers (telnet), for files to be transfered among computers (ftp), for electronic mail messages to be send (smtp, pop, imap), for hypertext pages to be viewed (httpd). The free flow of information via the internet is revolutionizing many aspects of modern life. One of the most important and popular tools is electronic mail (email). In order to send email to another person via the internet, you need to know their electronic mail address:
There are many kinds of computer systems. Indeed, computers are now part of almost every aspect of modern life, having been adapted to provide flexible and efficient processing for all kinds of information, from bank accounts balances, to the state of autombile engines and brakes, to music and images for entertainment.