|
Global J. of Engng. Educ., Vol.I, No.2 Printed in Australia |
Copyright 1997 UICEE |
||
|
|||
|
William A. McKee Cowcaddens Road, Glasgow G4 0BA, United Kingdom |
|||
|
|
|
||
|
|||
|
|
|
||
[UICEE home page] [Global Journal Home page][Table of Contents][Previous Paper][Next Paper]
TABLE OF CONTENTS
Many students find learning microprocessor technology a difficult task due to its incorporation of several diverse areas of knowledge and skill which must be learned and understood, then internalised and integrated, before they are able to be competently put to use.
Teaching of the subject has traditionally followed a firm sequence [1][2]:
In practice, several problems arise in the delivery of this sequence. This paper will look at the major problems and will suggest a support mechanism to address them.
From a learning perspective, an analysis of the elements of the above sequence shows wide variations in the demands they make of students. It is clear, using Blooms taxonomy, that the logical layout of the microprocessor can be simply memorised (level 1); however, the instruction set of all but a very simple microprocessor cannot reasonably be expected to be remembered, so that the principles must be comprehended (level 2) before any attempt at analysing the effect of an example instruction on that logical model can be made (levels 3 and 4) [3].
Abstract models with extremely simple architec-tures and instruction sets have been developed in order to teach students about microprocessors. One version includes a simulator programme which allows students to examine the execution of a programme within the processor [4]. While this reportedly satisfied the needs of those students who only needed an overview (such as early-year computer science undergraduates), the overhead involved in expanding the model to simulate any real example appeared as significant as starting with a real processor, so few technology courses espouse this method.
A second problem is that these sequences make great demands on the teaching environment. Normally a workstation for each student is required to be able to write, assemble, compile and run a microprocessor programme, and the less gifted student may require a lot of time to attain a satisfactory competence. Traditional types of microprocessor workstations from manufacturers of educational and development systems are expensive and usually large however, needing space in a specially prepared laboratory [5][6]. So, except for very small classes, it is impractical simultaneously to have teaching of all of the students in such a laboratory. Delivering theoretical material to a class sitting at workstations is not ideal in any case. If the workstations are left switched on, the students are often tempted into drifting back to the previous problem or prematurely looking at the next task, or simply playing rather than paying attention to the tutor. Even when the workstations are switched off, the layout of the student space (by position, orientation, or by elbow room) often impedes a comfortable position which is so important for concentration [7].
Resource management techniques placed an emphasis on large classes being taught all at once in lecture theatres. This often forces teachers to find a split between elements of the course which must be done at a workstation and those which can be delivered by mass means. Several problems appear:
The programmes described in this paper were developed to answer these points by:
68KCAL - Computer-Aided Learning (Based on the Motorola 68000)
This programme is based on a platform developed by the author for more efficient development of CAL packages, as described elsewhere [8]. This package provides support for running existing programmes as if they were part of the CAL package, allowing the student to switch to whatever task is needed at the time. In this programme, for example, there are sections for editing, assembling, and running programmes, and these are executed via this mechanism.
A good CAL programme should receive a positive evaluation to each of these points [9-11]:
· Is the system easy to use?
· Does it direct the student through a nominal learning experience?
· Does it allow the student to choose their own path?
· Does it allow for multiple sessions; can you stop and start from the same place?
· Is it reactive, ie it does not just put up page after page of text?
· Does it provide layers of help, ie less able students can ask for more help than others?
· Does it present the information in an accessible manner, eg small items of text, pictures, animations, rather than huge wedges of text?
· Does it provide additional channels to existing sources of information?
· Does it provide self-tests?
· Does it provide remedial feedback on test results?
· Can it help the student to develop skills, eg simulation?
· Can it help a tutor measure the students progress?
The following sections describing the programme will show that all of these are addressed and the learning path defined earlier is enhanced as required.
In recent years, human-computer interaction has been the focus of an enormous amount of effort with the objective of providing the most efficient and comfortable interface between a user and the programme environment.
With this in mind, the 68KCAL system was designed to use the MS-Windows environment on a PC, a system which is likely to be familiar to the user; if not, experience has shown that new users acquire competence very quickly. The Visual C++ language was used as a development platform, but the complexities of this are hidden from the user.
The main window has a help message always in view, and more detailed help is easily obtained from the menu item Help, as indicated in Figure 1.

The learning package presented by the programme is based on the course taught in the final year of the BSc Electrical Engineering at Glasgow Caledonian University, and, as such, benefits from the experiences of that course.
When the student chooses the Learn menu on the main screen, one of the choices is Set Page, which brings up a contents window as shown in Figure 2. This top level screen consists of chapters, and the start page of any one of these can be chosen; default is page 0. If the student is still unsure, clicking on any chapter field opens up a sub-window with sections; clicking on any of these chooses that page. Alternatively the student can go to Any page, which allows the Stop/Resume feature required.

