Using what we saw in the class on Multimedia, use Python and the Python Imaging Library to read in an image file, and compute and display the "red", "blue", and "green" channel images.
You should also compute the grayscale image, using the formula Y = 0.299R + 0.587G + 0.114B (see this page for more information).
Write a program that performs a Caesar Cipher, translating a string of text into an encrypted form. A Caesar Cipher works by taking each character and shifting it by a number n. For example, if n=2, the string "abc" would become "cde" because 'c' is 2 after 'a', 'd' is 2 after 'b', and so on.
You can assume the input string only has spaces and lowercase letters, and the alphabet wraps around to 'a' after 'z'. See this page for more information.
This choice is a little more challenging, as we haven't discussed dictionaries in Python, and they lend themselves well to this application. Please ask questions if you have any! You can instead use Java for this if you are more familiar/comfortable with that.
Upload a short (30 seconds to 1 minute) video to YouTube, showcasing your program and how it works. You should show the code, as well as two example inputs and their outputs. You should either narrate the video or include captions describing what the video shows.
On your personal website, add a link to the YouTube video or embed the video itself.
To create the video, you can either use screencast software (such as the free CamStudio on Windows), or create a PowerPoint presentation with screenshots of your code and your program's output. In PowerPoint 2010+, you should be able to record the slide show via the Slide Show tab, and then go to File -> Save & Send -> Create a Video to save your powerpoint (with slide timings and narrations, if you have them) as a video file. (There are good walkthroughs of how to do this uploaded to YouTube, as well.)
Please email your homework, the YouTube site (hosting your video), and your personal website to the GRC at tamert@cs.unc.edu and carbon copy (cc) the instructor at lin@cs.unc.edu.