Due Date: Tuesday 11/8/2016 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 modifications 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. Here is another list of flags.

You must write and use at least three methods for this project in addition to the function "proj3( )' which will be the name of the function to start your code's execution. You are strongly encouraged to write functions for each of the three modifications and another function for the combining of pictures into your final collage.

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() once to to allow the user 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 lect1025a.py for an example on how this is done.

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 python file that includes the main "proj3()" function.

Programming Style

About 20% of the grade for this project will be based on your use of good programming style elements.

Programming style includes:

  • The use of functions!!! - 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 function 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 .py files, any image files and any other files used) via the Link for Project 3 in Blackboard. Your python file is to be names using your net-id and the project name such as "ptroy4proj3.py". The function name to begin the execution of your program must be "proj3( )".

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

Topic revision: r2 - 2016-11-07 - 16:21:48 - Main.troy
Copyright 2016 The Board of Trustees
of the University of Illinois.webmaster@cs.uic.edu
Helping Women Faculty Advance
Funded by NSF