One of the significant things about this package is that all of the textual elements throughout the entire package can be altered by the tutor. They are all held in an external file built by the package itself in a protected-entry Developer mode.
For example, the chapter and section headings can be defined and page numbers assigned as desired in sequential order or not as suits. This particularly allows for extra pages to be added which might be shared by two sections.
Again, as has been pointed out, specialised help is available from every page at every level. This too can be defined and modified as experience shows necessary.
The text on each page can be expanded, simplified or cut-and pasted to a new page by the standard Windows methods, allowing flexibility of quality and future-proofing.
The package has been designed to ease the student through its use by providing help before it is needed, with more detailed help available on demand. From the Learn menu, if no Page Set was done, Continue opens Page 0 of the package, which is an introductory page explaining how to use the package (see Figure 3).

The page is divided into 3 main areas:
· The Navigator
- the CONTINUE button moves forward to the next page (not necessarily contiguous, allowing for the addition of extra pages);
- the JUMP button opens up the contents page (allows backwards reference or skip to a new section as the student requires);
- the BACK button returns the student to whatever the previous page was (allows for previous use of CONTINUE or JUMP);
- the QUIT button closes the page and drops back to the main window;
- the HELP button gives specific help on the present page.
· The Text Boxes
There are three areas where text may appear:
- the main area is above the navigator, and the sections descriptive text appears here;
- two other text boxes are placed below the picture buttons; each can be used to output more text, or as an input box if required by the programme.
All three text boxes are modified by:
· The Picture Buttons
There are three large buttons with pictures in them, which are either independent or apparently drawn as one picture or diagram. Each has a specific function:
- Left: each click of this button gives more detailed information on the section. There are 3 layers changing the contents of the main text area and, if appropriate, the two lower text boxes. The opening window is restored after the third click;
- Centre: clicking on this button brings up a detailed picture, diagram, or, if appropriate, an animation, which can be stepped through (see Figure 4, which is the final frame from the 68000 READ cycle animation). This technique provides additional channels to the paper or lecture based materials as desired;
- Right: clicking on this button brings up information about other complementary or useful information or pages relevant to this page, which is useful for consolidation or revision. It uses both main text and lower text as appropriate; again it is cyclical with 3 levels.
Figure 4: Animation.
As in many human-computer interface situations, a textual description, such as this, makes more complex what a user finds easy to use. Keller argues that even those students who prefer a holistic learning approach versus a serial approach still demand a common set of interfaces. If a standard interface can be quickly mastered, it becomes second nature; for example, people driving automatic cars after years in manuals still often push down the clutch [11]!
It is important, in order to build confidence, that one has not just reviewed but has internalised information. People learn by goal setting, either internally or explicitly set, and it is implicit in goal setting that achievement must be proved [12]. Thus testing is necessary.
68KCAL has two methods of testing. The first is for simple examples, such as a small calculation using a formula defined on a page, and it is included on the page itself through use of the lower text boxes. The question is displayed in the upper box, and the answer requested by the lower text box; on pressing Enter, both user and expected answers are displayed.
No automatic comparison is made by the programme - students must themselves decide whether their answer is a close enough match. This allows the questions to be more open and the answers to be free-form rather than relying on students exact usage of keywords as in many auto-answer mechanisms in other packages. The student can try again or navigate back a page or two for review, or simply move on with a mental note to find a tutor. No results are stored in the statistics file for this type of self-assessment.
A special test page is used for more complex, end-of-section testing. There are two varieties based on very similar models:
· There are ten questions each with a box for the student to enter an answer.
· There are up to ten questions, each with an identifying number, and there are ten answers, with a box beside. The student must match the answer with the box. (Figure 5).
Figure 5: Test page.
In either case, each question is signified as correct or wrong and the student is given feedback on which pages might be reviewed and requested to enter a page number. The next page (as defined for CONTINUE) is default. No attempt is made to force the path the student takes as this has been argued to demotivate students who may be using the programme as additional or complementary to their traditional course [13].
It is often useful to examine two aspects when a student complains of difficulty:
· To what depth they have studied.
· The path their studies followed.
68KCAL assists this by applying a username to each student and creating a personal transactions file for them (usually on their own floppy disk ) with a timed record of the actions they took and the order with which they accessed the pages of the CAL section.
When the statistics file is directed to a central point, such as a network server, there are several sets of analysis which the programme tutor can apply to measure learning and detect problems in the presentation. A particular use of the statistics file is for finding which pages are being particularly repeated across the entire class, which may indicate an area of difficulty of comprehension.
The time spent on each page can also be analysed, providing an indication as to which topics are more readily absorbed by the student body. A pilot study was performed on a small sample so as to confirm the tutors impressions of the ease or otherwise of some subjects; while the actual ranking mostly fitted the preconceptions, some particular areas, such as the timing sequence, showed up as being less well understood than had been expected.
A more individual analysis can be performed by calculating an average hit rate for each page and then comparing each students progress against this. By this method, blind spots can be detected in individuals and remedial action taken promptly before more complex learning is attempted on unsafe foundations.
Figure 6 shows a typical statistics window.

