Computer Graphics and Image Processing as an Introductory Course
Eric Paquette∗
LESIA, Department of Electrical Engineering, ETS
Montreal, Canada
Abstract
Computer Graphics is an important discipline and is present in almost every undergraduate Computer Science curriculum. To create
graphical content, both 2D Computer Graphics and Image Processing are essential. 2D Computer Graphics and Image Processing also
have strong theoretical relationships. Based on a survey of Computer Graphics courses in undergraduate Computer Science curricula, 84 percent of the introductory Computer Graphics courses are
typical 3D courses that only briefl present 2D Computer Graphics and Image Processing. This paper proposes a course on these
two disciplines. Such a course is of practical interest for content
creation, for the acquisition of images, and for the reproduction
of content on different media. Apart from describing the course,
this paper identifie theoretical and practical relationships between
Computer Graphics and Image Processing. It identifie benefit and
drawbacks of adding such a course in an undergraduate curriculum and relates this course to topics that could be part of advanced
courses. It finall covers practical concerns such as a developed
software framework for assignments and how to cover the main aspects in specifi assignment topics.
1
Introduction
Computer Graphics (CG) is a vast, important, and popular discipline. From its beginning around 19701 , CG is now a mature discipline built on a strong mathematical basis and with applications in
an ever increasing number of disciplines. This is reflecte in the undergraduate curricula of various other disciplines, such as physics,
engineering and architecture, which include an optional introductory CG course [Cunningham 1999a] in some of their curricula.
In Computer Science, CG occupies an important place for a long
time [Ohlson 1986] and now it is well in place with over 90 percent2 of the undergraduate curricula having an optional CG course.
In some specialized Computer Science curricula, a CG course is
even mandatory.
CG is interesting because its results are visual and often impressive. It is thus a discipline that attracts many students, but it is
also useful for students as it provides them with suitable knowledge
of the algorithms they will use to create graphical representations
of all sorts of data. The 2D aspects of CG such as vector primitives, 2D curves, halftoning, 2D transformations, even though they
are sometimes pointed out as outdated ways to introduce CG [Cunningham 1999b], are extremely important in creating 2D content.
Acquisition and reproduction of this content also requires knowledge of 2D CG and of the Image Processing (IP) discipline. These
aspects are of major importance since most of the content created,
acquired, reproduced, and visualized is 2D. This is refl cted in 2D
tools integrated directly in popular software3 such as Word R and
PowerPoint R . Other popular software such as Photoshop R and
∗ e-mail:
[email protected]
1 ACM SIGGRAPH was created at this time which indicates that CG was
identifie as a scientifi discipline.
2 Statistics presented in this paper are based on a survey of Computer
Science curricula of many universities around the world. It is described in
Section 2.
3 Word and PowerPoint are trademarks of Microsoft Corporation. PhotoShop and Illustrator are trademarks of Adobe Systems Incorporated.
Illustrator R are dedicated to working on such 2D content. Yet, in
typical CG courses, 2D CG and IP are only briefl presented since
the focus is on 3D.
This paper proposes a course on 2D CG and IP as an alternative
way to introduce CG. These two disciplines have strong theoretical relationships which can be easily exploited in a single course.
Such a course is also of practical interest for many types of content
creation, for the acquisition of images, and for the reproduction of
content on different media. In this sense, our main contributions
are:
• The description of a course on 2D CG and IP.
• The identificatio of the relationships between CG and IP.
• The identificatio of topics that are important to consider to
create additional advanced courses based on this course.
• The identificatio of the benefit and the drawbacks of the
proposed course.
• An open source framework to create assignments in 2D CG
and IP and example topics for assignments.
• A survey on CG courses
2
How Computer Graphics is Presented
As a basis to the work presented in this paper, undergraduate Computer Science curricula were looked at with a focus on
courses involving CG. With respect to other works at surveying CG
courses [Wolfe 1999a; Wolfe 1999b], this survey does not go into
details of all the topics presented, but focusses on CG courses at
a higher level and the context in which they are presented: traditional 3D CG introduction, advanced courses, courses that mix CG
with IP or Human-Computer Interaction (HCI), and stand alone
courses on IP and HCI. The curricula that were analysed were related to Computer Science and include curricula such as standard
Computer Science, Software Engineering, Computer Engineering,
and Information Technology. The selection of universities was done
in two ways: random selection and selection based on the presence
of at least one CG researcher. This reflect two aspects of how CG
is presented: how is it presented when a specialist it present and
how is it presented in most universities (wether a CG researcher is
present or not).
This collection4 is a work in progress. The long-term plan is
to have a collection of typical introductory and advanced courses
that can be investigated when a course is to be created or evolved
to a different focus. This set of CG courses in Computer Science
curricula is composed of data from 5 countries, 30 universities, 46
undergraduate Computer Science curricula, 74 CG courses, 20 IP
courses, 27 HCI courses.
CG is typically presented in an introductory course that focusses
on 3D [Wolfe 1999a; Hitchner and Sowizral 1999; Hitchner et al.
1999]. Such an introductory course on 3D also has to deal with
IP since the main goal is image synthesis. The introductory course
thus has to deal with typical IP topics such as pixels, aliasing, fil
tering, image composition, and image enhancement. Creating and
interacting with 3D CG is a difficul task and an introductory course
also has to deal with typical Human-Computer Interaction (HCI)
4 The
current set of information can be accessed at
http://profs.logti.etsmtl.ca/epaquette/cgcourses/
topics such as rapid feedback, human perception of 3D space, complex tasks of moving in 3D space and creating 3D objects by looking at a 2D computer screen. Despite the link between CG, IP,
and HCI, 84 percent of the introductory courses are typical 3D CG
courses that devote most of their time to 3D topics.
In the context of an undergraduate Computer Science curriculum, various authors agree that there are many ways in which CG
can be introduced [Brown et al. 1988; Larrondo-Petrie et al. 1994;
Grissom et al. 1995; Cunningham 2002]. There are so many topics
to cover in Computer Science (programming, software engineering, databases, networking, computer architecture, artifi ial intelligence, etc.) that it may not be appropriate to have courses on CG,
courses on HCI, and additional courses on IP. It would thus be of
great interest to cover some parts of CG with another discipline.
While they are studying and in their future career, students in a
Computer Science curriculum will have to create content in different forms such as technical reports and user interfaces. For such
applications, 2D vector graphics and images have to be handled appropriately to create quality content. Acquisition of images from
different sources and reproduction on different media impose constraints that are not trivial to understand for someone with no background in CG and IP. In this paper, it is proposed that combining
the 2D aspects of CG with IP in a single course has many benefits
The details of a course on 2D CG and IP as well as practical and
theoretical reasons in favor of such a course will be presented in the
following sections.
3
Computer Graphics and Image Processing Course
In this section, the 2D CG and IP course, from now on refered to as
CoGIP 5 , is detailed and reasons why such a course is interesting
are presented. At the present time, only 3 percent of the courses
on CG introduce it together with IP. This paper argues that this percentage should significantl increase.
3.1
Course Description
The CoGIP course presents particular topics of traditional CG and
IP courses. Obviously it cannot cover all the material of the traditional courses, but it presents topics that form a coherent view of
the two disciplines. Here is a brief list summarizing the topics it
covers:
perception human visual system, sensation of color
color models, transformation (brightness, contrast, gamma, histogram equalization), composition (alpha blending, mathematical and logical operations)
sampling pixels, quantization, aliasing, and antialiasing
acquisition and reproduction digital camera, scanning, printing,
displaying, halftoning
vector primitives ellipses, rectangles, polylines, curves, etc.
3.2
Justifications for CoGIP
The CoGIP course has interests for both students and teachers. In
this section, practical reasons in favor of a CoGIP course are presented while in section 4 theoretical relationships between CG and
IP are introduced.
3.2.1
Advanced Content Creation
Content creation now heavily relies on the use of computers. The
visual representation of information in technical talks and reports,
data visualization, user interface, or promotional material uses text
but also heavily relies on 2D graphics and images. Common tools
such as Photoshop R and Illustrator R are increasingly powerful
and mastering these tools goes through understanding the theory
behind the implemented algorithm to give powerful insight into the
appropriate ways to use the tools and adjust the many parameters.
Creating appropriate input for these tools and generating appropriate quality output is also a challenge fille with the theory of vector and raster graphics. Images can be captured with digital cameras, by scanning from a printed copy, by scanning standard camera
film etc. Appropriate knowledge of the limitations of the different
types of acquisition is essential to creating quality content. The
CoGIP course topics involved in acquisition are perception, color,
sampling, and acquisition.
Given quality content, creating a reproduction on different media such as prints from inkjet or laser printers, computer screen,
lithography, etc. is still a challenge. For someone who does not
understand how our eyes perceive the fina images, it is especially
difficul so select an appropriate solution since they involve different costs and different output quality. The CoGIP course topics
involved in reproduction are perception, color, sampling, reproduction, and image filtering
3.2.2
Computer Graphics Applications
Creation of 2D content is the general application of CG, but specifi
types of 2D content creation and manipulation are worth mentioning. Today, almost every company has its Web site. The 2D content
of such pages poses both practical and theoretical constraints.
Presenting data to the end user is important in almost any software. This data will almost inevitably be presented on a 2D display.
Thus knowledge of how to create appropriate 2D images and vector
graphics is an important asset.
In computer games, most of the user interface and special effects
are made in 2D. Fast computation, transformation, and composition of images is crucial in such applications. In this context, basic
knowledge of the CoGIP course topics is essential to every programmer. Someone working more towards the artistic side of content creation for games and even any 3D content would also make
good use of the CoGIP course theory.
rasterization mid point, scan conversion, painter’s algorithm
filling boundary and floo fill
image filtering filterin in the spatial domain (blur, sharpen, median filte , etc.) and in the frequency domain
transformations affin transformations, homogenous coordinates,
composition
5 The description of the CoGIP course was submitted for publication to
the SIGGRAPH 2004 Educational Program. The paper presented here puts
this course in a broader context.
3.2.3
Knowledge requirements
For students, CoGIP disciplines fi well in terms of the applications they fulfill For the teacher, they provide an interesting platform on which to build advanced courses, but they also are in harmony in terms of the mathematical knowledge they require. Both
require students to have basic skills in calculus, linear algebra and
trigonometry. This is important since bringing the two disciplines
together does not put additional constraints on the target audience.
4
Relationships Between Computer Graphics and Image Processing
This section presents the theoretical relationships between CG and
IP. These relationships strengthen the logic of combining these two
disciplines in a single course instead of two separate courses. The
CoGIP course lends itself well to also having an advanced course
on 3D CG and an advanced course on IP and vision. Analysis of
the relationships between CG and IP helps to clarify which topics
could be presented in the CoGIP course and which could be part of
advanced courses.
4.1
Shared / Related
warping
Image Processing
shape from shading
stereo
contrast
image
wavelets
image compression
projection
texture
3D reconstruction
analysis
Table 2: Relationships between CG and IP topics that are advanced
topics in one of the two disciplines. The advanced topics are highlighted in italics.
Shared Topics
Table 1 presents the basic relationships between CG and IP. Since
Computer Graphics
synthesis
rendering
antialiasing
supersampling
texture mapping
animation
Shared / Related
image
volume
perception
color
sampling
texture filterin
forward-reverse
mapping
morphing
Image Processing
processing
filtering
thresholding
aliasing
filterin
image 2D
transformation
image
Table 1: Relationships between CG and IP and topics related or
shared between both disciplines.
they are so closely related, the presented classificatio is a helpful
tool for comparison, but not a strict classificatio .
Images are the predominant relationship between CG and IP.
Whereas CG can be viewed as a process that happens while (or before) the images are created, IP happens after an image is available
to process. Volumes can be view as images in 3D and are processed
by IP algorithms to enhance or extract information, while CG renders the volumes to 2D images.
Perception, color and sampling are vast topics shared by both
CG and IP. How the human eye perceives colors, how colors are
represented in digital forms, and how real world and vector graphics are sampled in order to be displayed on a computer screen are
few examples of aspects of these topics that are common to CG and
IP. Closely related to sampling come aliasing, antialiasing, filte ing, and supersampling. As CG creates images it deals in a very
different way than IP with the common problem of aliasing since
the filterin can be computed at a level that is different than that of
the fina image pixels.
Some approaches are common to both CG and IP. The forward
and reverse mapping used in texture mapping is equivalent to the
forward and reverse mapping from an original image to its copy
after a 2D affin transformation is applied. Still with respect to textures, filterin is an essential IP technique to solve a CG problem.
Morphing is another approach used in CG to morph between animation poses and used in IP for image morphing.
4.2
Computer Graphics
shading
image synthesis
HDRI mapping
IBR
multiresolution
surfaces
synthesis
Image synthesis is the major topic of CG. Among other things,
it computes the shading of an object and projects it on an image
plane. The shading computation of how the surfaces reflec light is
quite basic in CG, but it relates to the reconstruction of geometry
from shading in the IP discipline. Along the same lines, projection
is basic in CG and is related to the more advanced IP topic of stereo
vision.
In IP, contrast enhancement, image warping and image compression are basic topics. When it comes to CG, High Dynamic Range
Imagery (HDRI) is an advanced contrast enhancement technique
similar to standard IP techniques such as gamma correction. Image
Based Rendering (IBR) warping of depth images is an advanced CG
technique related to the basic IP image warping technique. Another
advanced tool in CG is the use of wavelets applied to problems such
as multiresolution surface editing. Wavelets, on the other hand, are
a basic image compression technique in IP.
Other topics, for example texture, are advanced in both CG and
IP. Texture analysis is an advanced technique in IP and texture synthesis is an advanced technique in CG. While texture represents
surface features, the 3D objects are also of interest to both CG and
IP in 3D reconstruction. In both fields advanced 3D reconstruction techniques exist even though they often have different fina
goals: realistic rendering of the reconstructed object in CG and object recognition in IP
4.3
Topics of Computer Graphics Appropriate for a
2D Course
In every introductory CG course, topics such as curves and transformations are firs introduced in 2D and then extended to 3D. While
these 2D topics may have little to do with IP, they fi well with the
2D context of images. Furthermore, 2D objects such as curves are
often converted to pixels and images before they are displayed. Images can also be manipulated by 2D transformations, so this topic
is also meaningful in the context of IP. Table 3 presents CG topics that are appropriate for a CoGIP course and their extension to
3D graphics. It shows that bringing the same topic from 2D to
3D is not a trivial extension. In the 3D world, curves can become
surfaces, transformations can become projections, etc. Presenting
these topics in a 2D course conveys important knowledge while
leaving many new challenges to the students when the topics are
presented in the 3D space. This table is thus helpful in preparing an
advanced course on 3D that would follow the CoGIP course.
Relationships Between Topics
The previous section presented basic topics and their relationships
in both disciplines. This section presents more advanced topics that
have links to the other discipline which is useful for the definitio of
advanced courses based on an introductory CoGIP course. Table 2
presents some of these relationships.
5
Discussion
The previous sections presented many reasons why a CoGIP course
is an interesting approach. In this section we focus on the benefit
and drawbacks of this type of course.
Computer Graphics
3D & surfaces
3D & projection
3D, more degrees of freedom
polygon, sphere, torus, etc.
scan-line
wireframe / smooth shaded surfaces
Shared / Related
curves
transformations
animation
primitives
vector to raster
Image Processing
2D
2D
2D
2D vector primitives
mid point
primitives contour / interior
Table 3: 2D CG topics that are moved from the traditional introductory CG course to the CoGIP course.
5.1
Benefits for Students
The CoGIP course is interesting for students, since it presents the
theory that governs how they perceive the world and how digital
images are approximate views or the real world. It also presents
how images and 2D graphics can be created, modified combined,
and reproduced to deliver quality results that correspond to different
constraints.
5.2
Benefits for Teachers
For teachers, the theoretical relationships between the topics require
quite similar background knowledge from the students. The close
relationship also allows the two topics to be easy to present together.
Furthermore, it gives more time to present topics which, in an introductory course to CG, are typically presented in a rush, since
introductory courses tend to focus more and more on the 3D techniques [Bouvier 2001]. Such topics include the difference between
vector and raster graphics and how vector graphics are rendered to
raster representation, halftoning techniques, color models, and fill
ing algorithms. These topics, even though they are important to
CG, are not essential to cover in depth in a 3D course and are often
barely touched.
The CoGIP course is also a good starting point for advanced
courses in CG and IP. In an advanced course on IP, sophisticated
IP topics could be introduced and the course could include vision
and object recognition topics. A natural advanced course would be
to pursue in the 3D space and rendering from 3D to 2D. Other advanced topics such as non-photorealistic rendering, animation and
advanced rendering techniques would also be appropriate choices.
5.3
Challenges and Drawbacks
A firs practical challenge of such a proposed course is that there is
no appropriate book that covers both disciplines. The book by Watt
and Policarpo [Watt and Policarpo 1998] covers CG, IP, and vision,
but does not present these topics in sufficien detail. In CG books,
little is presented on low pass filterin and all other spatial filter
are ignored. The presentation of the frequency domain, of image
transformations such as histogram equalization and median filterin
are also inexistent or too brief. In IP books, halftoning methods,
vector primitives, and curves, conversion from vector graphics to
raster graphics, and fillin are not presented.
Students could obviously buy two books, one for each discipline,
but this would become prohibitively expensive. The GTI410 course
notes6 rely on chapters extracted from six books [Watt and Policarpo 1998; Hill 2001; Efford 2000; Gonzalez and Woods 2002;
Foley et al. 1990; Hearn and Baker 2004] that cover the required
topics as detailed in Table 4. This is an inexpensive solution, but
the students have to adapt to the fact that the text is not completely
cohesive.
The topics covered in the course, even though there is no doubt
they are related, can seem too independent. Raster and vector
6 The notes respect copyright laws which our university has to follow and
which is similar to the “Fair Use” of the U.S. copyright law.
Book
[Watt and Policarpo 1998]
[Hill 2001]
[Efford 2000]
[Gonzalez and Woods 2002]
[Foley et al. 1990]
[Hearn and Baker 2004]
Topic
perception, color
color, sampling, vector primitives, reproduction, rasterization, fillin
image filterin (spatial domain)
image filterin (frequency domain)
curves
transformations
Table 4: Books used to build the CoGIP course notes.
graphics, and 2D CG and IP may seem unrelated opposites. This
type of dichotomy between related topics is inevitable and is present
in traditional introductions to CG. If the teachers are aware of this
difficult , they can point out and explain the links between these
topics. An approach to bring the topics closer together uses assignment topics balanced between 2D CG and IP, as well as vector
and raster graphics. This greatly reinforces the students perception
of the link between these topics. Table 5 presents the assignment
topics.
Topic
Color models
Filling
Filtering
Curves
Transformations
CG/IP
both
CG
IP
CG
CG and some IP
Vector/Raster
both
raster
raster
vector
vector and some raster
Table 5: Assignments of the GTI410 CoGIP course and how they
relate to 2D CG and IP as well as vector and raster graphics.
To further help the students in understanding the theory while
they are doing the assignments, a framework [J2DCG 2003] that
allows 2D CG and IP to be coded in a single application was developed. The framework does not present a working system, such as an
image editing package, but gives a context in which algorithms are
implemented with little programming effort and can be controlled
with a readily working interface as can be seen in Figure 1. When
object-oriented design can become a diffi ulty, example concrete
classes are included in the system to facilitate the implementation
of the classes relevant to the assignment. The framework design
is thus focussed on ease of modification not efficien y or rigorous
object-oriented design. To facilitate its use by other teachers, this
framework is open source on SourceForge.net7 and developed in
Java.
In the context of having a CoGIP course as an introductory
course followed by a 3D CG course, the most problematic aspect
is that the CoGIP course is a prerequisite for the 3D CG course.
Thus students cannot directly follow the 3D course without going
7 http://sourceforge.net/
The Software Engineering curriculum presents many theoretical aspects of software processes and methodologies. In this curriculum, the LOG750 introductory CG course is a standard 3D CG
course. The course is an interesting and exciting application of the
various skills learned in the curriculum such as HCI, object-oriented
design, data structures, testing, and mathematics.
6
Figure 1: The user interface of the j2dcg framework developed for
the CoGIP course.
through IP. Creating 2D content is so important and relies so heavily on 2D CG and IP that, in the context of many curricula, it should
outbalance this problem.
Another potential problem is that some topics, such as those presented in Section 4.3, are split between two courses. Even though
the topics were already presented in the 2D context, the teacher of
the 3D course will likely have to refresh the students memory before extending the 2D concepts to 3D. However, this problem is
common in any course that further develops material learned in a
prerequisite course.
5.4
Computer Graphics in Different Curricula
The CoGIP course presented here is almost identical to the GTI410
course of the Information Technology engineering curriculum at the
ETS8 Engineering School. It presents a practical academic example
where a CoGIP course is an important tool for pedagogy. The GTI
Information Technology engineering students gain abilities in the
f ve disciplines of engineering, computer science, CG, networking
and business. In this context, the GTI410 CoGIP course fill the
most important part of the multimedia content creation knowledge
required by the CG, networking and business disciplines. Information Technology curricula are becoming more common: 9 percent
of the curricula related to Computer Science are on Information
Technology. A CoGIP course brings a definit ve advantage to such
curricula.
As it was mentioned, CoGIP is one approach to introduce CG,
but other have their places depending on the context of the particular curricula. ETS is a nice environment to study different ways
CG can be introduced, since three offered curricula have different
introductory courses. In the Electrical Engineering curriculum, the
ELE615 introductory CG course is a mixture of CG and HCI. The
future electrical engineers need the basic knowledge of interface
design and the CG part serves different needs such as a challenging application of computer programming, application of real-time
system, and an introduction to visualisation aspects.
8 http://www.etsmtl.ca/
Conclusion
This paper stressed the fact that, to be able to create quality 2D content, mastering the 2D CG and IP disciplines is important. From a
survey of CG courses in undergraduate Computer Science curricula,
it was noted that there are courses on CG in almost every undergraduate Computer Science curriculum, but the typical introductory CG
course focusses on the 3D aspects. This does not provide adequate
knowledge of the algorithms used to create graphical representations of all sorts of data. The proposed solution is to combine 2D
CG with IP in the here proposed CoGIP course. This course is not
intended to replace the typical introductory course that focusses on
3D, but to provide an alternative that should gain more attention
since computer scientists often have to deal with 2D content.
Apart from describing the CoGIP course, this paper identifie
the theoretical and practical relationships between CG and IP. It
identifie the benefit and drawbacks of adding such a course in
an undergraduate curriculum and specificall relates this introductory course to topics that could be part of advanced courses. It
also presents a developed software framework for assignments and
specifi assignment topics to cover as much of the main aspects as
possible.
6.1
Future Work
As was mentioned, a long-term goal is to have a collection of typical
introductory and advanced courses that can be investigated when a
course is to be created or evolved to a different focus. The CoGIP
course is quite well define and analysed, but it would be interesting to look at other disciplines that could be mixed with CG.
Disciplines such as HCI, CAGD, and art share many topics with
CG. It would be interesting to study if the relationships between
CG and such disciplines is as tight as the relationship between CG
and IP. Another subject that would be important to analyse with respect to the collection of typical introductory courses, is the relation
between the types of curricula and introductory courses.
The CoGIP course is obviously not the only appropriate way to
teach CG. Another avenue which may be interesting to look into,
is to have a course on 2D CG, IP, and HCI. Typical HCI courses
present the basics of drawing windows and widgets. The course
could go a little bit further in 2D CG and IP to provide basic knowledge of 2D content creation. An advanced course on 3D CG following such a course could heavily rely on the fact that students
know enough of 2D CG, IP, and HCI to concentrate on advanced
3D techniques and interactions.
References
B OUVIER , D. 2001. From pixels to scene graphs: The evolution
of computer graphics courses. In Proceedings of the Educator
Program, ACM SIGGRAPH 2001.
B ROWN , J., B URTON , R., C UNNINGHAM , S., AND O HLSON , M.
1988. Varieties of computer graphics courses in computer science. In Proceedings of the nineteenth SIGCSE technical symposium on Computer science education, 313.
C UNNINGHAM , S. 1999. Re-inventing the introductory computer
graphics course: Providing tools for a wider audience. In Graphics and Visualization Education Workshop (GVE ’99) Proceedings, J. C. Teixeira, W. Hansmann, and M. McGrath, Eds., 45–
50.
C UNNINGHAM , S., 1999.
Report of the 1999 eurographics/siggraph workshop on graphics and visualization education.
Graphics and Visualization Education Workshop (GVE ’99) Proceedings.
C UNNINGHAM , S., 2002. Recommendations of the computer science curriculum group of interest. Eurographics/SIGGRAPH
Workshop on Computer Graphics Education 02 (CGE 02).
E FFORD , N. 2000. Digital Image Processing: A Practical Introduction Using Java. Addison-Wesley.
F OLEY, J., VAN DAM , A., F EINER , S., AND H UGHES , J. 1990.
Computer Graphics Principles and Practice, 2nd ed. AddisonWesley.
G ONZALEZ , R., AND W OODS , R. 2002. Digital Image Processing, 2nd ed. Prentice Hall.
G RISSOM , S., B RESENHAM , J., K UBITZ , B., OWEN , G. S., AND
S CHWEITZER , D. 1995. Approaches to teaching computer
graphics. In Proceedings of the twenty-sixth SIGCSE technical
symposium on Computer science education, 382–383.
H EARN , D., AND BAKER , M. 2004. Computer Graphics with
OpenGL, 3rd ed. Prentice Hall.
H ILL , F. 2001. Computer Graphics Using OpenGL, 2nd ed. Pearson Education.
H ITCHNER , L. E., AND S OWIZRAL , H. A. 1999. Adapting computer graphics curricula to changes in graphics. In Graphics and
Visualization Education Workshop (GVE ’99) Proceedings, J. C.
Teixeira, W. Hansmann, and M. McGrath, Eds., 23–30.
H ITCHNER , L., C UNNINGHAM , S., G RISSOM , S., AND W OLFE ,
R. 1999. Computer graphics: The introductory course grows up.
In Proceedings of the thirtieth SIGCSE technical symposium on
Computer science education, 341–342.
J2DCG, 2003. Java 2d computer graphics and imaging framework.
http://j2dcg.sourceforge.net/.
L ARRONDO -P ETRIE , M. M., B RESENHAM , J., L AXER , C.,
L ANSDOWN , J., AND OWEN , G. S. 1994. Approaches to teaching introductory computer graphics. In Proceedings of the 21st
annual conference on Computer graphics and interactive techniques, ACM Press, 479–480.
O HLSON , M. 1986. The role and position of graphics in computer
science education. In Proceedings of the seventeenth SIGCSE
technical symposium on Computer science education, 232–237.
WATT, A., AND P OLICARPO , F. 1998. The Computer Image.
Addison-Wesley.
W OLFE , R. 1999. Brining the introductory computer graphics course into the 21st century. In Graphics and Visualization Education Workshop (GVE ’99) Proceedings, J. C. Teixeira,
W. Hansmann, and M. McGrath, Eds., 3–8.
W OLFE , R. 1999. A syllabus survey: Examining the state of current practice in introductory computer graphics courses. Computer Graphics 33, 1, 32–33.