I am currently a University student at Sydney. I am interested in writing an Ogg decoder, but I have no idea where to start.

Do I need to know DSP concepts? If so, what topics? The documentation on Xiph.org seems to need DSP concepts as pre-requisites.

Or do I start by looking at the current code?

Thanks.