4 Sep 2022
Zhiyang Chen describes his experience building (in conjunction with paper co-authors Ye Yu, Zhengfan Li and Jingbang Wu) an interactive kernel debugger for the rCore Rust kernel. The debugger is implemented as a VSCode front-end plugin against the GDB back-end, targeted at the web version of VSCode (but also running on desktop). The debugger provides the full capabilities of GDB for both user and kernel code, with the convenience of the VSCode interface.
The source code is available at https://github.com/chenzhiy2001/code-debug.
The source code is available at https://github.com/chenzhiy2001/code-debug.
- 3 participants
- 15 minutes
4 Sep 2022
Rose Bohrer talks about the possibility of Rust as an introductory programming language. Considerations discussed include: motivations for students and instructors to choose Rust; possible introductory Rust course structure; opportunities for success and failure including syntax and types, educational tooling maturity, and language relevance.
- 1 participant
- 18 minutes
4 Sep 2022
Bart Massey sets up the Rust-Edu Workshop and talks about Rust-Edu.
- 1 participant
- 17 minutes
4 Sep 2022
Will Crichton discusses a particular programming problem — binary tree rebalancing — that proved problematic for students to implement in Rust. Crichton describes some of the paradigmatic difficulties students encountered, suggesting that this is a ripe area for educational research.
- 3 participants
- 21 minutes
4 Sep 2022
Cyrus Omar describes RustViz, a tool for annotating Rust code that can provide compiler-assisted visualization of ownership and borrowing patterns. RustViz was developed in conjunction with a large number of undergrad students, and has proven to be a successful teaching tool.
The RustViz source code is available at https://github.com/rustviz/rustviz. A full paper describing RustViz is available at https://web.eecs.umich.edu/~comar/rustviz-vlhcc22.pdf.
The RustViz source code is available at https://github.com/rustviz/rustviz. A full paper describing RustViz is available at https://web.eecs.umich.edu/~comar/rustviz-vlhcc22.pdf.
- 2 participants
- 21 minutes
4 Sep 2022
Hui Xu describes experiences teaching a Memory Safety and PL Design course in Rust. Xu quantitatively reports on student success and points out some difficulties with the approach, leading to an ongoing software project that builds a knowledge base of common Rust mistakes and uses a neural network architecture to make code suggestions to Rust student programmers.
- 2 participants
- 19 minutes
4 Sep 2022
Matthew Fluet talks about the experience of teaching Rust for two semesters, relating accrued positive, neutral, and negative learnings. Fluet describes and evaluates five programming assignments used: a mini-language interpreter; a puzzle solver; a trie library; a parallel evaluator for elementary cellular automata; and an asynchronous networked Rock-Paper-Scissors server.
- 1 participant
- 21 minutes
4 Sep 2022
Gabriel Ferrer reports on experiences teaching the construction of a bare-metal OS in Rust.The course is facilitated by Ferrer’s Pluggable Interrupt OS crate, which provides provides an easy API for building a co-operative interrupt-driven multitasking OS.
The Pluggable Interrupt OS crate source is available through crates.io at https://crates.io/crates/pluggable_interrupt_os.
The Pluggable Interrupt OS crate source is available through crates.io at https://crates.io/crates/pluggable_interrupt_os.
- 1 participant
- 19 minutes
4 Sep 2022
Vitaly Bragilevsky describes a JetBrains project that integrates: exercises inspired by the Rustlings Rust learning exercise suite; references to exercise-relevant documentation; and a playground for exploring solutions. These are made simultaneously accessible via a novel UI within the JetBrains IntelliJ IDEA and CLion tools.
The project is freely available at https://plugins.jetbrains.com/plugin/16631-rustlings.
The project is freely available at https://plugins.jetbrains.com/plugin/16631-rustlings.
- 2 participants
- 18 minutes