Skip to content

Latest commit

 

History

History

lessons

Exercise list

Here is a list of all exercises from the most recent run of the course, annotated with concepts that the exercise was designed to test.

If you find any unclear assignments or errors in tests, please open an issue or send a pull request :)

  1. Factorial (basic syntax)
  2. Find maximum in an array (cycles)
  3. 3D vector (structs)
  4. Luhn's algorithm (arithmetics)
  5. Match parentheses (pattern matching)
  6. Write tests for a sanitization function (writing tests)
  7. Perform simple calculation (enums)
  8. Match exercises (pattern matching)
  9. Computer state transition (structs) (structs)
  10. Computer state transition (enums) (enums, pattern matching)
  11. Simple URL validator (newtype pattern, encapsulation, parsing)
  12. Brainfuck interpreter (enums, parsing)
  13. Encryption & decryption (ownership)
  14. Longest string (lifetimes)
  15. Strip prefix (lifetimes, strings)
  16. Interleave strings (strings)
  17. Merge sorted slices (slices)
  18. Bubble sort (slices)
  19. Zero-copy parsing (lifetimes in structs, parsing)
  20. Shape interface (traits)
  21. Case-insensitive comparator (traits, iterators)
  22. Fibonacci iterator (iterators)
  23. Iterator exercises (iterators)
  24. Split items (iterators)
  25. Cumulative sum (traits, iterators)
  26. Adjacent diff (iterators)
  27. 1D Range (structs, iterators)
  28. Poker hand value (traits)
  29. Ring buffer (generics, data structure implementation)
  30. Binary tree (smart pointers)
  31. Parser combinators (closures)
  32. Directed graph (smart pointers, interior mutability)
  33. Newtype wrapper (declarative macros)
  34. Hashmap constructor (declarative macros)
  35. Display trait derive (procedural macros)
  36. Memory map (BTreeMap, algorithmization)
  37. Parallel sum (threads, atomics)
  38. Worker queue (threads, channels)
  39. Factorio (threads, channels)
  40. TCP/IP network chat using blocking I/O (threads)
  41. TCP/IP network chat using non-blocking I/O (epoll, event loop)
  42. TCP/IP network chat using async/await (async/await)