# Fun ideas for project on Encoding

My university is organizing a project for college students (age around 17) around the subject of encoding (not encypting! See also http://danielmiessler.com/study/encoding_vs_encryption/). As a student of this university, I was asked to help organize this project.

We have made some teaching material, in which we explain the concept of encoding and decoding. The college students will get an understanding of Hamming codes and the Golay code, among other things.

One key piece is missing however: we would like to come up with a fun project based on encoding and decoding.

The project will have to take them about 4 to 8 hours. A few ideas we already came up with, but are not fully satisfied with:

1. Split the college students in a few groups. Let each group choose a mp3 file with some well-known music. Let them encode the (binary representation of the) mp3. We add some noise to this encoding and let some other group try to decode it, based on a bit of information given by the first group (eg. part of the generator matrix used or some part of the decoding).

2. We make a message consisting of some images or text, encode it, add some noise, and send it to the first group. They will have to decode it (based on some information given by us) and try to find the message that we sent. They encode it, we add some noise, and send it to the second group, and so on... Then we hope the message that the last group decodes still somehow resembles the message we sent (or not).

TL;DR. Do you have an idea for a fun project based on encoding and decoding for college students, taking about 4 to 8 hours?

EDIT 2012-01-12 11:26

Before these college students start the project, they will have an understanding of basic lineair algebra (matrix multiplication) and binary arithmetics. The project is meant for 'excellent' (or smart) students, that have a passion for math.

-
4 to 8 hours is about enough time to get your head around most of the complexities of mp3. It's nowhere near enough time to actually decode a file and re-encode it. – Peter Taylor Jan 12 '12 at 11:45
@PeterTaylor: Sorry, maybe I didn't really explain it that well. We will translate the mp3 to binary representation and give that tot the students. They will just have to come up with a way to encode it (eg. Hamming or Golay). We will implement that encoding and apply some noise to it. Then another group will have to decode it, based on some information that the first group gave them. – Thanaton Jan 12 '12 at 15:38
Ah, so the fact that it's an mp3 is irrelevant to what they're doing with it? If you're looking for something vaguely applicable, are you going to get as far as Reed-Solomon codes? If so, you could get them decoding QR codes, which they're probably used to seeing on just about everything nowadays. – Peter Taylor Jan 12 '12 at 15:44
@PeterTaylor: No, we aren't going to explain Reed-Solomon codes. The Golay code is the most extensive one we will be using. Repairing bursts is outside the scope this project. However, thanks for your suggestion about QR-codes! – Thanaton Jan 12 '12 at 18:58
You might have gotten more suggestions, if you had added the <tag: coding-theory>! For example, I only saw your question today! :-(. If the students only have 4 to 8 hours I would not expect them to be able to implement anything more advanced decoding than, say, Hamming decoder or a decoder for a repetition code. Golay code is already tougher without a bit more sophisticated algebra. Viterbi decoding (if you covered convolutional coding) would be easier to do in classroom setting. But I'm a bit curious! How did it go? What did you end up doing? – Jyrki Lahtonen Aug 28 '12 at 19:28