Project summary

In this project, you will be tasked by writing a compression/decompression program for the Zstandard format.

The project will be written in Rust. It is expected that you will be using a safe programming style, and that you will be able to use what has been shown in class in order to strengthen your program.

What you will learn

During the course of this project, you will learn:

  • How to parse binary data according to a specification.
  • How to write a decoder based on Huffman tables.
  • How to write a decoder based on arithmetic coding (FSE).
  • How to design and use safe data structures.
  • How to write unit and functional tests.
  • How to increase confidence in your code by using fuzzing techniques.