Git Product home page Git Product logo

101-rs's Introduction

Rust 101

Rust 101

Rust 101 is a university course for computer science students, introducing the Rust Programming Language, and is available for anyone who wants to teach Rust.

Why? Have a look at our blog post introducing the course.

This repo will contain everything that's needed to organize the course: slides, exercises, tools, setup instructions and more.

The rendered exercises, including installation instructions, can be found at https://101-rs.tweede.golf

Currently highly in flux, and incomplete, but feedback is welcome!

High-level goals

  1. Deep dive, intermediate level Rust skill
  2. Know the problems Rust aims to solve
  3. Get practical, hands-on experience
  4. Know why Rust features are the way they are
  5. Ability to write custom CLI/server applications using popular crates or to contribute to existing projects
  6. Ability to judge whether Rust fits project requirements
  7. Ability to teach Rust to other people

Suggested course schedule

The course is setup so that, after modules A1-A4, cherry-picking the modules that suit your purpose is possible.

When used in full 12-week format, the schedule is:

Week Module Topic
1 0,
A1
Course intro
Language basics
2 A2,
A3
Ecosystem and tools
Advanced Syntax, Ownership, references
3 A4 Traits and generics
4 B Application programming
5 C Multitasking
6 D Idiomatic Rust patterns
7 E Rust for web
8 F Safe Unsafe Rust
9 G FFI and Dynamic modules
10 P Final project
11 P Final project
12 P Final project presentation

The course assumes intermediate C/C++ knowledge.

The course outline, along with more elaborate learning objectives, can be found here. You can find instructions on the installation of used tools here.

About the project

Rust 101 aims to provide an open-source course, lectures, tutorials and exercises, that can be used by any higher education institution. In its entirety or by using bits and pieces to create your custom course.

The project is executed by Henk Oordt and others at Tweede golf. It is a not-for-profit project, where the only requirement is that the cost of our work is covered.

Other contributors

We're very happy with the support in developing the course material, by:

  • Bernard van Gastel, Radboud University
  • Florian Gilcher, Ferrous Systems
  • Jonathan Donszelmann, TU Delft

Our sponsors

The initial sponsor of the project is the Faculty of Informatics and Information Technologies (FIIT) of the Slovak University of Technology (STU) in Bratislava, Slovakia. FIIT's contribution has enabled us to layout the groundwork for the course.

We are in search of further funding for our project. Contact us if your interested, or sponsor our work.

101-rs's People

Contributors

bvgastel avatar erikjee avatar hdoordt avatar ioperator avatar kianmeng avatar lisetroos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.