Initial draft.

Change-Id: Ib82b9c8cd88f239e7073e95ab2ce5cf862dc4aaf
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b25c15b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*~
diff --git a/rust-tutorial.adoc b/rust-tutorial.adoc
new file mode 100644
index 0000000..5659ac2
--- /dev/null
+++ b/rust-tutorial.adoc
@@ -0,0 +1,61 @@
+= Rust Tutorial
+Matthias Benkard <matthias.benkard@egym.de>
+// Meta
+:experimental:
+:data-uri:
+:sectnums:
+:toc:
+:stem:
+:toclevels: 2
+:description: 
+:keywords: MI, MSW, eGym, Rust
+// Settings
+:icons: font
+:source-highlighter: pygments
+
+These are the lecture notes for the introduction to the Rust
+programming language held at eGym in 2019.
+
+
+= Part I: The Language
+
+== Crates & Cargo
+
+== Basic Types
+=== `u8`, `i32`, `f64`
+=== Structs
+=== `impl Struct`
+=== Enums
+
+== References & Lifetimes
+=== `&` vs `&mut`
+=== `'static`
+=== `Box`, `Rc`
+
+== Polymorphism
+=== Traits
+Ex.: `ToString`
+
+=== Generics
+=== `dyn Trait`
+
+== Tidbits
+=== Clippy
+=== Lambdas
+
+= Part II: The Standard Library
+
+== Error Handling
+
+== More Types
+=== `String`, `&str`
+=== `Vec`, `&[]`
+=== `Fn`
+=== `Iter`
+=== `impl Trait`
+
+== Safe Concurrency
+=== `Sync`
+=== `Send`
+=== `Arc`
+