Giter Club home page Giter Club logo

pragmatic_rust_for_engineers's Introduction

Pragmatic Rust for Engineers

This repository contains the code for the video tutorials series Pragmatic Rust for Engineers by Janus IT and friends. The series teaches Rust programming and/or to solve engineering problems. Therefore the series addresses two audiences:

  1. Rust Programming Learners from Engineering disciplines such as Chemical Engineering, Electric Engineering, Mechanical Engineering, etc.
  2. Software Developers who want to apply Rust to tackle engineering problems or/and use Rust in scientific environments.

In the first part of the series we will investigate the Haber-Bosch process for Ammonia production. Haber-Bosch consumes 1.1% of the world's energy supply, and is responsible for 1.8% of the world's CO2 emissions. First, we will concentrate on simulating the reaction along a plug flow reactor, then add some plots to visualize our results and we conclude with some interaction via Web Assembly.

Read Jonathan Ayalas Blog Article about Haber-Bosch if you want to learn more.

We conclude the first season of Pragmatic Rust for Engineers with a WebAssembly powered tool to analyze the Haber-Bosch reaction.

How to Learn with Pragmatic Rust for Engineers

Read Tim Janus Blog Article - if you want to know why learning Rust is worthwhile as an Engineer.

Pragmatic Rust for Engineers is a video series that teaches programming by applied coding on (simplified) engineering problems inspired from the real world. We propose four different learning strategies but it's up to you to choose what suits you best. We just want to add switching difficulty is always possible and redoing on a harder mode is always an option. The content is quite dense so don't beat yourself up, have fun and reach out if you have any questions.

  1. Just watch the Video
    • difficulty: story-mode - An entertaining time, lean back and learn something.
  2. Investigate the Solutions Source Code
    • difficulty: easy - An intense time, dig into the code in solution.rs and make sense out of it.
  3. Code yourself supported with hints
    • difficulty: medium - An adventure with helpful 'NPCs' scatter around the hints.rs source files.
  4. Code yourself only based on an implementation plan
    • difficulty hard - A threatening adventure fight main.rs alone, you're only gear is your keyboard and mouse.

When choosing 4,3 or 2 you can use git as version control system to support you by restricting access to those files. For each task of the series you'll find three corresponding ordered commits and you can branch out from there.

  • task: task desc - Contains the implementation plan and task description as markdown file.
  • hint: task desc - Contains some code and hints that show how tasks can be achieved in Rust programming.
  • solu: task desc - Contains the solution of the task at the end of the video (probably with some additional documentation)

If you haven't use git yet, no problem we show how use it in the first videos.

Video Directory

Beware sometimes we add the link here but the Video is scheduled later on YouTube.

License

All the code is dual-licensed under either:

at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem.

Your contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

pragmatic_rust_for_engineers's People

Contributors

darthb avatar

Stargazers

José Luis Cruz avatar Constantin Câmpean avatar

Watchers

 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.