An approach to improving computer literacy

An approach to improving computer literacy

123 North-Holland Publishing Company Microprocessing and Microprogramming 9 (1982) 123-132 An Approach to Improving Computer Literacy Harold W. Laws...

590KB Sizes 6 Downloads 263 Views

123 North-Holland Publishing Company

Microprocessing and Microprogramming 9 (1982) 123-132

An Approach to Improving Computer Literacy Harold W. Lawson Jr. Department of Electrical Engineering, Link6pings University, S-581 83 Link6ping, Sweden The economic investment for education in the computer area, due to the seemingly overwhelming complexity of the subject, has been a detering factor to providing a thorough generalized introduction to computer system concepts and terminology. In the vocational environment, time is money and thus education usually is very special purpose; that is, it normally presents only those aspects necessarily for job specialization. On the other hand, with only a narrow view of the computer system forest, the employee ('student') is not capable of coping with or understanding the variety of problems that can arise in the use of computer based systems operational in his/her environment. In this paper, a new, low cost approach to introducing general 'core' concepts and terminology for those requiring or desiring literacy in the computer area is presented. The approach concentrates upon the notion of processes and systems of cooperating processes with analogies being made between the everyday human activity processes of washing and drying dishes and the processes of the various levels of the computer system. The approach has been used successfully in introducing computer system concepts and terminology to a variety of audiences including journalists, politicians, librarians, secretaries, various administrative and technical personnel as well as computer professionals to be. A book presenting the approach is currently available in English and Swedish and further versions will be available in at least five other languages. Educational assistance materials are available and an animated film, as well as a microcomputer based CAI package which builds upon the approach are being developed.

way or another. In the developed world, where the job market and the nature of jobs will be radically effected, there are even demands being placed by unionists upon corporations and computer suppliers. An important case in point are the developments in Norway where labor unions have reached agreements with the employer organisations consisting of the following main points. The agreements contain paragraphs that express the right of employees to 'gain insight into and understand fundamental features of the systems they themselves use or are affected by and to understand the importance of the use of such systems both to the company and the employees in their work situation'. Further, the agreement states that systems must be explained in a 'language easily understood by persons lacking special knowledge of the area concerned'. From these agreements, it is quite clear that the employees feel that knowledge of the technology is a basic right. Both our computer systems of today and our education methods do not live up to these demands. In this paper, we shall consider an approach to attacking this vocational educational problem. Hopefully, by education and future 'demands', computer system architectures will also be improved.

Keywords: Computer Education, Computer Literacy, Process Oriented Approach.

1. Introduction

Amongst many prominent educators, Aiken [1] has stated that computer literacy is one of the most pressing problems of the 1980's. It is quite clear that computer technology will effect all of the worlds population, especially its work force, in one

2. The Core Approach

One of our basic problems with computer education for all categories (including professionals to be) is that the education, to a large extent, has been detail oriented with little attention being given to concepts and principles. Our education approach has followed the stratification of the various separate specialities of the professionals involved from basic lower levels of circuitry to the higher

H. W. Lawson Jr./Improving ComputerLiteracy

124

3. Analogy to Everyday Processes and Systems GATES AND DIGITAL CIRCUITS

'dEMORY, CPU, 1/O INSTRUCTION REPERTOIRE

-

A

J

OWCHARTS AND/OR LANGUAGE

PROGRAMMING

Fig. 1.

