Teaching Solid Modelling


Introduction

John Woodwark


Most of the people who attended the CSG 94 conference came from the academic world. As well as doing the research that they report in conference papers, they have to give lectures; and many of the courses that they teach are about solid modelling: on its own, or as a component of courses on computer graphics, CADCAM, or similar topics. Many of these courses were originated by the people who teach them now, and have been developed without a great deal of formal contact with other people giving similar courses. Since a number of these people could be expected to come to CSG 96, it seemed that it might be valuable to arrange a couple of days during which they could meet and share ideas and information about teaching solid modelling.

A workshop was therefore scheduled for the two days preceding the CSG 96 conference. The format consisted of a short talk by all participants (except myself) followed by an afternoon of discussion. Attendance was slight, but that gave people time to follow points home; and the two days were easily filled.

The written papers which were supplied by participants have been edited into the current volume, and in this Introduction I am also going to try to summarize the discussion which took place during the final half-day of the workshop. I have divided this summary into six sections, which represent my attempt to classify the topics discussed. It does not always correspond to the order in which the discussions actually took place.


The nature of solid modelling courses

It is useful to start by trying to understand why students want to learn about modelling and what they will do with the expertise they acquire. Students appear to be motivated by fashionable technology, such as graphics or robotics; but also, naturally, by the possibility of being more employable at the end of the course. Equally, it was agreed that modelling classes should not be simply 'driving lessons' on AutoCAD; students need an intellectual challenge, and there is also a strong argument that they will make better use of commercial tools if they understand something of what goes on inside them. Even so, some hands-on experience is valuable, although it is debatable whether that should follow the theory, or vice-versa.

It seems to be the case that most students on solid modelling courses are mechanical engineers or computer scientists. However, modelling may also be relevant in other fields, such as architecture and civil engineering; the link between these fields and GIS is paralleled by the relationship between mechanical engineering and robotics. Giving courses to mathematicians is also useful, as they make good PhD material.

Most courses seem to run in the last years of a undergraduate syllabus, or as part of a masters degree. Different approaches are necessary to teach potential users of modelling technology, as opposed to potential managers, system implementors, or researchers. Some understanding of the 'typical student—on a global basis—would make it easier to design courses successfully and compare them one against another.

There is also considerable concern that courses must be acceptable to professional institutions and can be accredited by them. Increasingly, there is an international dimension to accreditation, as organizations concerned with the formation of engineers move to accredit institutions abroad at which potential members may be studying.

Finally, there is the possibility of teaching modelling outside a mainstream degree or masters course. At the Universitat Politècnica de Catalunya in particular, considerable emphasis is given to accommodating mature students who are aiming for career development. There are also opportunities to run short courses, but the economics of these may be difficult.

The possibility of conveying an essence of the topic at an earlier stage was discussed, but it was generally agreed that the yield from school visits is minimal.


Prerequisites

A good background in mathematics is essential before studying solid modelling, but most participants felt that that modern mathematics courses do not provide enough geometry. A background in computer science is also necessary, but again computer science courses do not deal extensively with the types of datastructures used in modelling, or geometric algorithms such as generate-and-test. In many cases, students have no prior experience of geometric code at all.

There was some discussion of the different mix of skills found in different countries. In some countries, students have a better programming than mathematical background; in others the reverse is true. Sometimes remedial work is or the provision of extra teaching assistance is necessary to plug defects in students' knowledge. Longer courses and extensive notes can also help.

Some participants reported that programming skills are not valued by engineering industries. And the well-known recent decline in applications to study computer science in Germany and the Netherlands was also noted.

Overall, it was felt that today's students have good presentational skills; indeed they are sometimes asked to prepare and give short lectures themselves. But they have problems in writing English, even if this is their native tongue; however this is not a prime concern in teaching CAD topics, as technical authors are available as a resource in the software industry.


Contents of solid modelling courses

Many solid modelling courses exist as part of a larger, more diverse course, and probably the first consideration in looking at a syllabus is to place the boundaries with related topics such as (more general) geometric modelling, CAGD, CAD, graphics, CAM (FE, NC) and other 'downstream' processes in which solid models might be used, and its more general position in the enterprise, as part of a CIM system. Indeed, it may be possible to integrate modelling with some of these topics.

Having isolated the datastructures and algorithms which are central to the field-or at least to a course-these can be presented. But it is also necessary to compare algorithms and datastructures one with another, and to benchmark systems. The more general question of efficiency versus rigour is particularly significant in geometric code, and needs to be addressed.

'Extended' modelling concepts to be taught include constraints, parameterization, tolerances, features, physically based models, non-geometric data etc. The students also need an appreciation of higher-level issues such as documentation, data exchange (and relevant standards), the management of solid modelling systems and system development.

It is not easy to keep other topics out of the course. Media exposure can lead to pressure from students, and from administrators keen to have something fashionable to 'sell', for topics such as fractals, virtual reality, and even the World Wide Web.

