Week 32 — Coding Projects

Core

Implement a toy error-correcting code.

  • NumPy: Implement a simple linear block code or Hamming code. Then implement a tiny Reed-Solomon encoder over a small finite field. Encode, corrupt, and decode small messages.
  • Metal: Batch encode many messages in parallel. Or batch syndrome computations. · Reading: MBT — batched compute pipelines over structured data.
  • Vulkan: Encode/syndrome compute passes over codeword buffers. · Reading: Vulkan Book — multi-pass compute processing over codeword buffers.
  • CUDA: Reed-Solomon-style finite-field kernels with syndrome accumulation. · Reading: CUDA Book — batched algebraic kernels and syndrome accumulation.
  • Stretch: Add erasure decoding in a toy setting. Visualize codeword distance behavior.
  • Verify: Valid codewords satisfy parity/syndrome conditions · Small errors are detected or corrected as expected · Finite-field implementation is consistent.