Teaching Rust at the University of Warsaw

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • actix-web

    Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

    [1] https://github.com/actix/actix-web/pull/1609 [2] https://pkolaczk.github.io/server-slower-than-a-laptop/

  • open_spiel

    OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games.

    Hi, I noticed one of your tasks is to implement A*. Do you think some of your students would be interested in AI (in games)? I'm the primary maintainer of OpenSpiel, and we just added a Rust API, which would give them access to over 40 different board games and environments.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • tch-rs

    Rust bindings for the C++ api of PyTorch.

    A project could take the form of implementing minimax (alpha-beta), or Monte Carlo tree search, value iteration (i.e. dynamic programming) to solve pathfinding in a gridworld or to solve Tic-Tac-Toe. Or if they're ambitious, deep reinforcement learning (DQN) applied to simple games, via e.g. tch-rs. I can think of at least another handful of others of reasonable complexity for undergrads.

  • ece459

    ECE 459: Programming for Performance

    You may want to look at this course https://github.com/jzarnett/ece459 + yt channel

  • book-pl

    Język Programowania Rust

    I have been thinking about teaching Rust at the University of Łódź for some time. With this in mind, I even participate in the project of translating the Book into Polish: https://github.com/beling/book-pl

  • hll-rust

    P2P application based on Chord algorithm (by MIT) in Rust. High-level languages: Rust - Group project (2018/2019)

    I like your outline. I think your students will have a lot of fun and learn a lot! In 2018/19, I also attended a rust lecture at my university. You can find its outline and slides here. As a final project, we could choose between different topics, like actor model, P2P network, distributed key-value database or Software Distributed Shared Memory (SDSM). Some fellow students and I, for example, implemented "Chord" (a protocol and algorithm for a peer-to-peer distributed hash table), which was a great experience. Our repo can be found here https://github.com/ndrsllwngr/hll-rust

  • rust

    Empowering everyone to build reliable and efficient software.

    Perhaps these could serve as inspiration: - serde's chapter on lifetimes - default bounds on generics (Sized, may not be 'static) - chapter on ownership in Rustonomicon - higher-ranked lifetimes (for<'a>: ...) - lifetimes in a recursive closure (SO thread) - closure lifetimes inferred by the compiler (GitHub issue) - implementation of From for generic struct conflicts with From for T (r/rust post)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • Rust_RL

    A Reinforcement Learning / Neural Network library, written in Rust.

    I'm just finishing undergrad studies and wrote a Reinforcement Learning Library (https://github.com/ZuseZ4/Rust_RL) including double-deep-q learning with replay buffer in pure rust to learn the language. I'm also trying to get Rust into shape for data science, but I'd vote against using it as an example in introduction classes. Pure Python (which wraps around C++) will usually be simpler and faster for users, leaving few reasons to focus on this in a lecture. Furthermore, even if we are into ML, there are probably quite a few people who'd pick such a lesson to learn about Rust, not about Machine Learning. For the latter, there are at least in the Universities I know, more than enough offers.

  • rust-projects

    Projects created for the Rust course at FMI

    We have that as well, so I can certainly recommend it :). I think there's a real sense of accomplishment coming from building something "real" that works. Here's a collection of some of our last-year projects: https://github.com/fmi/rust-projects

  • too-many-lists

    Learn Rust by writing Entirely Too Many linked lists

    Yeah, that's how we started as well -- The Book is very well-organized and easy to expand. I also threw in two lectures of the "Linked Lists" book, first one with semi-live-coding the first list, second one with just reading through the other three. A great intro to smart pointers and their tradeoffs, different ways to write code (match vs map vs if-let vs ?), tests and TDD, and a smidge of unsafe.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts