| Teaching Solid Modelling |
4. Teaching solid modelling at the
Universitat Politècnica de Catalunya
Dolors Ayala, Père Brunet, Robert Joan-Arinyo and Isobel Navazo
Abstract
This paper describes the authors' experience in the organization and teaching of courses on solid modelling at the Universita Politècnica de Catalunya for both undergraduate and graduate students. Curriculum contents and teaching methodologies as well as practical constraints related to the facilities available at laboratories and curriculum structures are presented.
Introduction
The Software Department of the Universitat Politècnica de Catalunya (UPC) offers a structured set of courses on computer graphics and related topics through its Computer Graphics Section [3]. Undergraduate courses are currently being offered at the School of Computer Sciences ( SCS) and at the Industrial Engineering School (ETSEIB) of the UPC. Graduate courses are also offered as part of the UPC's PhD in Software programme [4]. This paper describes the authors' experience in the organization and teaching of solid modelling in its own right [4], and as part of computer graphics courses [1]. Course contents and teaching methodologies are presented, taking into account practical constraints related to the curriculum structures and resources available at the laboratories [2].
Undergraduate courses
The teaching of solid modelling at the UPC started in 1980 as part of an elective computer graphics course for undergraduate students at the ETSEIB School. The course was well received by the students and, after slight modifications, Computer Graphics became a stable, official curriculum course in 1991/92. Since then, the ETSEIB curriculum has included a one-semester elective course on Computer Graphics with an enrollment of about 55 students. This course focuses mainly on 2D graphics and the approach emphasizes technological issues. The curriculum at the ETSEIB was updated in 1994. It now includes three one-semester elective courses: Computer Graphics, Geometric Modelling and Computer-Aided Design.
Solid Modelling was taught for the first time in the SCS School in 1987 as part of a two-semester, elective computer graphics course for undergraduate students. Since 1994, the teaching of computer graphics has been split into three elective one-semester courses: Computer Graphics, Realistic Visualization, and Geometric Modelling. The course on Computer Graphics should be taken, although not necessarily passed, at least one semester before the others. These courses were taught for the first time in the Spring term of 1994. Geometric Modelling and Realistic Visualization started in 1995. We shall devote the next subsection to present in more detail the contents of the Geometric Modelling course.
Geometric Modelling Syllabus
On the basis of the considerations above, the contents of the course on Geometric Modelling have been defined as follows.
Teaching methodology
Teaching activities in undergraduate courses are regulated by law, which requires, in general, there should be three different types of teaching activities: lectures on theoretical topics, lectures to solve exercises in the blackboard, and laboratory classes. The way in which these activities are organized depends on the school. At the Universitat Politècnica de Catalunya, the School fixes the schedule, organizes bureaucracy and controls the organization of the courses. The Departments define the syllabus and decide bow activities are developed in classroom and laboratories. Geometric Modelling is a 45-hour course, involving 15 hours of lectures on theoretical topics, 16 hours of exercises, and 14 hours in the laboratory.
Lectures on theoretical topics
During lectures on theoretical topics, teachers carry the whole workload, presenting the fundamentals of the topic on the blackboard. Due to the small number of hours (15), these lectures are only intended to give the students an overview of the different topics in the syllabus. In some lectures teachers use slides and transparencies. Educational software is used periodically throughout the course; some commercial systems are also demonstrated.
Lectures about exercises
Lectures about exercises are mainly devoted to solve exercises where the concepts learned in theoretical lectures should be applied. Every week the teacher gives the students exercises to be solved the following week. These lectures are usually originated by their presenters; we try to get the students involved in presenting their own solutions on the blackboard but this is difficult because students prefer to be spoon-fed.
The way in which solutions are presented depends to a large extent on the topic. Solutions are presented in great detail when dealing with mathematical aspects of geometry, while algorithmic approaches and data-structure management are usually described at a high level of abstraction. Although it is not a simple objective to achieve, we try to keep lectures about exercices and theoretical lectures as closely synchronized as possible.
Laboratory
Students are also taught in a number of laboratory sessions. Laboratory facilities are based on a Unix server supporting sixteen 256-colour X-terminals.
Practical laboratory exercises are intended as hands-on classes. There, students start learning how to use available resources. Then they solve small problems mainly by completing a set of exercises prepared by teachers.
The sessions at the laboratory are organized in four blocks. The first block is a two-hour session. It is devoted to introduce the students to the X.11 system and the basic software workbench that they will use in the following sessions. The second block of four hours is devoted to the problem of picking 3D geometry. The third block has six hours and the goal is to experiment with Boolean operations on solids. Finally, there is a two-hour block devoted to the design of Bézier curves.
In the first hour of each block the teacher explains the selected topic. Subsequently, the teacher acts more like a laboratory assistant, giving personal advice to students who require it in order to solve the problem set, while the students develop a practical solution during rest of the block. Generally, they do not complete the exercises in the timetabled period and they need to do extra work at other times when the laboratory is open to students.
Students are supplied with a set of course notes that contain brief explanations of the main topics and a list of guidelines for solving the proposed exercises in a step-by-step basis. The notes are not a recipe-book but material that helps the student to understand the course contents and solve the exercises.
The experience of the last two academic years has been positive, although a couple of problems have been detected. One problem is that the students' background as users of Unix systems and the C programming language is not homogeneous. This is the reason why some students find the exercises more difficult to solve than they really are. Another difficulty is that, in order for the students to concentrate just on the solid-modelling problems, ready-to-use tools for visualization must be available. Because of this, our group is currently improving the modular graphics wokbench.
Project
Students should develop a small project by themselves. At the beginning of the course, teachers provide a list of projects from which each student chooses one. Then the chosen project is developed by a group of two or three students and progress is monitored by a teacher. At the end of the course students should present their results to be graded by the teacher. Some examples of such projects are: building a small modeller of simple parametric polyhedra with input by sweep, implementing a modeller of smooth objects using recursive subdivision techniques, or constructing a fractal-surface modeller.
Students who own a computer are allowed to use it in the development of their project. This helps the whole community: students with computers can work at home while their absence makes more room at the university laboratories.
Graduate courses
Regulations in the UPC state that PhD candidates first should complete 32 credits in a PhD programme, where one credit represents 10 hours. Then, they must develop a research project and write a dissertation about it. Credits can be completed in several ways. In any case, a minimum of 18 credits must be completed in regular courses and between four and nine credits should be obtained by developing a small specific research project.
Since 1987 the Software Department of the UPC has offered a set of computer graphics graduate courses as part of the PhD in Software programme. In 1995 this set of courses was extended in order to allow PhD students to complete all 32 required credits just in computer graphics and related topics. This is a first step towards having a full PhD programme in computer graphics in the next two or three years.
Course organization
Courses in the new strand of computer graphics for graduate students are structured in two levels [3, 4].
The first level encompasses the fundamental courses complementing the undergraduate curriculum in computer graphics. This level offers nine credits distributed in three courses of 30 hours each: Solid Modelling, Sculptured Surfaces, and Visualization. The aim of the Solid Modelling course is to present rigorously the mathematical fundamentals of solid modelling focusing on boundary representations and CSG. Other issues that are addressed include spatial enumeration combined with boundary information, and algorithms for converting between different representations. Since the undergraduate curriculum does not include any course on sculptured curves and surfaces, the course on this topic starts with a presentation of mathematical topics relevant to the field: parameterization, the Frenet trihedron, the local theory of curves and surfaces, etc. Then the most usual parametric schemes, such as Bézier, splines, and B-splines are studied for both curves and surfaces. Continuity issues are also addressed.
In the second level there are two different blocks. One deals with geometric modelling, the other with specific courses in rendering. The Geometric Modelling block offers the following topics: hierarchical data structures for solid modelling, volume modelling, models for complex systems, geometric constraint solving, parametric design, advanced surface-design techniques, and models for geographical information systems. They are intended to be state of the art, based on the research activity developed at the Computer Graphics group in the Software Department of the Universitat Politècnica de Catalunya.
Solid-modelling-related syllabus
Let us now present in more detail the syllabus of those courses that we consider close to classic solid modelling.
Solid modelling
The contents of the first level Solid Modelling course for graduate students is the following.
Hierarchical data-structures for solid modelling
This is a second-level graduate course. The contents are the following.
Geometric constraint solving
The goal of this course is to expose graduate students to new trends in solid modelling systems architecture. The course only deals with two-dimensional geometry. This is a second level graduate course and the current contents are:
Teaching methodology
Teaching methodology in first level graduate courses is similar to that used in undergraduate courses but there are two main differences. The first is that there are no lectures about how to approach the exercises. The second difference is that graduate students must perform a bibliographic literature search of moderate complexity in one of several topics proposed by the teacher. Usually, students present their work during the last sessions in the course. Very often some of these results are extended in the form of a small specific research project and the students get additional credits for that. Since the number of enrolled students is rather small, they get highly involved: asking questions and giving opinions.
Teaching methodology in graduate courses belonging to the second level is a little bit different. Generally the teacher spends about the first half of the lecture course on presenting the main topics. Early in the course a simple, self-contained research project is assigned to each student. In the second half of the course students present their results and experiences.
Graduate students
The average number of students attending each graduate course is between 10 and 15. Two kinds of students can be clearly identified. In one group are full-time PhD students and those who already have a position in the University that does not require a PhD degree. Students in the other group are people who have a job outside the University. Generally, the aim of people in the first group is to get a PhD degree and apply for a tenured position in the University, whereas people in the second group attend the courses to update and complement their studies.
Usually, people in the second group above do not complete a PhD degree and, although they show considerable interest in the lectures, in fact they are more interested in technological than in theoretical issues. These different concerns sometimes result in conflict.
In order to offer post-graduate courses to people who are not interested in getting a PhD degree but in just updating their knowledge, we are planning a two years Masters degree in Computer Graphics.
Conclusions
The student-to-teacher ratio, the resources available at laboratories, and the total load students carry all influence the teaching methodologies used. Although these methodologies are not the most desirable ones the results are satisfactory.
We have detected that students interest increases dramatically when, for the first time, they can visualize results on the screen. Unfortunately this happens rather late in the course, mainly because almost every student has had to develop all the software needed in a graphics system by himself or herself. This is why our group is improving the currently available modular computer graphics workbench to allow the students to concentrate on the solid modelling aspects of projects by using modules from the workbench. We expect this policy will help to motivate the students earlier, and make them feel more comfortable while working on their exercises and projects.
All graduate students attending solid modelling courses are actually attending the courses in the PhD in Software programme. Two kinds of graduate students have been identified: those working towards a PhD degree and those that are interested in just hearing about leading-edge technology. As the interest of each kind of students is quite different, we are planning a two years Master degree in Computer Graphics that will be run separately from the PhD programme.
References