CITA/CSCI 180 – Spring 2019 – Homework 5

Assigned Date: Wednesday, Mar. 13, 2018
Due Date: Monday, Mar. 25
Due Time: 30 mins before class



Write a Jython program that recreates an existing piece of art (your choice).

You may select a minimal, abstract piece of art, or a more traditional one (Google is your friend). You should avoid something overly complex (e.g., the Mona Lisa), but you could recreate it in less detail.

  1. Find an interesting piece of art on the web.
  2. On a piece of paper, design what GUI elements (lines, circles, icons, labels, etc.) you need to recreate it. Write down their points, like we did in class…

    Remember: 2 hours of design can save you 20 hours of coding.

  3. Write the program that does it.

The piece should contain at least seven GUI elements.

Your goal should be to dazzle us.

Program Documentation

Your header documentation should mention the name of the piece of art, the original creator’s name (and in parentheses, the years (s)he lived, e.g., 1820-1918).

Also, include the URL where you found the image.

Follow the documentation instructions from Homework 2.

Remember, the Golden Rule of Style:  “A program should be as easy for a human being to read and understand as it is for a computer to execute.”  Your code should have general comments at the top, which explain what the program does. You should comment all variables, obscure statements, and blocks of code.

Follow the textbook examples on how to write comments.

Your code should be organized well, so it is easy to read and understand.


You will submit your assignment by both handing in a printout in class, and online via OAKS.

Be prepared to demonstrate your program in class.

Do all of the following:

Hand in a printout in class on the due date. This should consist of:
your Python program,
the image of the original piece of art you chose to recreate, and
the image generated by your program.
Upload the same on OAKS.

Do all three:

  1. Upload your program file on OAKS.  There should be three files in your submission (your program, and two images). Use meaningful names, e.g.,
    2. monalisa-original.jpg, and
    3. monalisa-new.jpg.
  2. Hand in a printout of your Python program in class on the due date.  Attach printouts of the two images (the original artwork, and the artwork generated by your program).  There should be everything here to grade your work.
  3. Be ready to demo your program in class.


Your grade will be based on how well you followed the above instructions, and the depth/quality of your work.

Learning Objectives

This assignment has the following objectives:

  • Understand color, shapes, 2D-coordinate space, and displays.
  • Create interesting pieces of art using the GUI library of JythonMusic
  • Apply numeric and string data types to represent graphical information.
  • Use predefined classes in program development (object-based programming).
  • Construct a long program that accomplishes a certain goal.
Skip to toolbar