Image Art Project

Create a piece of art using Python Image Library (PIL).

  • Base your art on a creative concept that you choose.
    (Don’t make it random junk; don’t do an unsophisticated joke)
  • Use a variety of PIL functions. Show evidence that you are proficient with those functions.
    (don’t turn in barely altered copies of the examples)
  • Use good Python coding to enhance your work, such as loops, if/else logic, and math

You will be graded on two proficiency scales:
(Computational Artifacts and Algorithms)

Computational Artifacts Grading Scale:

Level 4:

  • The new image could only have been created with clever and complex code.
  • The modifications done to the object are all done with a logical purpose in mind, which is communicated in the presentation and in the code comments.
  • The new image follows some sound principles of visual design, such as balance, scale, symmetry, and so on. Note: your teacher might need some help recognizing these elements, so feel free to help out by pointing those things out in your presentation.
  • The image appears to have been conceived and executed by an intelligent, creative, thoughtful person.
  • The image has some level of coherence and purpose to it. In other words, it is not just a presentation of completely random ideas, nor is it merely an unsophisticated joke.

Level 3: 

  • The modified image is changed substantially from the original image. OR, if the image was generated from a blank slate, the produced image is complex enough to be interesting.
  • The product has some redeeming qualities. Some possible examples: it’s cool; it demonstrates good creativity; it’s informative; it conveys a message; it is beautiful; it is complex; it required hard work to create it.
  • The image has been modified in more than one way.

Level 2:

  • The new image is different than the old image in a substantial way.
  • The image uses multiple PIL functions to create something neat.
  • The image was created with a coherent idea in mind.

Level 1:

  • The new image is barely different than the old image, or it is changed in a way that doesn’t add much value to the image, such as making the whole thing black or randomizing every pixel.
  • Little or no evidence that the image is based on a thoughtful concept

Programming Proficiency Scale:

Level 4:

  • Code includes things from PIL library that aren’t directly from the class examples. This might include new functions from the official documentation, or implementations of those functions different from what was shown in class.
  • The code shows evidence of your proficiency with more than the bare basics of the PIL library. The code is unique and interesting enough to demonstrate that you did more than copy and paste and change names of stuff.
  • Code includes a variety of techniques; shows evidence that the programmer tried a bunch of different image functions and got them to work.
  • Code combines good knowledge of basic Python (loops, functions, conditionals, math, etc) with knowledge of PIL functions

Level 3:

  • The algorithms used to modify or create the image are complex enough to require some clever coding.
  • Possible examples of complexity are multiple steps; use of equations to calculate values; use of conditionals to decide when to apply an algorithm, use of different algorithms for different situations (combination of equations and conditionals), using combinations of PIL functions in clever and useful ways, and applying PIL functions in creative ways.
  • The algorithms produce complex and interesting results.
  • The algorithms produce the type of changes that the programmers intended.
  • The code shows evidence of proficiency with the basics of the PIL library.
  • Code is substantially different than the example code.
  • Code shows evidence of multiple improvements / tweaks during the process of creating the project.

Level 2:

  • Code includes an algorithm that modifies or creates an image. This algorithm shows the programmer’s ability to create an algorithm.
  • The algorithm is different enough from previous examples in this class that it can demonstrate some proficiency for designing an image editing algorithm.
  • The algorithm works properly

Level 1:

  • Code may not work properly.
  • Code submitted is hardly different from the example code provided, so it does not show evidence of substantial understanding of how the PIL image library works.
  • Code is too short given the amount of time given to work on the project.