- implement the basic number theory algorithms like Euclidean algorithm that are basic building blocks for modern cryptography;
- work with large numbers arising in cryptography and high precision arithmetic;
- solve systems of linear equations that appear in many areas from designing electrical circuits to computer graphics;
- implement Fast Fourier Transform that is inevitable in signal processing.
Each module includes a programming assignment that will improve both your understanding of the topics and your programming skills.