RustConf 2023 - The Art and Science of Teaching Rust

Поділитися
Вставка
  • Опубліковано 13 січ 2025

КОМЕНТАРІ • 17

  • @flwi
    @flwi 10 місяців тому +4

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

  • @dameanvil
    @dameanvil 10 місяців тому +5

    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.

  • @user-zz6fk8bc8u
    @user-zz6fk8bc8u 11 місяців тому +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.

  • @fRutrn
    @fRutrn 11 місяців тому +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 11 місяців тому +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 9 місяців тому

      @@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.

  • @rikyhidayat
    @rikyhidayat 10 місяців тому

    great talk!

  • @RootsterAnon
    @RootsterAnon 11 місяців тому

    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.

  • @KevinDay
    @KevinDay 11 місяців тому

    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 11 місяців тому +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.

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

    Honestly on the first struct/impl part I was assuming it was going to be some overwrite/hoisting type trick but it was simpler in that it just tells you to stop doing stupid things haha.

  • @flippert0
    @flippert0 11 місяців тому

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

  • @darklajid
    @darklajid 11 місяців тому

    Are the slides available somewhere?

  • @gzoechi
    @gzoechi 11 місяців тому

    Great work 👍

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

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

  • @darkscissors1458
    @darkscissors1458 11 місяців тому

    fantastic talk!

  • @bobanmilisavljevic7857
    @bobanmilisavljevic7857 11 місяців тому

    🦾