levels of application and utilization. Try to imagine the 'perfect' computer professional that knowns everything about all aspects of computing as portrayed in the pie diagram of Fig. 1. The individual pieces of the pie represent the 'components' of knowledge with some typical conventional education starting points shown at the right. The problem with beginning with these detailed subjects is that it takes a long time before they are mastered and that the 'student', during this detailed education, has difficulty relating this specific knowledge to the big picture. A far better approach would be to present a core consisting of the essential ideas of each subject (as denoted in the above picture) so that the big picture is clear from the start. This core, being a good starting point for the professional to be, would also serve as a core for providing basic computer literacy for all categories of people who will or must have contact with computer systems. The major problem is finding an approach to presenting the core without presenting the details and which can be mastered, in a reasonable amount of time, by all 'students' according to the following truism: PEOPLE LEARN BEST WHEN NEW CONCEPTS ARE PRESENTED IN TERMS OF WHAT THEY ALREADY KNOW. Several years of experimentation to find an appropriate approach has resulted in a process and system oriented approach presented in the book Understanding Computer Systems [2] which is also published in a Swedish version [3].

The key idea used in achieving the truism mentioned above is the use of a simple but effective analogy between the various processes and systems of cooperating processes of the computer environment and counterpart least common denominator examples understandable by all 'students'. The flavor of this approach can be obtained from the following quotation taken from an introductory chapter. Begin quotation... We begin this education process with a pictorial representation of a well-known real life process (task) faced by many of us. (See Fig. 2.)

Fig. 2. A Process.

Note that the concept of process and task are synonomous and thus in all further references to process related concepts, the word task may also be utilized. Let us now consider this real life process of washing the dishes in the form of an abstraction which shows the major elements of this process as depicted in Fig. 3. Dirty dishes, detergent, water and dish cloth are process inputs and clean dishes is a process output. The process which we have shown here can only be carried out "executed" when we apply a processor (see Fig. 4).

DETERGENT WATER

WASH

CLEAN DISHES

DISH C L O T H

Fig. 3. A Process Abstraction.

/-I. W. Lawson Jr./Improving Computer Literacy

Fig. 4. A Processor.

Let us complement this single process by introducing a second process (Fig. 5) thus creating a system of cooperating processes. Note: Implicit in this description is the definition of a system as a collection of interrelated processes. We can continue the general abstraction of this system of cooperating processes by introducing an abstraction for the second process, namely the drying process, in the manner of Fig. 6. Further basic concepts of a uni-processor executing one of these two processes at a time, multiprocessors executing the WASH and DRY processes in parallel, interrupts, process creation, suspension, initiation, etc. are introduced in this context which does not at all present computers but quickly illustrates central basic computer related concepts.

125

From these basics, we build further on the same example to illustrate the three most important basic concepts of the computer environment, namely, data flow, control and programmed logic. In explaining data flow, we replace data with objects; namely dishes, and show how the dishes flow through a single process and through a system of cooperating processes. In explaining control, the notion of signals given to processes to say when to initialize, start, reset, etc is presented. A further analogy to a project manager giving signals to his project members (processors) provides further assistance in understanding control signals. In summarizing control concepts, the idea of viewing a process as a machine with lights representing states and pushbuttons to activate procedures is promoted by the analogy of Fig. 7. The description of the operation of this machine leads naturally to the notion of state transistions showing the states in ovals and the cause of transition on arcs as illustrated in Fig. 8. To introduce algorithm and programming notions, a modified form of 'Dimensional Flowcharting' (4) is utilized. The rules of dimensional flowcharting are utterly simple. The algorithmic structure is represented in three dimensions according to the rules as shown in Fig. 9.

Fig. 5. A Second Process.

DIRTY DISHES DETERGENT

~

WATER

DISH CLOTH

WASH

-I

----e" CLEAN DISHES DRY DISH TOWEL

Fig. 6. An Abstraction of a System of Cooperating Processes.

J

DRIED DISHES

126

I-I. W. Lawson Jr./Improving ComputerLiteracy

PROCESS DIRTYDISHES DETERGENT WATER DISHCLOTH

MACHINE

~

&

WASH

I -~" ERROR

INITIAL START RESET

Fig. 7. A

~

error fixed

Transition Diagram.

> SELECTION

REFINEMENT

SEQUENCE

Fig. 9.

~-~-1 ~E'-~

Flowchart conventions.

I DOTHISACTION

I I THENTHATACTION

THENTHATACTION

±

~

