-
Hi, Thank you for building this great course. I'm interested in running in with my team, but I'm wondering how the agenda would look like? Can you share an example agenda and the format of delivery? Do you usually have an instructor who talk about the content and let the students do the exercise on their own? Or would you let the students go through the materials at their own pace and the teachers are only there to answer questions and unblock them? Also I'd love to learn more about the time allocation of each section. It seems to me that the Day 1: Morning material can easily fit into 1 hour of lecture (and same applies to some other half-days). Do you run it 9 AM to 5 PM or have is more like 10 AM to 3 PM with plenty of breaks? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Hi @shinglyu, That is a great question, thanks! I should have included a plan somewhere. Let me document it here, then we can figure out where to include it afterwards. TimeI've been teaching the class internally for 15-20 people at a time. The classes ran from 10:00 to 16:00, with a 1 hour break in the middle. So we went through the morning part in 2.5 hours from 10:00 to 12:30, and resumed at 13:30. I normally did one break in the morning and one in the afternoon — but I plan to do more in the future.
I normally spent 2 hours on going through the material in each 2.5 hour half-day block. You're correct that you could do it faster if you do it in a lecture-style, but I've been careful to make the class interactive. FormatIt normally works this way: people come in and sit down to listen. I present the page and start explaining about the course. People think "oh, another slide deck" and don't pay much attention. A few minutes later we come to the first playground: I run the code and people think "oh neat, a movie on the slide!"... We then come to the next one which is interactive. I edit the code a bit and run it. People think "ah, he has recorded a screencast, nice!". Sooner or later, I end up making a typo or two, and get compiler errors back. This is when people start paying attention 😄 They see that this is real and this is live. I invite them to ask questions and they perk up. From that point on, there is normally a huge amount of questions. The people in my classes are already great developers, so they have a ton of questions to ask about how Rust does this or that compared to other languages. I've made a point out of not dismissing questions early on — even if it's something we cover later in the course, I'm happy to answer the question ahead of time. People can handle it, so don't be afraid to push information to them. So when people ask about generics on Day 1, I spend 5 minutes talking about it. Some of the early examples also show things which we cover in detail later. When we then actually get to the more detailed coverage, I end up saying "you've already seen this, so this should be easy". They often have new questions at this point, or perhaps it turns out that it isn't easy after all. Repetition is very important for learning, so people appreciate the chance to see things a second time. The course is designed to be taught over four days. I normally schedule the days across two weeks so that people have a chance to let things sink in. Also, people often have other commitments and it might be hard for them to take out four full days of a single week. I said above that I've run the course from 10 to 16, with 5 hours of classes. Even though it seems like a lot of time, I've often found myself running out of time. So the next class I'll do internally will be from 10 to 17 with the half-day blocks being 3 hours each. I'll then make proper 15 minute breaks every hour. That should be more comfortable for all participants. Exercises
For the exercises, I let people sit and do them individually. If people do them in small groups then that's fine too — we're all adults here and the exercises are simply a way to make people explore the stdlib documentation and to get them to write some code. I walk around and ask people if they have any questions. They often don't have any, but I look over the shoulders and ask them about their code. Then the questions normally come 😄 When I see multiple people have the same problem, I call it out to the class — for the FFI exercise, people always end up struggling with conversion between the many string types. So I find the relevant page in the stdlib and show that to the class. We spend 30 minutes on each exercise block the first two days. The exercises are much bigger on Day 3 and 4, so there we normally take around 45 minutes for them. This is a rough guide and it has somehow worked out okay when I've been teaching the class. |
Beta Was this translation helpful? Give feedback.
-
@mgeisler Thank you so much for the detailed answer! I can resonate a lot with the format part. I've seen similar interactions in some Rust meetup study groups I've run, and those usually got better feedback comparing to lecture style courses. I'll run this with my team in 2023 and try to contribute back! |
Beta Was this translation helpful? Give feedback.
Hi @shinglyu,
That is a great question, thanks! I should have included a plan somewhere. Let me document it here, then we can figure out where to include it afterwards.
Time
I've been teaching the class internally for 15-20 people at a time. The classes ran from 10:00 to 16:00, with a 1 hour break in the middle. So we went through the morning part in 2.5 hours from 10:00 to 12:30, and resumed at 13:30. I normally did one break in the morning and one in the afternoon — but I plan to do more in the future.
I normally spent 2 hours on going through the material …