4
$\begingroup$

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?

Thanks in advance!

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.

  • 0
    @JyrkiLahtonen: I will add the tag the next time, thanks for the suggestion! In the end, we split up the group in pairs. Each pair had to pick a song (in WAV format) and 'invent' a generator matrix. We picked some good generator matrices and encoded all the music with one of these matrices. The pair were given back their music and the generator matrix, they had to find the parity check matrix and syndrome list (is that the right English term?), eather manually or with the computer. Some students liked the assignment, others didn't. Overall, I think it was a success.2012-08-29

1 Answers 1

2

You might look at various error-tolerant ways of putting data on paper and scanning it back in. In particular, the Twibright Optar system for printing music on paper uses Golay codes.

MP3 is pretty complex, unless you're just treating it as a raw opaque binary blob. Perhaps it would simplify things to use a simpler representation of music, perhaps a series of raw uncompressed 16-bit integers (as stored on music CDs or inside WAV files) or MIDI files.

Perhaps you could implement some variation of the "telephone game"? Perhaps something involving manual typewriters to type out messages (attempting to make them "error-resistant"), and hole-punches to knock out a dozen "critical" letters, and then try to recover the original message from the sheet of paper riddled with holes?

  • 0
    I second the opinion that MP3 is very complex. It requires implementation of the STFT (https://ccrma.stanford.edu/~jos/Intro421/Applications_Short_Time_Fourier_Transform.html). I just wrote my own analysis-synthesis version of the STFT, and it took about two weeks of work to properly debug and test the algorithms.2012-11-11