CSC151.01 2009F Functional Problem Solving : Labs

Laboratory: Getting Started with the GNU Image Manipulation Program

Summary: In this lab, you will experiment with GIMP, the GNU Image Manipulation program. You will also think about how you might give instructions to someone else to draw pictures using GIMP.


a. Open a terminal window by clicking on the picture of the computer screen in your task bar.

b. Start GIMP by clicking on the GIMP icons or by typing /home/rebelsky/bin/gimp. It will probably ask you whether it can install some files. Allow it to do so.

c. Play for awhile with the various tools. Feel free to share ideas and questions with neighbors.


Exercise 1: Selecting, Stroking, and Filling

The GIMP relies on its selection tools to support a variety of kinds of drawing. You may have noted that there are three selection tools: A rectangular tool, an oval tool, and a freehand (lassoo) tool. The strategy one normally uses is to select some area and then fill or stroke that area.

a. Create a new image.

b. Set the foreground and background colors to something recognizable (say, red and yellow).

c. Choose an interesting brush (say, one of the Calligraphic brushes or the Pencil Sketch brush).

d. Using the selection tool of your choice, select a moderately large area of the screen.

e. From the image's Edit menu, select Fill with BG Color. Observe what happens.

f. From the image's Edit menu, select Stroke Selection... and click Stroke with a paint tool from the dialog that appears. Choose the Paintbrush as the paint tool. Click the Stroke button. Observe what happens.

g. Select different areas and stroke and fill with different colors, paint tools, and stroke lines.

Exercise 2: Multiple Selections

By default, when you select a second area, GIMP forgets the previously selected area. However, there are ways to combine selections. In particular, when you hold down the shift key, you get one behavior and when you hold down the control key, you get another behavior.

a. Select a large rectangular area.

b. While holding down the shift key, select an overlapping rectangular area. What happens? What does that suggest about selection with the shift key?

c. While holding down the control key, select an overlapping rectangular area. What happens? What does that suggest about selection with the control key?

d. While holding down both the shift key and the control key, select yet another overlapping rectangular area. What happens? What does that suggest about selection with both keys?

e. Stroke or fill the area you've just created.

If you are unsure of any of your answers, you may wish to check the notes on this problem.

Exercise 3: A Simple Drawing

Draw a smiley face using whatever tools you deem most appropriate.

Exercise 4: Drawing Instructions

a. Record, in English, instructions for replicating the drawing you just made. (You can assume a reasonably competent reader. While I may attempt to replicate your instructions, I won't do my normal imitation of a “sentient but malicious computer” or of a “clueless computer scientist”.)

b. Share your instructions with neighboring groups.

c. Using one of the sets of instructions you received from a neighboring group, make a new drawing.

d. Reflect on the strengths and weaknesses of the instructions you wrote and received.

Exercise 5: A Course Logo

Start with the word Computer Science and make an interesting logo. You might add colors, shadow, more. You might find the Filters and Script-Fu menus useful.

Exercise 6: Logo Instructions

Write, in English, instructions you might give someone else to create a logo like that.

Exercise 7: Generalized Logo Instructions

Generalize your instructions from the previous step so that they could be used with any word.


Notes on Exercise 2: Selecting, Revisited

The shift key serves as the add modifier. The newly selected area is added to the previous selection.

The control key serves as the remove modifier. The newly selected area is removed from the previous selection.

The combination of the shift key and the control key is the intersection modifier. Only stuff that is both in the the previously selected area and the newly selected area is selected.

Return to the problem

Creative Commons License

Samuel A. Rebelsky,

Copyright (c) 2007-9 Janet Davis, Matthew Kluber, Samuel A. Rebelsky, and Jerod Weinman. (Selected materials copyright by John David Stone and Henry Walker and used by permission.)

This material is based upon work partially supported by the National Science Foundation under Grant No. CCLI-0633090. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License. To view a copy of this license, visit or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.