YULIA ZHUKOVETS: All right, welcome back. I hope you are able to rest a little bit. We know it's been a long day, and lots of new things today that we learned and discussed. So this is our last session of the day, so let's jump right into it. So this is the session on microteaching. So as I think Carter already mentioned, or even David, this is a really good opportunity to practice teaching some of the CS or CS50-related topics to your peers, get some feedback, and then we'll do it over again tomorrow so you can incorporate that feedback and hopefully get a little bit better. So some goals of today is to practice teaching. So you can do any CS or CS50 related topic of choice. Your peers will then give you feedback, some pieces of advice that you can hopefully-- will be able to incorporate tomorrow. And then you can use that feedback to improve your teaching. So before we do that and jump into our breakout rooms again, we're just going to go through a couple of instructions. And I'm going to hand it over to Carter. CARTER ZENKE: OK, friends. So we have some more instructions now. Are you ready for these? Yes? Yeah. OK, good. So what we're going to do is as follows. You remember your number, yes, your group number? AUDIENCE: Yes. CARTER ZENKE: Yes, OK. Keep that number in your mind. Don't forget it. And we're going to leave in the same algorithm we used before. When we go to our rooms, we're not going to go to the posters. Posters are done. Posters no more. You're going to find a table. That table will have your group number. Think of your number. My number is 10. I look for a table that has what number? AUDIENCE: 10. CARTER ZENKE: 10. Good. Next, you're going to sit in your table with your group. There will be five or six of you, five or six. Of those five or six, I want you to choose a teacher who will teach first. Very scary, yeah? But someone has to do it. Someone has to teach first. So choose one person to teach first. It can be anyone. Next, that teacher will teach. That teacher will teach a topic of their choice in CS50's curriculum and they will teach for five minutes. Hold up five for me. Five minutes. There will be someone in the room with you, either me, Yulia, or Margaret, who will tell you when five minutes are done. So you wait and you listen to them. If they say time is up, time is up. No more teaching. Stop teaching. No more. After that, you will repeat, in this case, steps three and four. So if you just taught, you're done. Congratulations, you finished. But now someone new has to teach. And they will teach-- and they will teach for how long? AUDIENCE: Five minutes. CARTER ZENKE: Five minutes. Then once they finish, what next? AUDIENCE: [INAUDIBLE]. CARTER ZENKE: Next person teaches, yes. And we keep going until everyone has taught, whether five or six people, in your group. So we're going to demo this with me and Yulia. Yulia has kindly volunteered to be the first teacher in my group which I'm so excited about because it's not me. So Yulia, would you kindly share your lesson with me? YULIA ZHUKOVETS: Yes. So I know this might not be visible to everyone, but this is kind of like the gist of it. So you'll find a similar whiteboard, a marker, and an eraser on each of the tables. So you can choose to use them. Maybe you can use it-- you want to use a piece of paper that you have, it's really up to you. But we find whiteboards to be really helpful to visualize. So for example once I came up to my table, I found my group, and I'm the first teacher to teach, I picked the topic to be how to declare a variable in C. You need to pick something very specific. You only have five minutes. You can't explain how to do a merge sort algorithm. We'll be there for a while. So Carter, are you ready? CARTER ZENKE: I'm ready. YULIA ZHUKOVETS: Are you ready to be a student? CARTER ZENKE: I'm ready to be a student. YULIA ZHUKOVETS: OK. So remember in the lecture, we had an example with the phone book. CARTER ZENKE: I don't remember that. YULIA ZHUKOVETS: OK, that's fine. Do you have a phone? CARTER ZENKE: I have a phone. YULIA ZHUKOVETS: OK, so for example, you know how in your phone, you have some maybe people that you call, and then maybe you want to count how many times you called me. CARTER ZENKE: Yes. YULIA ZHUKOVETS: So for example, that number is five. CARTER ZENKE: OK. YULIA ZHUKOVETS: Right. But what if I wanted to write a program. You're doing something, for example, like calculating how many times you called each of your friends, or your family members. I need to do something with this number, or store it somewhere so that I can then use it. Do you happen to remember how I can do that from lecture, how I can store things. CARTER ZENKE: A variable? YULIA ZHUKOVETS: Yes, a variable. Great. [LAUGHING] Carter is a good student. [LAUGHING] OK. So how can we declare that variable? Do you remember maybe three key steps from the lecture? CARTER ZENKE: I think you needed a name. YULIA ZHUKOVETS: OK, a name. CARTER ZENKE: And, well, maybe the number. YULIA ZHUKOVETS: OK, so maybe we call it a value. CARTER ZENKE: OK, a value. Is that it? Oh, you said three things. YULIA ZHUKOVETS: One more thing. Can anyone help me? AUDIENCE: The type. CARTER ZENKE: Oh, the type. YULIA ZHUKOVETS: Type, OK. So I need a type. So every time you want to declare a new variable, we want to have these three things, a type, a name, and a value. So for example, what name do you want to pick for this value? CARTER ZENKE: It's number of times I called somebody? YULIA ZHUKOVETS: Yeah. CARTER ZENKE: Maybe calls. YULIA ZHUKOVETS: Calls, OK. And then what is my value? This is it. CARTER ZENKE: Five. YULIA ZHUKOVETS: OK, five. CARTER ZENKE: I see five. YULIA ZHUKOVETS: And then looking at number-- looking at five, what kind of type do you think it is? CARTER ZENKE: A number. [LAUGHING] YULIA ZHUKOVETS: OK, I call it a number. Can I do that? AUDIENCE: Yeah. YULIA ZHUKOVETS: Can I say num calls five? AUDIENCE: No. YULIA ZHUKOVETS: No. I need to give it a data type, right? And we have different ones. We have int, and floats, and maybe a string. So between those, which one do you think we need to use here. CARTER ZENKE: I think it's a whole number. So what should I use? AUDIENCE: Int CARTER ZENKE: Int. YULIA ZHUKOVETS: Integer, great. So I have int calls and I'm missing just one last step. This is still disjointed. How can I connect these things? CARTER ZENKE: The assignment operator. YULIA ZHUKOVETS: Yes, I can use my equal sign. So by using these three things, type, name, and value, I can create a new variable called calls that is of type int and a string value five. And after that, I can do a very similar thing for the rest of the calls that you're making to your friends. What questions do we have about a process of declaring a new variable? CARTER ZENKE: That makes sense to me. YULIA ZHUKOVETS: Awesome. CARTER ZENKE: Give you your round of applause. [APPLAUSE] CARTER ZENKE: OK. So Yulia very bravely was the first person to teach in my group, so thank you very much. Now it's important that we don't just teach, but we get feedback on our teaching because how can we improve without feedback? So this is the first step. But after the person teaches, we then need to give them some feedback. And here is how you will give feedback in your groups. After your teacher has finished their five-minute lesson, listen to another timer that either me, Yulia, or Margaret will set. Two minutes. On your table will be a piece of paper. That paper says write three pieces of feedback for the teacher, in this case, Yulia, OK. Each person in your group should write feedback for the first person who taught and the next person, and the next person. Each person should get feedback from everyone. Now make sure you include things that are both positive and things they could improve. Yulia, I really liked how you asked for my questions, how you asked me to actually fill things in for you. It was very interactive. An improvement to make is I think you still need a semicolon at the end, which we all forget. YULIA ZHUKOVETS: Which one is that way? [LAUGHING] CARTER ZENKE: So it can be things like that, OK? Things that they did well and things that they could improve. And once you have your feedback, make sure you give the paper to the teacher and that teacher will keep it until tomorrow, and they'll improve their lesson based on the feedback. So if you are the teacher, you will get feedback, you will read it, and you will say, what did I do well? What should I do tomorrow? You will also see what should I improve, what should I change tomorrow? We have those instructions in Bahasa, too, if that's helpful. YULIA ZHUKOVETS: And all the instructions for the teaching part and the feedback part will also be on your tables. So if you don't remember something, you can easily reference it, OK? CARTER ZENKE: All right. Are you all ready? AUDIENCE: Yes. CARTER ZENKE: Are you sure? AUDIENCE: Yes. CARTER ZENKE: Are you really sure? OK. I think you're ready. So we're-- oh. YULIA ZHUKOVETS: Yeah. CARTER ZENKE: We got one more, sorry. I'm not ready. YULIA ZHUKOVETS: Yeah. So for example, I picked a very specific thing, how to declare a variable in C. It's really short in time and you can really practice asking questions and visualizing things. But if you need some suggestions, here are some things that you might want to consider teaching. For example, a quick tutorial on arrays, for loops, maybe difference between for and while loops, strings, or really anything else from the CS50 course. If you really want to cram the merge sort algorithm in five minutes, go for it. You got it, totally. But if you aren't sure what to do, here are some things to consider. And without further ado, we'll do the same algorithm and we did in the previous session. So Carter? CARTER ZENKE: Do y'all remember the algorithm last time? AUDIENCE: Yeah. CARTER ZENKE: Yeah, OK. So here it is again. If you are groups one through 10, raise your hand. One through 10, raise your hand. OK, please stand up. Groups one through 10, stand up and get ready. And do you see Margaret over here, Margaret on the left, yes? Go follow Margaret. OK, welcome back. How did it feel. [CHEERING] Yeah? OK. Awesome. I'm hearing happy, wonderful. I'm so glad. So keep in mind the feedback you got today, because remember, tomorrow, we'll come back and do the same thing again. So two things to remember for tomorrow. One is your feedback and two, just as important, is your group number. AUDIENCE: [INAUDIBLE]. YULIA ZHUKOVETS: The number that you had, put it right in your mind and keep it there until tomorrow. Do not lose it. Can you promise me this? Promise me. OK, keep that number. Do not lose it. All right, that is it for microteaching.