The application of these rules are illustrated more concretely by Fig. 10. The ground symbol is used as the termination point of a sequence. To achieve the ability to iterate, we add the notion of a repetitive sequence where the predicate (question) at the beginning of the sequence gives the terminating condition and the asterisk denotes that the sequence is to be repeated (Fig. 11). Via the use of dimensional flowcharts, we are able to present a computer-like representation of the WASH process as shown in Fig. 12. The process described in this form shows declarations of external process connections; namely, ports and internal process objects; namely, state variables. Note that the executable procedures correspond to the buttons of our previous machine like view of the WASH process. The net result of exploiting this everyday example is that it provides a well-motivated introduction to processes and systems of cooperating processes where the basic notions of data flow, control and

RESET

~

~

Process as a Machine, Controlled by Push-Buttons.

INITIAL

Fig. 8. State

READYIN PROCESSERROR t O O O

~

C L E A N DISHES

tINCASEOF-I

I

LARGERCOMPOSITEACTION PREDICATE DOTHISACTION

±

b

Fig. 10.(a) A sequence. (b) A selection. (c) A refinement.

DOTHISACTION

J

THENTHATACTION I THATACTION THEN I THENTHATACTION

H. W. Lawson Jr./Improving Computer Literacy

( WHILE I

PREDICATE

.

I

DO THIS SEQUENCE

I

Fig. 11. A Repetitive Sequence.

programmed logic have been presented~. At this point, in the full description provided in the book, the following non-trivial vocabularly has been introduced. proces (task) process outputs processor cooperating processes concurrent processes

process inputs process execution system uni-processor multi-processors

1 A trade union member in Sweden observed that this process oriented way of looking at a job (washing dishes in this case) and the simple dimensional flowchart approach are quite useful and in his meaning could even be used as a media communication between the qualified 'user' who knows his/her manual job and the implementor of an automated equivalent. One could also hope that, in future computer systems, the users specification could be the program to be synthesized for computer execution.

127

interrupt process creation process initiation process resumption parallel processes

process priority process suspension process termination processor assignment

data inform, proc. system alphabet port output port transmission simplex half-duplex

information data processing system storage input port storage process channels duplex

control speed (time) independent speed (time) dependent error conditions system constraints consuming process monitor process clock signal process (machine) state

asynchronous control synchronous control signals buffer producing process resource resource ownership process initialization

state transitions finite state machine state indicators

state transition diagram local storage state variables

PROCESS WASH ~

DECLARATIONS

~

PORTS DIRTY DISHES, DETERGENT, WATER, DISH CLOTH, INITIAL, START, RESET, CLEAN DISHES, ERROR

_L

STATE VARIABLES . ~

IDLE, READY, IN PROCESS, ERROR, BUFFER~ WATER TEMPERATURE L...

PROCEDURES INITIAL

~

NPUT WATER

RESET

INDICATE IN PROCESS

I I

~NPUT DETERGENT I

START

INPUT DISH CLOTH

_/__DICATE .E^DY

WHILE-

DISHES EXIST IN DIRTY DISHES i t INPUT DISH FROM DIRTY DISHES I WASH DISH I OUTPUT DISH TO CLEAN DISHES I IN CASE OF WATER TOO COLD

I

i

ADD HOT WATER

__1_ INDICATE IDLE

Fig. 12. Flowchart of Process Logic.

H. W. Lawson Jr./Improving ComputerLiteracy

128

sequence refinement flowcharts (flowdiagrams) declarations

selection program (algorithm) repetitive sequence procedures

MEMORY

~

4. T h e Transition to the Real T h i n g

With the first half of the analogy now presented, the real thing is introduced starting with todays most common human contact with computer system (i.e. the terminal) as illustrated in Fig. 13. The 'student' accepts that this is simply a system of cooperating processes, like WASH and DRY, and by depressing keys, data is transported from the terminal process to the computer process, placed in the memory, operated upon and that results are transmitted back to the screen. The real data processed by computer systems (numbers and symbols) are now considered in enough detail to provide the student with a basic knowledge of how data can be represented and interpreted. An example of applying earlier analogies is given by the following view of a process to convert binary numbers to decimal numbers along with the related programmed logic of the process in the form of a dimensional flowchart (Figs. 14 and 15). By following this example, possibly by hand simulation (that is, following the change in input values and STATE VARIABLES), the student discovers that this algorithm is not any more difficult than understanding the WASH process algorithm which he/she has already mastered. The

~

COMPUTER

TERMINAL

SYSTEM

PROCESS

Fig. 13. Terminal Connection to a Computer System.

I DIGIT POSITIONVALiEI BINARYNUMBER INITIAL M S ---- T-- tiCCUMULATED A R T Si

[

¢- DECIMAL NUMBER,

Fig. 14. Binary to Decimal Conversion Process.

PROCESSCONVERTBINARYTO DECIMAL ~ DECLARATIONS ~

PORTS ~ B1NARYNUMBER,INITIAL,START,DECIMALNUMBER STATEVARIABLES _~'~'~ DIGIT~POSITIONVALUE,ACCUMULATEDSUM

PROCEDURES ~

INITIAL SET

TO

I

TART

POSITIONVALUE 1

WHILE

SET ACCUMULATEDSUM TO 0

_1_

A BINARYDIGITEXISTS I INPUTNEXTLOWORDERDIGIT FROMBINARYNUMBER I MULTIPLYDIGITWITHPOSITIONVALUE AND ADDTO ACCUMULATEDSUM I MULTIPLYPOSITIONVALUEBY 2 I

OUTPUTACCUMULATEDSUMTO DECIMALNUMBER

Fig. 15.

H, W. Lawson Jr./Improving ComputerLiteracy

REGISTERS

MEMORY

129

I/O BUFFERS

7 - r - - ] ~;r---v--] i