What is more important is that students are not well prepared for the future of modelling, nor will our art be advanced very quickly, if courses only cover things as they are. When teaching potential PhD students, we need to ask, what sort of modellers will be needed in the future, and what skills will be necessary to write them? Answers suggested by participants at this workshop included rational arithmetic, parallel processing, and distributed and reusable objects.


Solid modelling course materials

In general, participants did not feel that there is a wealth of material available for the teaching of solid modelling. The following paragraphs constitute a list of some of the things that people would like and some ideas how to get them

One basic necessity that is missing is a 'road-map'. While people working in solid modelling understand where the field is positioned, it is not so easy to disambiguate solid modelling from computational geometry, graphics, CADCAM, CAGD, topology and any of the other more or less exciting fields that surround it. We need a visual aid ... but no one was prepared to commit themselves to saying how this might be prepared.


Hardware, software and documentation

Most of the computing resource problems that bedevilled modelling for so long seem to have gone away. They were not much discussed at this workshop. Even when a department cannot for a time provide enough machines, it was found that many students have their own to use.

That does not mean that software is cheap. In fact, there are relatively few modellers available free, or as shareware, or at a suitable price for use in education (examples mentioned included Autosolid, BRLCAD, Minimod, PADL, SilverScreen and svLis), and even the best industrial system has its problems as a teaching aid; for instance, commercial modellers mostly support only one representation, but students may need to know about several representations and conversions between them.

A full-scale modeller is a large and complicated piece of code, and there was some discussion as to how it could best be approached for teaching purposes, so as to convey ideas about software engineering as well as theory. Is it suitable to expose students to industrial-strength code? Should they be supplied with modules that could be assembled to make modellers? Or is it better to leave space for discovery, by getting students to write code from scratch, even though this severely limits the complexity than can be achieved. Certainly, it seems appropriate that large modelling packages, even multi-package environments, should be available: if not hands-on then at least for demonstrations (which have the advantage of requiring only a single license).

Some experience in reading-and writing-the documentation of solid modellers is also desirable.


Books

For various reasons, no one seemed very happy with the books about solid modelling that are currently available. They may be too abstract (e.g.  chapters in CIM books), or they emphasize one particular modelling paradigm, or they may simply be out of date. No one seemed to be able to identify one single book suitable for teaching modelling to either mechanical engineering or computer science students.

There seemed to be some doubt as to whether it was indeed possible to put together a textbook that would meet the participants' teaching requirements (occupying the position of, say, Foley and van Dam's textbook in graphics), let alone the requirements of a wider group. Many problems beset such a project. The possibility of collaboration on a book was raised, representing, perhaps the union of several existing syllabuses; but the market would be small, and it would soon become out of date.

Some participants reported that they are already using the WWW to support presentation of their courses: in particular at ESSI and Bath. The possibility of a more general WWW resource was raised. It could include animation, code etc. as well as examples and OHP foils, assembled from diverse contributions, moderated by an editor. This idea met with some enthusiasm. Certainly it would be easier to keep a Web book up to date; and students now have 24-hour access to the Web. The main disadvantage seemed to be one of motivation: the usual academic mechanisms of reward and recognition which attach to traditional publication are not necessarily present in such a project; and so the commercial feasibility is dubious.

There is also a need for a survey of recent developments. Perhaps this could also be a WWW page with pointers to sites relevant to solid modelling, including bibliographies for project work and for PhD students?


Problems, exercises, projects and assessment

Everyone agreed that generating feasible coursework for modelling courses was not easy. It would be a great help if project work could be shared over the Internet. Three levels of project were identified:

Problems (may have model solutions or be open-ended)
A resource of, say, fifty problems on the WWW would be invaluable.
Exercises (pencil and paper, done by a single student)
These may be two-stage projects, where the solution of the first part feeds into the formulation of the second part.
Projects (hands-on, done by team)
Industrial involvement motivates students (although employees may in fact solve problems more quickly). There might be a WWW noticeboard for industrial collaborators.

Having some idea of how long a project will take is very important, and should be part of any resource.

It was noted that there is a danger in a repository of coursework, as students are adept at searching the WWW, not just accessing the sites that they are told to access. This would obviously undermine the value of a repository of examination questions, which might otherwise be an attractive proposition.


Future of solid modelling courses

Participants identified funding as the major obstacle to the effective teaching of solid modelling. The cost of hardware is no longer so significant, but staff/student ratios are generally creeping up, from 1:10 towards 1:20. Software costs are also high, and several participants said that they would welcome industrial support for courses if it could be obtained.

This is another area where information could usefully be shared. Certainly it would be valuable to have access to an up-to-date 'trade directory' of free, or 'cheap' solid modellers, especially those for which the source code is available. It might also be possible to collaborate in the bulk purchase of software, although the problems in doing this internationally might be severe.

Finally, the participants focused on the increasing need to convince various assessors of the merits of a course. There is a considerable role for national/international comparison, and links to established standards in this area, such as the ACM core syllabus.


Back to index