It is important, whenever a new element is added to knowledge already held, that the student should be able to practise its use in order to fully comprehend its place in the whole. It has been shown however that few students can gain access to a workstation to perform such consolidation.
McCormick argues that students have a recognised ability to abstract information from simulations and utilise it, so a simulation of the required workstation has been subsumed into the application in the form of an emulator (E68K) suite provided by Clements [14][15]. This suite provides an environment which appears to the student to be a Motorola 68000 microprocessor, complete with assembly-language compiler and on-line debugger.
The FILE menu allows the student to create a new source file or to choose an existing source file, such as an example supplied by the tutor to match a section of the course. The material used on the teaching pages has been designed to be particularly suitable for practical tasks using this emulator.
A PROGRAMME menu is available from the main window from which the student can edit the file (using a public-domain Programmers File Editor), assemble the file (and detect any errors), and eventually run the file with debugging capabilities.
This can be performed without quitting the CAL page so that the student can learn something, try it and go back to where they were.
For students who are stuck, an example programme can be installed by a tutor to demonstrate a topic one step at a time, referring back and forth from the pages.
Work is presently being undertaken to rewrite the 68K simulator into a modern graphical language, such as Delphi or Visual C++, so that links can be directly made from the teaching pages to the emulator. This would allow the student to enter their own code directly and single step through the programme with the data flows through the block diagrams actually representing real data flows rather than examples as at present.
Similarly, timing diagrams, such as those shown in Figure 4, are presently purely examples. The rewrite of the emulator will allow the production of signal sequences which reflect the real variances in timing which occur on the different types of instruction, raising the level of comprehension of the student.
At this point the example programme will be extended to a series of typical instruction scenarios which will allow the student to use the same pages repetitively but at increasing levels of complexity, thus enhancing the students experience.
The CAL package is sufficient for most courses. Extensions can be made for particular purposes however. Two such are described.
· Input/Output clearly needs hardware to be manipulated. However, in early stages, the types of devices being manipulated are simple (switches, lights, A/D, D/A). An extension to the E68K suite has been created by the author and colleagues which utilises a small interface board in the PC and a simple applications card.
The student can then programme I/O directly from assembly code by writing to reserved addresses which may be externally defined, and to which the simple 8-bit devices are attached. Thus, by simply reading and writing these addresses, the student may operate the devices on the card and thereby perform simple process control tasks.
A further refinement being worked on is the simulation of a 68230 Programmable Input/Output device so that the code may be exactly as in a real system.
· Diagnostics equipment is complex to use on real microprocessor equipment, and by using the same interface board as in I/O with a second applications card, this time with 40 pins for signal pickup, a simulator programme can produce signals which, to the diagnostic equipment, look exactly as those produced by a 68000 running the same programme. Details of this technique are explained elsewhere [15].
The extended work on timing signals referred to in the Skills development section is based upon this work, and would alleviate the requirement to resort to this separate programme
The CAL package described was introduced to a sample of students in the authors course in the 1995/96 session, and feedback has been very encouraging. A number of other institutions have also taken trial copies for their courses.
The intention is to have copies of the package available on all open-access systems as soon as a server-friendly version can be provided. A future possibility is that volunteer students who are unable to attend in a formal fashion (Power students, for instance, who do not take microprocessors but who have expressed a desire to know about them) be given a trial of the package, along with paper based materials and guidance, to find out whether it can be used successfully as part of a distance-learning method.
This project set out to address problems which were reported by the students themselves or picked up by departmental module review. It has been shown that, used in conjunction with the traditional course, it does address those problems, leading to more confident and competent students, and less demand on the staff.
In addition, analyses of the students statistic files have been sampled and the resulting feedback has allowed several areas of the package to be revamped to provide additional information to improve understanding. The layout of the visual interface has also been modified to anticipate the default path and enhance the capability of students to use non-linear pathing without getting lost, by providing tutor- selective Forward & Backward links.
1. Clements, A., Microprocessor Systems Design. Boston: PWS-Kent (1992). Duffy, P. and Stewart, I., E68k Extension. Glasgow Caledonian University.
2. Miller, M., 68000 Microprocessor Architecture. N.Y.: MacMillan (1992).
3. Curzon, L., Teaching in Further Education. London: Cassell (1990).
4. Summers, M., Developments in Educational Software. London: Pergammon Press (1986).
5. Cambridge Micro Systems Ltd., Cambridge, UK.
6. Nohau Corp., 51 E. Campbell Ave, Campbell, California.
7. Rowntree, D., Educational Technology. London: Paul Chapman Publishing (1988).
8. McKee, W., A Simplified System for Generating CAL Packages (1995).
9. Wilson, N., Developments in Educational Software. London: Pergammon Press (1986).
10. Barker, P., Multimedia CAL. London: Kogan Page (1989).
11. Keller, A., When Machines Teach. London: Harper & Row (1987).
12. Hudson, K., Introducing CAL. London: Chapman & Hall (1984).
13. Marshall, D., CAL/CBT, The Great Debate. London: Chartwell Bratt (1988).
14. McCormick, S., Advances in CAL. London: Pergammon Press (1985).
15. McKee, W. and Harrison, D., Logic analyser instruction using microprocessor simulation. IEE. Colloquium on CBL, London: IEE. Publishing (1995).
[UICEE home page] [Global Journal Home page][Table of Contents][Previous Paper][Next Paper]