COMP 144 Programming Language Concepts
Spring 2003


Assignment 5: Third Perl Script

Due Date: Wed Feb. 19


Description

Your task in this assignment will be to take the Perl script you did for assignment 4 and make it draw a graphical image of the Mandelbrot set as you did in Java.

You must write at least two subroutines in this program, and they must be well chosen (i.e., they can't be trivial simply to satisfy the requirement to have 2). You must also use at least one hash (associative array) in solving the problem.

You will need to use the Perl "Tk" module. This module is similar to the GUI module we looked at before, in that you import its names and functions with the "use" statement. However, unlike GUI, the Tk module is part of the core Perl distribution and is already installed on your PC with Perl.

Using the Tk Module

These links should give you all you need to do your GUI programming in Perl/Tk. Label the axes so we can see what range of real and imaginary values an image covers.

It should be fairly easy with the Tk widgets to make a GUI that has some nice features. You can put a text field in, for example, that will allow you to specify new parameters for another image to be generated. Be creative.

Submission

This assignment is due Feb. 19 (during the first ten minutes of class). Late assignments get 25% off each day they are late. Your submission will be both electronic and on paper. Your electronic submission will be an e-mail sent to levicki@cs.unc.edu with the subject

COMP 144 Assignment 5 Submission

and a single .zip file attached to it. This file should have the following content:

In addition, you must hand in a printed version of your design and accomplishments document.


Grading

I will grade both the quality of the source code (design and documentation) and the output. I will not grade programs that do not compile. Collaboration is encouraged, but you cannot share source code. Honor Code applies to this program. Please, read http://www.cs.unc.edu/Admin/Courses/HonorCode.html for more details.