i

II

~

MEMORY

I

"

', :

i

: :

p.tl~

I - - - ~ [CENTRAL PROCESSING

I N P U~T / O U T P U T

~v~

i~1

CONTROLLER

"

UNIT

- i/()--'l

~HA-N-N-E~D~

I (cPU)

I PERIPHERAL,I

DEVICES ........

: J

Fig. 16. The Cooperating Processes of a Computer System.

ASCII alphabet is introduced to explain symbol representation and the principles of collecting data (numbers and symbols) into arrays and structures are introduced. We are now prepared for the classical block diagram of the computer system as presented in Fig. 16. Again, the student sees the computer as a system of cooperating processes in the same way as WASH and DRY are cooperating processes. However, it is data and programs that are transported around in this environment instead of objects (dishes). The fact that a large part of the activities of the computer system involve transport of data from one place to another is emphasized. The general properties of these 'processes' are presented including descriptions of registers, memories and I/O buffers as local state variables of the processes. Further, the general structure of the data and control signals of busses are described. The communication between the computer system processes and the role of protocols are introduced. This is exemplified by the following view of the CPU-memory interface and the memory read protocol (as a dimensional flowchart, of course) (Figs. 17 and 18). To gain a deeper insight into the CPU process, the following pictures (Figs. 19 and 20) are used to illustrate its ports and state variables and its state transition diagram. A skeleton dimensional flowchart (not shown here) is also provided for the CPU which shows its 'programmed logic'. Again this can easily be corn-

MEMORY

i

JL.^T . E . o^. Y, . O^T^ O . T I1----~ 1 R.~IST..5

WRITE

....

---1

Fig. 17. The CPU Memory Complex.

PLACE DESIRED ADDRESS ON THE MEMORY ADDRESS SIGNALS

I L

ISSUE THE REA,D SIGNAL RECEIVE DATA OR INSTRUCTIONS OVER THE DATA IN SIGNALS

2_ Fig. 18. Memory Read Protocol.

pared to the machine-like presentation of the WASH process, its state transition diagram and its dimensional flowchart. The general structure of a manufacturer independent illustrative instruction repertoire is presented followed by a simple program written in its assembly language. The basic structure of memories (core and semiconductor) and the typical peripheral devices, including external mass storages of the tape and disc variety, alphanumeric and graphic terminals, analogue to digital and digital to analogue converters, and various types of printing devices, are provided to round off the introduction to the major computer concepts.

14. W. Lawson Jr./improving Computer Literacy

130

DATA IN - - - I ~ DATA OUT MEMORY ADDRESS

REGISTERS ~

!

-

----

[

INTERRUPT

READ ~ - - - WRITE -- WORKING INITIAL [. . . . J 1__ __1 START . . . . "9-

1

IDLE READY | IN PROCESS ERROR

REGISTERS

-a

~

I/O DATA OUT

~

I'O DATA IN

PROGRAM LOCATION I-I II ::ii

I I ]

INITIATE 1/O

INSTRUCTIONREGISTERS [ i i I'-ii~i~ I I

I/O INTERRUPT

RESET . . . .

Fig. 19. The Central Processing Unit.

.•

INITIAL

" ° ' " /~

USERS

APPLICATION SYSTEMS System Analysts Application Programmers

DATA BASESYSTEM l/O i n t e r r u p t ~

i/0 operation completed

Data BaseProgrammers

LANGUAGE TRANSLATORS Compiler Writers

Fig. 20. CPU State Transition Diagram.

I

SOFTWARE ARCHITECTURE

OPERATING AND FILE SYSTEMS System Programmers

5. Insight into the Construction of Computers

TARGET SYSTEMARCHITECTURE Machine LanguageProgrammers

The final pass of the core approach is devoted to showing how computer systems are built, level upon level, where each level is composed of a (sub)system of cooperating processes. We begin by considering the digital processes used in constructing the hardware. Basic electronic elements, namely, AND, OR, NOT, NAND and NOR gates are presented (as processes, of course) with corresponding simple dimensional flowcharts. A half adder circuit and a flip/flop circuit are shown to illustrate some of the typical systems of cooperating processes used at this level. The incorporation of more advanced circuity, namely combinational circuits into sequential circuits is also presented. The steps of making integrated circuit chips, packaging them in DIPS (so-called Dual In-Line Packages), placing them on PC (printed circuit) boards and inserting PC boards in a chassis rounds

MICRO ARCHITECTURE Microprogrammers

COMPUTERCI RCUITS Logic Designers

l /I

HARDWARE ARCHITECTURE

INTEGRATED CIRCUITS Circuit Designers Solid State Physicists

Fig. 21.

out the discussion and at this point provides the student with a very good general laymans view of what is in the computer black box. The final step is to show level for level how the computer system is composed of hardware and software architectures as denoted in Fig. 21.

H. W. Lawson Jr./Improving Computer Literacy

With this notion was emphasize the fact that... ONE LEVELS SYSTEM OF COOPERATING PROCESSES IS ANOTHER HIGHER LEVELS PROCESSOR. In showing these basic relationships, the concept of processor-memory pairs is utilized (5). With this abstraction, the following relationships between the memory and the processor is illustrated (Fig. 22).

MEMORY PROGRAM

PROCESSOR

+ DATA

l--

PROCESSOR-MEMORY

PAIR

Fig. 22. The Basis for Constructing Programmed Processes.

Fig. 23 shows the use of nested processormemory pairs for explaining the hardware architectural levels. These concepts are then extended even to the software architectural parts. The subject of architecture is rounded out by illustrating a few architectural alternatives for computer system communications and the combination of computers into networks.

131

6. Summary, Conclusions and Future Directions The use of a 'core' approach to introducing computer system concepts and terminology has been presented. This core approach is made possible by the utilization of the real life analogies to the processes of washing and drying dishes. Experience with this approach has indicated that it is appropriate for professionals to be, as well as providing a basic computer literacy appropriate for the vocational environment. Journalists, politicians, librarians, secretaries, various administrative and technical personnel as well as beginning computer scientists, computer engineers and data processing specialists have all been trained using this approach. The book is currently being translated into French, German, Spanish, Japanese and Finnish versions. This will provide possibilities to use this approach for computer literacy in a variety of countries of the world. Educational assistance materials have been developed and discussions are underway with the Swedish Television Company and the British Broadcasting Company to produce educational films based upon the approach. The approach is quite amenable to animation which would provide the ultimate pedigogical presentation. Hopefully, by providing well motivated educational approaches to computer systems, pressure will be brought to bear on tomorrows computer architect to produce simpler systems in the future that meet the demands of the Norwegian unionists mentioned in the introduction and

TARGET SYSTEM MICRO ARCHITECTURE PROCESSOR

MEMORY PROGRAM ÷

DATA

CONTROL MEMORY MICRO., PROGRAM

REGISTERSH HARDWARE _~ LOGIC

OUTPUT

I

ONTROLLER]

P E RD ......~ I E p ¥ H ,,e---- E C RE A S

L

Fig. 23. Architecture of the Target System.

H. W. Lawson Jr./Improving ComputerLiteracy

132

hopefully provide a vehicle for 'programming' and/or specification by the computer user. The book 'Understanding Computer Systems' can be ordered from Computer Science Press, 1 l Taft Court, Rockville, Maryland, USA. In England and Ireland, the book can be ordered from Chartwell-Bratt, Old Orchard, Bickley Road, Bickley, Bromley, Kent BRI 2NE, England. All other inquires and orders in Scandinavia can be addressed to Firma Lawson, Ann Lawson, Gustav Adolfsgatan 9, 58220 LinkOping, Sweden.

References [1] [2] [3] [4] [5l

R.M. Aiken, Computer science education in the 1980's, Computer 13 (1) (January 1980). H,W. Lawson Jr., Understanding Computer Systems (Lawson Publishing Company, LinkSping, Sweden, 1979). H.W. Lawson Jr., Att F6rst~ Datorsystem (Lawson Publishing Company, Link6ping, Sweden, 1980). R.W. Witty, Dimensional Flowcharting, Software Practice and Experience 7 (1977). H.W. Lawson Jr., The use of processor-memory pairs for explaining basic architectural relationships, SIGCSE Bulletin 12 (4) (December 1980).

Harold W. Lawson Jr. is Professor of Telecommunication and

Computer Systems at LinkSping University in Sweden. He has been active in the computer field since 1958 and has had comprehensive experience in computer systems hardware, software and applications. His industrial experience has included positions at Sperry Univac, International Business Machines Corporation and Standard Computer Corporation as well as consulting activities for prominent corporations in the United States, Canada and Europe. In addition to his current tenured appointment at LinkSping University, he has been Professor of Computer Science at the Polytechnic Institute of Brooklyn and has held visiting porfessorial appointments at New York University, University of California at Irvine, University of Stuttgart, Polytechnic University of Barcelona, Chalmers Technical University in Gothenburg and the Royal Technical University in Stockholm. Professor Lawson is currently head of the Computer Architecture Laboratory at Link6ping University where the primary research areas include graphical methods for software and hardware algorithm design and development and computer aided design of Large and Very Large Scale Integrated Circuits. In addition to guiding graduate research, he has undergraduate educational responsibility for simulation techniques, computer networks, computer architecture, computer aided design and real time operating systems. Professor Lawson has published over forty technical articles and has written and/or edited several books. He is a member of the Society of the Sigma Xi, the Associaton for Computing Machinery, the IEEE Computer Society, EUROMICRO and the International Federation for Information Processing (IFIP) Working Group 10.3 on Software/Hardware interrelation. He has been a founding member of the ACM Special interest Group on Microprogramming (SIGMICRO) and of EUROMICRO and has served on the Board of Directors of these organizations.