CITA/CSCI/FYSE 180 – Fall 2024 – Homework 3

Assigned Date: Wednesday, Oct. 2, 2024
Due Date: Friday, Oct. 11
Due Time: 30 mins before class

By Friday, Oct. 4, identify the art piece you selected on the Ed Discussion board (30 mins before class – again).

Assignment

Write a JythonMusic 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 twelve GUI elements.

Your goal should be to dazzle us with your work.

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 of where you found the image.

Follow the documentation instructions from Homework 1.

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.

Submissions

Your program should have a meaningful name, e.g., monalisa.py.

1. Bring to class the following:

  1. A printout of your Python program.
  2. Be ready to demonstrate your program in class – part of your grade depends on this.

2. Also, submit on OAKS:

  1. Your Python (.py) file – e.g. monalisa.py
  2. The original image that you are recreating (.JPG, .PNG), e.g., monalisa-original.jpg, and
  3. The image (.JPG, .PNG) that your program generates (a smartphone photo is fine), e.g., monalisa-new.jpg

Grading

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