Registration for Hackerschool: Introduction to Rust
This workshop will be held on the 9th of November, Saturday, from 1.00 PM to 4.00 PM in NUS School of Computing, at Seminar Room 1 (SR1) in the COM1 building.

Rust is a systems programming language focused on zero-cost abstractions and safety, providing many of the features of modern, expressive languages, like pattern matching and destructuring, iterators, and algebraic data types, with as little overhead as possible compared to a handwritten version (like in C). Rust also provides compile-time checking of value ownership and thread-safety. Rust also brings with it a package manager, Cargo, providing the convenience loved by developers in other ecosystems, like .NET and Python.

0. Preliminaries
- Installing and managing Rust (rustup)
- Rust's stable/nightly system, and why one may use multiple versions
1. Hello world in Rust
2. Things that most other languages have
- Functions, let, const, types
- Returning from a function, and the semicolon
- Literals: integers, floats, booleans, characters, tuples, arrays, strings
- Control flow: if, while, loop, for
- Range expressions
- Macro invocation
- Structs and enums
3. Things from functional languages
- Pattern matching and destructuring: match, if let, let
- Control flow with match, if let and while let
- Lambdas/anonymous functions
- Monadic error handling: Option, Result
- Iterators
4. The elephant in the room: Lifetimes
- Ownership
- Borrowing and references
- Slices and the two string types: String and &str
- Closures/lambdas that capture their environment
5. Declaring your own types
6. Traits and generics
7. Modules
8. Cargo
- Adding and using dependencies
- Documentation
9. Some suggestions on architecting Rust programs

Join this workshop for an introduction to the key features of Rust! Programming experience in any language is assumed, and experience with a non-garbage collected language like C or C++ will be very helpful. A reminder that the workshop is not suitable as an introduction to programming, and prior programming experience is assumed. Remember to fully charge your laptop as power points may be limited, and see you there!
Name *
Your answer
What's your email address? *
Your answer
Are you an NUS Student? *
It's totally fine if you aren't!
Never submit passwords through Google Forms.
This form was created inside of NUS Hackers. Report Abuse