Experiment: Improving the Rust Book
Experiment Introduction - The Rust Programming Language

        
        

        
        

        
        

        
        

        
            
            
        

        

            
                                
                
                    

                    The Rust Programming Language

                    
                

                

                
                

                
                    
                        Experiment Introduction
Welcome to the Rust Book experiment, and thank you for your participation! First, we want to introduce you to the new mechanics of this experiment.
1. Quizzes
The main mechanic is quizzes: each page has a few quizzes about the page’s content. We have two rules about quizzes for this experiment:

Take a quiz as soon as you get to it.
Do not skip a quiz.

(We don’t enforce these rules, but please follow them!)
Every quiz looks like the one below. Try it out by clicking “Start”.

If you get a question incorrect, you can choose to either retry the quiz, or see the correct answers. We encourage you to retry the quiz until you get 100% — feel free to review the content before retrying the quiz. Note that once you see the correct answers, you cannot retry the quiz.
If you spot an issue in a quiz or other part of the book, you can file an issue on our Github repository: https://github.com/cognitive-engineering-lab/rust-book
2. Highlighting
Another mechanic is highlighting: you can select any piece of text, and either highlight it or leave a comment about it. Once you select some text, click the ✏️ button, and leave an optional comment.
👉 Try highlighting this text! 👈
You can use highlights to save information for yourself. You can also use highlights to give us feedback — for example, if you think a section of content is confusing, you can let us know.

Note: your highlights will disappear if we change the content that you’ve highlighted. Also, your highlights are stored as a cookie. If you block cookies or change browsers, then you won’t see your previous highlights.

3. …and more!
The book’s content may change as you go through the experiment. We will update this page as we add new features. Here’s the changelog:

September 26, 2024

Chris Krycho’s chapter on async Rust has been added, along with new quiz questions.


February 16, 2023

A new chapter on ownership has replaced the previous Chapter 4.


January 18, 2023

Questions have been added for the remaining chapters of the book.


December 15, 2022

New sections called “Ownership Inventory” have been added throughout the book
with challenging ownership-related questions.


November 7, 2022

Only questions with incorrect answers will be shown on a retry.
Most multiple-choice questions will have their choices randomized.
Some questions will now prompt for your reasoning.
Many questions have been updated based on your feedback. Keep it coming!



Interested in participating in other experiments about making Rust easier to learn? Please sign up here: https://forms.gle/U3jEUkb2fGXykp1DA
4. Publications
Thus far, this experiment has led to two open-access publications. Check them out if you’re interested to see the academic research behind this book:


Profiling Programming Language Learning 
Will Crichton and Shriram Krishnamurthi. OOPSLA 2024. (Distinguished Paper!)


A Grounded Conceptual Model for Ownership Types in Rust 
Will Crichton, Gavin Gray, and Shriram Krishnamurthi. OOPSLA 2023.


5. Acknowledgments
Niko Matsakis and Amazon Web Services provided funding for this experiment. Carol Nichols and the Rust Foundation helped publicize the experiment. TRPL is the product of many people’s hard work before we started this experiment.

                    

                    
                        

                            
                                
                            

                        
                    
                
            

            

                    
                        
                    
            

        




        


        
        
        

        
        
        

        
        
        
        
        


    

