CmpE 150 Introduction to Computing
Computer literacy lecture #8
Electronic spreadsheets are a popular form of productivity software which enable users to create and manipulate tables quickly by entering labels and values into cells on a display-screen grid. When you start using a state-of-the-art spreadsheet, part of an initially empty grid, (called a worksheet) consisting of thousands of rows and hundreds of columns, appears on the screen. Into each cell (i.e. row-column intersection,) you can put a piece of text, a number, or a formula. For example, an instructor giving a course can use a worksheet in which there is a row for each student. In each of these rows, cells of the first column are used to contain the student's name, cells of the second column contain the student's first midterm grade, etc. After everybody's midterm and final grades are entered, the spreadsheet can be made to automatically compute the weighted grades and the overall average, if the appropriate formulae (like '(the number in the second cell of this row + the number in the third cell of this row) * 0.25 + (the number in the fourth cell of this row) * 0.5') have been coded into other cells of the worksheet. You can also easily rearrange the data; for instance, in our example worksheet, the user can sort the rows in alphabetical order of the student names, or decreasing order of the weighted grades, by giving a few simple commands. Advanced spreadsheets have the additional capability to represent the numerical data entered to them in the form of graphics; like pie charts, bar charts, line charts, etc.
Database management systems are programs which enable the storage of and easy access to large amounts of data. Consider a big organization, like our university. The registrar's office has a huge file containing information (like name, name of parents, department, GPA, courses taken, etc.) about each student. The university hospital has another file containing information about other aspects of the same people: Name, dates on which he/she visited the hospital, previous illnesses, etc. The personnel office has yet another file containing information about each employee of the university. Accessing information in any one of these files efficiently and keeping them up to date is no easy task. But suppose that we have a question that can be answered only if all those files are looked up in the same time, like 'What are the names and GPA's of the students who are allergic to strawberries and whose parents are university personnel?' (Even stranger questions may come up during, say, a police investigation.) Database management systems are able to answer such queries by integrating the data in the various files by 'connecting' the files through certain items ('fields') appearing in multiple files, like the 'name' fields in our example.
The widespread use of computers and especially the advances in networking and database technologies have made computer crime a major issue. Consider what a criminal could do if he was able to change certain values in a bank's transaction files, or a school's grade files. Some criminals write programs to steal money for them. For example, a programmer working for a bank can write a program which transfers very little amounts of money from seldom-used accounts to his own account. If the number of accounts 'shaved' in this manner is sufficiently big, and if the bank's management is silly enough to allow any single person to have this kind of capability, the criminal can become a rich man in a reasonably short time. This is another reason that everyone, not only engineers or technically oriented people, should know about computers; you must be aware of the negative things other people can do using them, and take the necessary measures to prevent this.
------
Every computer-literate person should know about the pioneers of this field. Here is a brief list of famous computing people:
-Blaise Pascal: Constructed a mechanical calculating machine which could perform addition and subtraction.
-Gottfried Wilhelm Leibniz: Built a mechanical calculator which could perform the four arithmetic operations and take square roots.
-Charles Babbage: Designed (but was unable to build) the 'difference engine,' which embodied many of the ideas underlying modern computers.
-Ada Augusta Lovelace: Worked with Babbage. She is considered to be the first programmer and the 'inventor' of loops and procedure calls.
-George Boole: Provided many of the mathematical foundations of computer science, including boolean algebra.
-Herman Hollerith: Founded the company which later became IBM.
-Alan Turing: Gave a precise mathematical form to the intuitive notion of algorithm, proved that there are problems which do not have a general algorithm that can be used to solve them, put forward the idea of using the computer to build an Artificial Intelligence, and did all those things before the invention of the electronic computer!
-John Atanasoff and Clifford Berry: Designed (but were unable to build) the first electronic digital computer.
-Konrad Zuse: Built the first electronic digital computer in Germany in 1941. This was kept as a secret for many years, and the machine was destroyed near the end of World War 2. Americans built their first such machine, ENIAC, in 1943-1946.
-John von Neumann: Designed the first computer in which the programs were not implemented in hardware, so the same computer would be able to solve different problems without having to be 'rewired.' Von Neumann's idea is what we use in present-day computers.