CS 111 - Program Design 1, Fall 2014

Project 3 - A Flag Collage

Due Date: Monday 11/10/2014 at 11:59 pm

For this project, write a program that will create a collage of pictures that resembles the flag of a country. Your collage must be made by copying at least 3 pictures (or parts of 3 pictures) onto a blank canvas. Each of the three pictures must be modified in a different manner. These modification should be done to make the needed colors for the flag of your choice.

Extra Credit

  • If the pictures used are thematically related to the country whose flag you chose, you will receive 5 point extra credit.
  • There will also be an additional 5 point extra credit if your countries flag has diagonal boundaries between colors.

Modification of the Pictures

The following are examples of modification that you might want to do to the pictures chosen:
  • increase some color(s)
  • decrease some color(s)
  • creating a color negative
  • make black and white
  • make color and white
  • make black and color
  • posterization
  • flipping, rotating or mirroring the image
Check out examples of flags and an example of a finished example (this is from the original site of this project). As a suggestion, don't use a flag with a complex image/symbol on it. Here is a list of many flags from around the world.

You are to write and use at least two methods for this project. A good idea is to write methods for each of the three modifications. Also, you must hard code the name of the images used for this project. You are not to use pickAFile() to prompt the user for the names of the images used. You may use pickAFile() to determine the directory that all the images are in. You should assume that all of the images will be in the same directory, so once that directory is known to the program, no further prompting from the user is required. Check out the code at Lect1026g.java for an example on how this is done. You may want to use setMediaPath() in the FileChooser class to help read in the needed images.

Here are a list of examples done by other students in CS 111 in previous semesters.

Project Collaboration

You are allowed to receive help on this project from other students who are also taking CS 111. Each student must still complete and submit his/her own project. You will be required to include a Collaboration Statement somewhere on your project if you receive help. This statement can simply be something like the following:
For this project, I received help from the following member of CS 111.
This statement should list each helping student's name in a comment in the "header comment" of your Java file that includes the main() method.

Programming Style

Part of the grade for this project will be on your use of good programming style. Programming style includes:
  • The use of methods!!! - the key factor in the grade for the points for style
  • The use of meaningful variable names
  • The use of header block comments at the beginning of each method and at the start of your program
  • The use of inline comments
  • The appropriate use of indentation
  • The appropriate use of blank lines

Submission of your Project

You must electronically submit all of your files (all .java files, any image files and any other files used) via the Link for Project 3 in Blackboard.

This project was modified from project for Ga Tech's CS 1315.

-- Main.troy - 2014-10-26

Edit | Attach | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2014-10-26 - 22:14:21 - Main.troy
Copyright 2016 The Board of Trustees
of the University of Illinois.webmaster@cs.uic.edu
Helping Women Faculty Advance
Funded by NSF