Instructor Manual
Introduction to Computing and Programming with JAVA
A Multimedia Approach
By Mark Guzdial and Barbara Ericson
May 2006
Purpose
The purpose of this book is to introduce computing in a way that students find motivating,
creative, and relevant. Students enjoy writing programs to modify pictures, sounds, Web pages,
and movies. We still teach all the usual introductory concepts such as variables, methods, arrays,
looping, conditionals, objects, classes, inheritance, and interfaces, but in a multimedia context.
One of the advantages of this approach is that it is easy to tell if your program is working or not
by looking at (or listening to) the resulting media.
This media computation approach was first created for an undergraduate course at Georgia Tech
for non-majors using Python. This course has increased the success rate for non-majors
(business majors changed from a 49% success rate to an 88% success rate). Other colleges and
universities have trialed the Python version with similar results. See
http://coweb.cc.gatech.edu/mediaComp-teach for a list of schools that are using the Python or
Java version of media computation. Please let us know if you are using this approach so that we
can add you to the list (e-mail ericson@cc.gatech.edu or guzidal@cc.gatech.edu). The Georgia
Tech introductory course has resulted in non-major students taking a computer science minor
and even caused some to become computer science majors. And, with a 40-60% drop in
computer science majors at the college level across the country, it is important that we attract
people to computer science, instead of driving them away. We particularly would like to attract
more women and minorities (especially African Americans and Hispanics) to computer science.
The speed of modern computers means that we can introduce computer concepts by
manipulating media instead of just having the computer print out “Hello World” and other such
assignments which we have been using for over 30 years. Students do not find programs that
convert temperature or compute sales tax very interesting. They do not find such examples
relevant to their lives.
Chapter 1
This chapter introduces computer science as a study of recipes (programs). It uses the recipe
analogy to introduce many of the sub-fields of computer science (such as algorithms, data
structures, theory, artificial intelligence, human-computer interface, and so on). Many students
do not know what computer science is and/or think it is just programming, so this is an attempt
to broaden their understanding of computer science. A good activity might be to research one of
these sub-fields or look up how computers are used in an area the student is interested in. You
could show one of the videos from the University of Washington which interviews several