Are all Computer Scientists computer literate?

advertisement

Are all Computer Scientists computer literate?

Lucas Venter

1

Quotes:

1. Is there a Computer Scientist in the house?: Prof of Information Systems at his inaugural lecture, after the computer running his PowerPoint presentation crashed.

2. I HATE COMPUTERS!: Prominent Computer Scientist, in the tea room.

3. Computers zijn fijne dinge, zolank hulle werk: (Computers are nice, but only when they work): MD of an International IT organization, after attempting for many hours to get his home network up.

4. I don't have an email address.

Donald E Knuth.

5. Switch the power off at the plug!

Computer Scientist, after struggling with the remote control of the aircon.

6. My son/daughter is very good with computers: On many occasions, parent of failed first year student.

7. I am now at first year university level: Secretary, after completing a week long course in MSWord.

Introduction

We live in a computerized world. The administrative processes of our society are fully computerized. Our communications systems are computerized. Our financial support systems are computerized. Our transport services are computerized.

Our diaries are computerized. Our vacations are planned and booked by computer. We can even order flowers or send a get-well card by computer. The fact is that everybody interacts with computers on a daily basis. The computer has probably become the most useful and sophisticated tool since mankind invented the wheel. This amazing feat has been accomplished in a mere half century; the first digital computer, ENIAC, was built in 1946 [i (1981)]. And in

1969 Rusch [ii] wrote:

Still to come is an era wherein the number of computers and their uses will increase tremendously. No one can imagine where and how they will be used or what their effect will be. Ultimately, they may become as commonplace as the airplane, the automobile and the telephone.

Someday, it may even be necessary for every person to have at least a working knowledge of these machines, and how they operate.

1

Department of Computer Science, UNISA

These prophetic words of Rusch has now become a reality: In 1973 Hewlett

Packard introduced the HP35 and HP65 series of calculators, which made computing power generally available. This was followed in 1977 by the Apple II computer, and in 1981 the IBM PC appeared. Suddenly every household could own and use a computer. But computers also invaded other sectors of our everyday lives. Every modern airliner has a number of computers that drives its avionics; all telephones are connected in some way to a computer and our cellular phones are indeed marvels of the computer age; the computing power of the average German sedan is orders of magnitude larger than that of ENIAC.

This revolution stimulated the development of a number of new skills, and the rediscovery of some old skills. People had to learn to use these new machines.

New applications for the machines were constantly discovered, and naturally some people wanted to use their machines more efficiently than everybody else.

Training programs in various aspects of computer technology was, and still is, offered by many different institutions and organizations. Currently, these training programs are generally classified into two categories, namely computer literacy and computer science, but the distinction between the two is not always clear to everybody. Our main aim in this paper is to attempt to give meaningful definitions for the terms “computer literacy” and “computer science”, and then in conclusion we will try to clear up some of the confusion surrounding these concepts.

Computer Science

Definitions

We begin by giving a brief definition of Science, and then turn to a discussion of the subject field popularly called Computer Science. As our discussion progresses, it will become clear that it is possible to have a broader view of the subject field.

Science is a process of searching for fundamental and universal principles that govern causes and effects in the universe. The process itself is a method of building, testing, and connecting falsifiable models to describe, explain and predict a shared reality. The method includes hypothesis, repeatable experiments and observations, and new hypothesis. The prime criterion in determining the usefulness of a model is the ease with which the model correctly makes predictions or explains phenomena in the shared reality.

