Giter Site home page Giter Site logo

spacekookie / rust-three-days-course Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ferrous-systems/rust-three-days-course

1.0 3.0 0.0 3.39 MB

Course material for Rust, taking roughly three days. English, German, Spanish available.

Home Page: https://skade.github.io/rust-three-days-course/presentation/

C 0.27% Rust 16.84% Shell 0.54% RenderScript 0.02% HTML 11.40% JavaScript 34.85% CSS 36.05% C++ 0.02%

rust-three-days-course's Introduction

Teach Rust

"Teach Rust" is free workshop material to use to give a course introducing the Rust programming language. The time for the full course is around three to four days.

The material is created with people with zero Rust experience but with a programming background in mind.

Commercial availability

This course is sponsored and trained by asquera in German and English. Get in touch for a custom quote.

The Spanish translation is community-maintained, we gladly refer to trainers.

Overview

The course consists of two parts:

The course presentations is used as an introduction into all basic aspects of Rust. It comes in small parts and ships with integration into the Rust playground for examples as well with a translation structure.

The work examples. The course constructs a small TCP server from ground up.

Along with that, all communication material we used is supplied here.

The presentations

The presentation material is split into many small to medium presentations for every aspect of Rust. Not all are meant to fully cover a topic, but as an introduction of the important points. Chapters covering basic things such as ownership and borrowing should be exhaustive

The presentations are Reveal presentations with plugins for internationalisation and integration into the Rust Playground.

The path through the presentations is not fixed, to allow leeway during holding the course. Examples of the pathes we used can be found in the courses directory. We recommend to create your own while preparing for giving the workshop.

The examples

Currently, the course ships with three examples:

  • A simple TCP server that provides a very simple PUT and GET interface to store and remove messages
  • The same built with Tokio and Futures
  • A Rust library that can be used as a dynamic language

The TCP server is meant to be built from ground up, starting with a fresh crate.

The examples given here are an example of the final state. Before giving this course, you should develop this example by yourself.

The Tasks

There are various tasks which can be found in src/bin/ and can be run with cargo run --bin $TASK".

The tasks are as follows:

  • add-chapter $CHAPTER - Creates a chapter by the name of $CHAPTER for each locale.
  • add-code-example $CHAPTER $INDEX - Appropriately renames all existing code examples (<=$INDEX are incremented by 1) for $CHAPTER to make room for a new code example. Also updates the slides to reflect this.
  • build-indices - Builds the indices in presentation/toc/ from .md to html for use in a web browser.
  • extract-code - Extracts code samples from the slides in all chapters and creates appropriate copies in the presentation/chapters/shared/code/*/*, then updates the slides with new elements reflecting the new location, should not need to be regularly used.
  • rename-chapter $OLD $NEW - Renames chapter $OLD to $NEW for all locales.
  • rename-chapters - Renames chapters with an md extension to chapter. Should not need to be regularly used.

Open issues

Currently, the largest issues are:

  • the examples and the presentation lack READMEs

Credits

The development of this course was financed by Asquera for the courses given at Linuxhotel.

They are open sourced as a contribution to the growth of the Rust language.

If you want to fund further development of the course, book a training!

Commercial use

This course is expressively intended for commercial and free use.

Trainers

Want to be on this list: open an issue and we will add you.

License

https://creativecommons.org/licenses/by-sa/4.0/

rust-three-days-course's People

Contributors

badboy avatar bnjbvr avatar captainbrosset avatar ericho avatar grenade avatar jhford avatar mikehenrty avatar natim avatar nbp avatar skade avatar spacekookie avatar

Stargazers

 avatar

Watchers

 avatar  avatar  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.