Projects:

Quick reference : Proj 1 Proj 2 Proj 3
Warning: Many of you will be taking other courses with project work, and you will be tempted to do one or more big projects to satisfy requirements in each course. You may not turn in a project for this course if you are getting credit for it in another course, unless you work out grading criteria in advance to the satisfaction of all instructors involved.

Project 1: Multimedia/Hypermedia Authoring

The goal of this project is to gain experience building an application with a high-level authoring environment or language. You will use Authorware to develop a presentation and interactive exercise on some topic of C++ programming. Each student will be given a separate topic with a basic lesson design. (Please turn in half of your work by Feb 15 and all by Feb 20).

Some of the lessons require you to give code examples and ask the student to write code. We're going to assume a set of graphics and interaction routines. Click here for specifications.

Each student has a designated lesson or lessons to implement, but you may want to see some designs for other lessons. Here's the complete set of lesson designs .

In generating the lessons, you should follow the formats provided by the sample programs located in the Zone: "CS", machine: "multimedia lab (animation)", item: Macintosh HD, folder: "IDEAS examples", files: "Read Me", paging demo, paging model, read_assignments, read_assignments_eval, etc.

Please use these examples so that we end up with a consistent set of background colors, buttons, text fonts, etc. in the presentations.

Name your project according to assignment number, user id, and type, e.g. "23-rbd-pres" and "23-rbd-eval". Leave your project in the "Media Tech Class" folder in "Macintosh HD" (as before).


Project 2: Quality of Service Experiment

Digital media offer great flexibility with regard to media representation. In particular, various sample rates and quantization levels can be used to trade off quality against storage, latency, computation, and/or bandwidth. This project is intended to give you first-hand experience with these tradeoffs.

Some resources:

Step 1

(Due Feb 27): Obtain a sound or image and (dis)play it on a machine of your choice. See the instructor if you have problems. Turn in a description of your example and why you chose it. For example, you might have a voice recording because you are interested in quantization applied to telephony. If you write more than a paragraph, you are working too hard.

Step 2

(Due Mar 5): Design an experiment to study the effects of quantization. The experiment should be in one of two forms: Form 1: evaluate a tradeoff such as: color resolution vs. image resolution, sampling rate vs. bits/sample, log vs. linear samples, or dithered vs. undithered images. Example: how much extra resolution at 1 bit/pixel gives an image quality equivalent to 2 bits/pixel? Form 2: Measure the amount of added noise (expressed as a fraction of maximum signal amplitude) that gives an equivalent subjective quality to a degraded signal. Example: determine what level of noise must be added to 16 bit audio before it degrades to the quality of 8 bit audio. Hint: In both forms, you make subjective comparisons between two images or sounds and adjust some parameter until you get subjectively equal quality in the two stimuli. Be sure you know what parameter you are varying. ("I turned the Photoshop blur factor to 4" is not a satisfactory explanation.) Turn in a description of the experiment. One or two paragraphs is fine.

Step 3

(Due Mar 19): Perform the experiment and write up the results. One page should be sufficient. Be sure to compute and compare the number of bits in the different versions. In most cases, your writeup will include a graph, for example showing the subjective quantization noise as a function of bits/sample, or showing the required image resolution to maintain constant quality as a function of color resolution.

Project 3: Digital manipulation of audio, image, or video data.

In this project you will implement software to manipulate digital media. Examples include: digital reverberation for audio, resampling or special effects for image data, using edge-detection to convert images to line drawings or video to line animation, color quantizing or color correction, pitch detection in audio, pattern recognition in images, motion detection in video, and music synthesis. Since the Project 1 involves reading, processing, and outputing media, you are encouraged to extend that work rather than starting from scratch.

Step 1

(Due Apr 2): Determine what you wish to implement. Turn in a one paragraph description. Be creative.

Step 2

(Due Apr 23): Implement the effect. Turn in (1) an image or a pointer to a sound file, (2) a program listing, and (3) a copy (or revision) of the description from Step 1.
(cdhoff@maps.cs.cmu.edu)