(http://www.csicop.org/youngskeptics/education/resources/sciencedef.html)

The point here is that Science is about searching for and studying principles by building and testing models.

We now turn to definitions of the subject field studied in Computer Science departments. In one of the earliest formal definitions from 1967, Newell, Perlis and Simon [iii] states that Computer Science is

the study of computers and the major phenomena that surround them.

In this definition, the machine plays a central role. This is also the case in some more recent definitions. For instance, the following definition comes from the

Webopedia: ( http:// webopedia.lycos.com/TERM/C/ computer_ science.html,

2002)

The study of computers, including both hardware and software design.

Computer science is composed of many broad disciplines, including artificial intelligence and software engineering. Most universities now offer bachelor, master, and doctorate degrees in computer science.

These are very limited definitions of Computer Science. It is comparable to the view of many first-year Computer Science students. Most modern definitions of the subject field differs substantially from this view. The following discussion was taken from the web site of an introductory Computer Science course at Bishops

University in Canada ( http://www.ubishops.ca/faculty/rbrewste/csc101/, 2001)

1. Misconception 1: Computer Science is the study of computers. "CS is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes." [iv]

2. Misconception 2: Computer science is the study of how to write computer programs.

3. Misconception 3: Computer science is the study of the uses and applications of computers.

Computer Science is the study of algorithms, including: a. Their formal and mathematical properties; b. Their hardware realizations; c. Their linguistic realizations; d. Their applications.

This definition is the traditional scientific view of Computer Science, and describes one aspect studied in Computer Science departments. Notice that the machine is not even mentioned in this definition. A slightly broader view is found on the web site of the Computer Science department at the University of

Valparaiso, Indiana, USA, ( www.valpo.edu/mathcs/ what_is_cs.html, 2001):

Computer Science is, simply put, the study of computation. The study of anything that lends itself to a computational model is a study in

Computer Science. The most fundamental concept of the discipline is the algorithm . An algorithm is a precise sequence of instructions. ...

After the algorithm, the next most fundamental concept in Computer

Science is the data structure . A data structure is an abstract representation of an entity. .....

The inclusion of the word 'computer' in the name of the discipline is somewhat misleading; the study of computers is only one component of

the discipline. The origin of the name is due to the fact that the high speed electronic computers created the need to study computation. .....

Finally, and most importantly, computer scientists are computer scientists because it is fun. (Not to mention lucrative career opportunities!)

This discussion coincides with the definition of Computer Science, as presented in the USA Federal Standard 1037C: ( www.its.bldrdoc.gov/fs-1037/dir-008/

1196.htm

) computer science: The discipline that is concerned with methods and techniques relating to data processing performed by automatic means. data processing: The systematic performance of operations upon data such as handling, merging, sorting, and computing. ..... Synonym information processing .

The emphasis here is placed very much on computing : the concepts and techniques used in this process are important. The algorithm is one aspect of this computing process, but there are also other (non-algorithmic) processes involved. It is also clear that the emphasis have moved away from the machine as object of study. We are manipulating data , in order to transform it into information . The computer is simply seen as a tool, to be used in this process.

The ACM, together with the IEEE, refers to Computing curricula in their 2001report on curricula.

In the light of the above discussion, we can now conclude that the modern

Computer Scientist is a person who searches for and studies the principles of

Computing. One of the tools to be used in this process is the computer.

A short history of the subject field

Computing, and especially the subdiscipline Computer Science, is a very old study field, even though it was not always called by this name.. The Greek philosopher Euclid, (430-360BC), in his Elements , laid the foundation for modern computer graphics. He also developed an algorithm to find the greatest common divisor of two integers, which is used in modern cryptography. Sir Isaac

Newton (1642-1727), published (amongst many other things) an iterative algorithm to find the roots of an equation. This method is still used in many modern numerical methods. These are only two of an almost endless list of scientists who studied algorithms.

In the early 19 th

century, the attention started to include the machine. For instance, Charles Babbage designed a number of mechanical machines to do rapid calculations. His difference engine was successfully built, but the design of his programmable analytical engine was beyond the scope of instrument builders of the time. It is remarkable to note that lady Ada Lovelace (1815-1852), daughter of the poet Lord Byron, designed a programming language for this machine, even though she never had access to a working model of it.

In the 1930s and ‘40s, attention shifted strongly to a scientific study of the machine. Alan Turing (1912-1954) in Britain and John von Neuman (1903-1957) in the USA published models of the ideal computing machine. Turings’ work still form the basis of any so-called theoretical computer science course. All modern electronic computers are based on the model proposed by von Neuman. During the second world war, both these scientists turned to more practical work. Turing led a team of crypto-analysts who deciphered the German Enigma machine, while von Neumann worked on the development of the hydrogen bomb.

In the late 1950s attention shifted again, this time to programming languages and the development of software, i.e. the communication between machine and human. The first high-level compiler for FORTRAN appeared in 1958, which led to a proliferation of programming languages. During this time, some of the scientific basis of Computing was eroded. In his inaugural lecture, prof R van der

Riet [v] states:

Het grote aantal programmeertalen, de onvruchtbare discussies over

FORTRAN versus ALGOL, en die onwetenscappelijke aanvallen op

ALGOL68 zijn slechts enkele voorbeelden die het ontbreken van algemeen aanvaarde wiskundige principes so duidelik demonstreren.

In effect, he says that at the time there is a general lack of scientific direction in the design of programming languages. Fortunately, this is no longer the case, due to the efforts of D E Knuth. He published volume 1 of The art of Computer

Programming in 1968. (See [vi]) Eventually, this series will consist of seven volumes, of which three have appeared ( 1: Fundamental Algorithms, 2:

Seminumerical Algorithms, 3: Sorting and Searching). Volumes 4

( Combinatorial Algorithms ) and 5 ( Syntactical algorithms ) are in preparation and will appear soon. These books have been named amongst the best twelve scientific monographs of the twentieth century. They contain a concise, scientific description of various aspects of Computing.

In the late 1990s and early in the 21 st

century, the emphasis in Computing is again shifting. We have amassed vast amounts of data . This data in itself is meaningless. In order for the data to become information , we have to place it within a certain context or give some interpretation to it. Very often, the data must be summarized or processed in some way to become information.

Currently, a vast amount of work is done to understand this transition from data to information. This work takes many guises: our understanding of large databases

(and data warehouses) is growing, the transport of data to and from the database through networks (and the Internet) is studied, the actual conversion from data to information (knowledge) is studied at many different levels in many subjects such as Software Engineering, Project management courses, etc., and the presentation of the information is the subject studied in HCI courses. The data itself comes from many different sources; one of the growing fields is the vast amount of biomedical data which must be transformed into knowledge.

Who knows where the attention will go in the future? Perhaps back to algorithms? This study is continuing, and new discoveries are made daily.

Perhaps back to the machine? The principles of quantum computing, which have

been well documented (see for instance http://www.sciam.com/

1998/0698issue/0698gershenfeld.html

), differs substantially from the von

Neumann model. Or will some other aspect of Computing become important?

Only the future can tell.

Computer Literacy

Definitions

The term “Computer Literacy” was first used in 1976, in a paper by John

Nevison. [vii] He wrote:

Because of the widespread use of elementary computing skill, there should be an appropriate term of this skill. It should suggest an acquaintance with the rudiments of computer programming, much as the term literacy connotes a familiarity with the fundamentals of reading and writing, and it should have a precise definition that all can agree on.

It is reasonable to suggest that a person who has written a computer program should be called literate in computing. This is an extremely elementary definition. Literacy is not fluency

We note that Nevison was equating “elementary computing skill” with “rudiments of computer programming” This was written at the time when Computer

Scientists were studying the communicative aspects of Computing, when programming languages and the development of software were the flavours of the day. Computers were still relatively rare, and few people had access to computers. However, two categories of computer users were emerging. On the one hand, there were the Operators: a very powerful but small group of people who maintained the machine. These people were often very skillful programmers, providing an interface between the machine and the users of the machine. On the other hand, there was a larger group of people developing software that ran on the machine to accomplish a number of tasks: the

Programmers. This is the group of people that Nevison was describing in his paper.

As we noted in our introduction, computers become more accessible in the late

1970’s and early 1980’s. These new machines did not require an Operator; instead it had a program called the Operating System that provided the interface between machine and user. The maintenance tasks were relegated to people who required no programming skills. The machine itself was essentially a singleuser machine. A new phenomenon arose – the user could now buy preprogrammed software that would run on his machine. The software would be installed on the machine, and the user simply provided some inputs, in order to get the required output. The vast majority of users were no longer required to have any programming skills. They needed new skills: the ability to select and use software became increasingly important.

This proliferation in computer users led to an increasing demand for MORE and

BETTER; machines became more sophisticated, the capacity of machines grew at an alarming rate and communication between machines became better. All of

which led to the growth of data, as mentioned in the previous section. Now, users also need the ability to select and use tools that can turn data into information.

Because of this change in skills required by the majority of computer users, the definition of the term “Computer Literate” has also changed. Currently, there are two groups of Computer Literacy courses.

The first group of literacy courses is typified by Websters’ definition of computer literacy [viii]: the ability to use a computer and its software to accomplish practical tasks

No theoretical knowledge of computerized systems is assumed, the user must simply have the skills to accomplish certain tasks . Many computer literacy courses of this type can be found advertised in the daily press and on the

Internet. They usually consist of practical work using some standard application, such as a word processor or spread sheet program. Most of them will also include some aspect of Internet usage, such as teaching the user how to use a

Web browser. This type of course is at a functional level of literacy.

Jan’s Illustrated Computer Literacy 101 ( http://www.jegsworks.com/ , 1997), taught at the Roane State Community College, Tennessee, is typical of the other group. The course has two components. The theoretical part consists of the following lessons:

1. Computer Types

2. Applications

3. Input

4. Processing

5. Output

6. Storage

7. Computer to Computer communication

8. System Software

9. Programming

This covers the basic principles underlying any computer system, and develops problem solving skills. The course also has a practical component, namely an introduction to Microsoft Office in which functional literacy is achieved.

In the functional approach, certain isolated skills are achieved. While this might be useful, the second, integrated approach will develop in the learner the ability to solve problems and complete complex tasks. Not only does the learner learn the “how”, but also the “why” and the “when” of computer usage.

It seems generally accepted that the practical component of both groups will include obtaining skills in working within the Microsoft Windows environment.

This is not surprising, since a very large percentage of personal computers currently use some Microsoft-produced operating system.

Literacy in general

In the general literature on literacy, two views are predominant. On the one hand, there is the instrumental notion of literacy, which views literacy as the

possession of certain practical skills that allows the owner to participate in a given activity. This coincides with the functional group of courses. On the other hand literacy can be seen as a mediational process , that help the possessor to understand how the world is shaped by literate practices. (See for instance [ix])

We examine this second view in some detail.

In the context of Computer Literacy, it would mean that the possessor would have the ability to understand computerized processes. (S)he should be able to accomplish a certain task with given software, without being taught the specific steps required to obtain the result. The basic assumption in this view is that the person:

1. understands the task to be completed;

2. can provide a series of steps that would lead to the required result;

3. understands the basic working of a computer;

4. can run the software provided;

5. can find a way of providing the necessary input to the software;

6. can perform the steps required to solve the problem with the software provided;

7. can interpret the output provided by the software;

Step 1 requires the person to understand the principles involved, and step 2 means that the person must be able to provide an algorithm to solve the problem. Hence the person must have some basic problem solving skills. Steps

3 and 4, and partly step 5, would follow if the person has a basic understanding of computer systems, such as described in the first part of Jan’s Illustrated

Computer Literacy 101. Parts 5, 6 and 7 depends on the logic and usability of the computer system, and in particular the software. The software must provide a way of implementing the specific algorithm that the user has in mind, and the interface between software and user must be built in such a way that the user can understand and use it. If the user is unable to complete any of these steps, the software must provide some guidance. The user should also be able to experiment with the software in order to learn how to use it.

While functional computer literacy is relatively easy to achieve, the general consensus in the literature indicates that the integrated approach is more desirable. This approach will eventually lead to computer fluency.

A final definition

A comprehensively computer literate person is someone who has a certain attitude ; a willingness to study the problem at hand in detail (problem solving skill), and a willingness and ability to experiment with the given computer system, both hardware and software.

On the other hand, the given computer system must function correctly and in a logical way, and must provide the user with the means to communicate with it.

Hence the literacy of a person also depends upon the computer system that

(s)he is using.

Are all computer Scientists Computer Literate?

In conclusion, we return to the question posed in our title. This question arose out of numerous discussions I have had with many people in formal and informal situations. You saw some quotations at the beginning of this paper. Every computer scientist has heard or made statements like those on numerous occasions. Even worse, computer scientists are sometimes accused of knowing nothing about computers. People expect computer scientists to know everything about all aspects of computer technology. This is obviously not possible. The question then is: what can you expect from the average computer scientist?

Most computer scientists will be functionally literate (even functionally fluent) in at least one aspect, namely that area which supports their area of expertise.

The computer scientist is experienced at studying the underlying principles of a process, and then applying these principles. The computer scientist can hence, when required to do so, become comprehensively literate in virtually any aspect of computer technology since (s)he already has the problem solving skills and the willingness to experiment with computer systems.

In general, most scientists with a mathematics-based training are trained problem solvers. If they are also willing to learn the computer basic, they too can become comprensively computer literate. Computer literacy does not recide solely in the realm of computer science.

References

[i[ Stern, Nancy B. 1981. From ENIAC to UNIVAC: an appraisal of the

Eckert_Mauchly computers.

Bedford, Mass: Digital press.

[ii] Rusch, Richard B. 1969. Computers: Their history and how they work.

New

York: Simon and Schuster.

[iii] Newell, A., Perlis, A. & Simon, H. 1967. What is computer science?

Science, 157, 1373-4.

[iv] Parberry, I and Fellows, M R. 1993. SIGACT Trying to Get Children Excited

About CS, Computing Research News, Vol. 5, No. 1, p. 7.

[v] van der Riet, R P. 1971. Wiskunde, Computers en Computerwiskunde. Vrije

Universiteit Amsterdam. Inaugural Lecture.

[vi] Knuth, D E. 1968. The Art of Computer Programming V1: Fundamental

Algorithms . Reading, Massachusetts: Addison Wesley

[vii] Nevison, John M, 1976. Computing in the Liberal Arts College , Science,

Oct. 22, pp.396-402

[viii] Webster's II New College Dictionary. 1995. New York: Houghton Mifflin

Company.

[ix] Jones, B. 1991.

Critical Computer Literacy . PhD Thesis, University of

California, San Diego.

Download