RustConf 2023 - The Art and Science of Teaching Rust

Поділитися
Вставка

КОМЕНТАРІ • 16

  • @dameanvil
    @dameanvil 3 місяці тому +3

    00:51 🔍 Understanding Rust goes beyond simple questions; difficult scenarios challenge true comprehension.
    02:09 📊 Gathering fine-grained data on learners' struggles with Rust through quiz questions helps pinpoint specific areas for improvement.
    04:28 🎓 Identifying easy and hard parts of the Rust book enables targeted interventions to enhance learning outcomes.
    09:34 🛠 Interventions in the Rust book significantly improved learners' accuracy on targeted questions, demonstrating the effectiveness of a scientific approach.
    14:42 🧠 Understanding complex Rust concepts like ownership requires a solid foundation in memory management and runtime behavior.
    22:43 📚 Developing alternative pedagogy with visualizations in the Rust book enhances learners' understanding of ownership, borrow checking, and system states.
    23:11 📈 Scientific evaluation reveals that the permissions pedagogy enhances understanding of ownership in Rust.
    25:41 🎓 Combining science and art, the pedagogical improvements in Rust learning materials demonstrate positive outcomes, although interpretation requires nuance.
    26:52 🧠 Quizzes in the Rust book have been highly successful, offering readers valuable learning experiences and providing crucial data for understanding the language's learning curve.

  • @flwi
    @flwi 2 місяці тому

    As a rust learner I appreciate the effort of improving the learning material in such a thoughtful way 👏

  • @fRutrn
    @fRutrn 3 місяці тому +3

    @19:10 it would make it clearer if the Heap in L2 and L3 was lower, representing the new address in memory that was allocated, perhaps leaving num pointed at the blank space above. Great talk by the way, as a learner of Rust as the first language, i appreciate the effort.

    • @supervaka9584
      @supervaka9584 3 місяці тому +1

      rust is your first programming language?
      I like rust too but I think the vast majority of people should start with python or javascript.

    • @Robstafarian
      @Robstafarian Місяць тому

      @@supervaka9584 I started with Python 20 years ago, and that gave me something of a basis for understanding what I am learning as a I learn Rust. That said, Rust could be a great first language if The Book and other resources are changed to introduce systems programming.

  • @user-zz6fk8bc8u
    @user-zz6fk8bc8u 3 місяці тому +6

    Great talk. There is a lot of mixup between percent and percentage points. If the baseline is 2% and the improved score is 4% the increase is not 2% (but 2%pt) or 100%. From 47% to 56% is 19% increase or 9%pt.

  • @rikyhidayat
    @rikyhidayat 3 місяці тому

    great talk!

  • @RootsterAnon
    @RootsterAnon 3 місяці тому

    Another wonderful talk, I was not aware of this resource but now that I do I will give it a go. My experience with Rustlings was amazing and Test driven development was really new experience for me to try out. It was practical and theoretical in the same time.

  • @darklajid
    @darklajid 3 місяці тому

    Are the slides available somewhere?

  • @flippert0
    @flippert0 3 місяці тому

    21:11 single most important statement of the whole talk? (which is excellent in its entirety)

  • @KevinDay
    @KevinDay 3 місяці тому

    The second example does not compile if you desugar the indexing into calls to `index` and `index_mut`. So some of those 33% are probably just not realizing the array index syntax gets special treatment.

    • @Aidiakapi
      @Aidiakapi 3 місяці тому +1

      That's not true. After desugaring into:
      **v2.index_mut(0) = 5;
      let a = **v2.index(0);
      let b = *v.index(0);
      It'll all work exactly the same, compiling just fine, and printing "5 5".
      The reason it works is because of non-lexical lifetimes. Because v2 isn't used after the statement let a = *v2[0];. For example, if you were to add println!("{v2:?}"); at the end of the method, it would no longer compile, because v2 is still used.
      The only "special" thing about array syntax sugar is that it implicitly dereferences the result of invoking the Index::index, and IndexMut::index_mut methods.

  • @alexpyattaev
    @alexpyattaev 3 місяці тому +1

    This needs to be the way we teah all computer science subjects, in all languages

  • @gzoechi
    @gzoechi 3 місяці тому

    Great work 👍

  • @darkscissors1458
    @darkscissors1458 3 місяці тому

    fantastic talk!

  • @bobanmilisavljevic7857
    @bobanmilisavljevic7857 3 місяці тому

    🦾