Algorithms make the computer science world go round—and they’re a vital skill for any developer to master. In this series of liveProjects, you’ll explore four essential algorithm topics through engaging, hands-on Rust challenges. You’ll learn how to use sorting algorithms to make sense of messy, unorganized data; solve the tricky Tower of Hanoi puzzle with recursion; secure messages with RSA encryption; and even tackle the infamous 0-1 knapsack problem with dynamic programming techniques. The series is a workout for the programmer’s brain, perfectly suited for building Rust muscles.
Sorting is one of the most important skills you can learn to make sense of messy data—and in this liveProject, you’ll discover sorting algorithms you can implement with Rust. You don’t need advanced Rust knowledge. With only the basics, you’ll tackle three of the huge number of sorting algorithms available: bubble sort, quicksort, and counting sort. But that’s not all: You’ll also experiment with a pair of search algorithms for linear and binary search. Before long, you’ll have an excellent grasp of the best sort and search algorithms for your needs.
The Tower of Hanoi is one of the most famous (and fun!) mathematical puzzles you can tackle. In this liveProject, you’ll set out to solve this tricky challenge using recursive functions in the Rust programming language. Kickstart your journey with factorials, then calculate Fibonacci numbers and solve the Knight’s Tour and N-Queens problems. Then, you’ll be ready to take on the Tower of Hanoi—and transfer your new recursion skills to multiple other problems.
In this liveProject, you’ll use Rust and RSA encryption to secure the emails of your antique marble collection business. You’ll steadily build up different parts of the RSA encryption process before bringing each together in a working RSA example that can both encrypt and decrypt your email messages. Throughout the journey, you will acquire knowledge about prime number identification, factoring, probabilistic generation of random primes, and rapid exponentiation techniques.
When your house is on fire, and you need to save your priceless art in a panic room, what are you going to do? Write a Rust program to solve the “knapsack problem” of course! In this liveProject, you’ll tackle this problem—one of the more challenging ones in computer science. The knapsack problem is known for its difficulty, as its possible solutions grow exponentially as the number of items increases. You’ll work with different methods to solve the problem, including recursion and dynamic programming techniques.
The quality of descriptions and the ramping up of difficulty from the first problem to the later ones was great.
project author
Rod Stephens
Rod Stephens started out as a mathematician but discovered the fun of algorithms and has been programming ever since. Rod was a Microsoft Visual Basic Most Valuable Professional (MVP) for 15 years, has spoken to user groups and conferences, and has taught introductory programming courses. He has written more than 35 books including Essential Algorithms: A Practical Approach to Computer Algorithms Using Python and C# and Beginning Software Engineering, both of which include material related to this series of liveProjects.
Prerequisites
These liveProjects are for Rust programmers who want to flex their skills. You should know Rust basics, but you don’t need any advanced knowledge or capabilities.
TOOLS
Intermediate Rust
TECHNIQUES
Rust arrays and slices
Rust structs and vectors
Basics of math
features
Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.
how to play
guess the geekle in 5-, 6-, 7- tries.
each guess must be a valid 4-6 letter tech word. hit enter to submit.
after each guess, the color of the tiles will change to show how close your guess was to the word.