[MUSIC] Welcome to the end of week zero. For each week, I'll create a video for the week's mini project. And it'll walk you through the details on how to create that mini project. Most of the mini projects will be between 50 to a 150 lines of Python code. However, the first mini project we're going to do is going to be very easy. It's just one line of Python code, and it's really designed to help you learn how to create, submit, and peer evaluate your mini projects. It's totally optional, if you feel confident you can follow instructions, feel free to skip this. If you think it's silly, feel free to skip it. Before I go on to there, though, I'm going to answer two important questions. First, why would anybody name a computer language after a giant snake? It's Python. Everybody says, what's Python? It's a snake. Well, no, it's named after something different. It's named after Monty Python's Flying Circus. So Monty Python's Flying Circus is a British comedy troupe. And there's kind of a tradition in the Python community to have inside references to material from Monty Python skits and movies. Our project is based on an inside reference to the movie Monty Python and the Holy Grail. And they're Knights of King Arthur, members of the Python comedy troupe, and they go out and interact with the Knights Who Say Ni. And I'll let you kind of dig around on the web if you want to find out more information. But the phrase, we want a shrubbery, comes up in that particular scene. The second question that you might want to ask is, who's this? This is Sir Loin. I'm the Chair of the Department of Computer Science here at Rice, and I inherited Sir Loin. This is really his name. I was told, specifically, this is his name, five years ago when I took over as Chair. And for five years he's set here, and I have no clue what to do with him. So, I decided, for this video, what the heck, he'll be my co-host, and actually he'll weigh in on an important topic later in this video. So anyways, let's go on and get serious. And we'll talk about how to create, submit, and peer assess your mini projects. Okay, let's talk a little bit about your mini project for week 0. Now the important thing about this is, as I mention in the introduction, is that this is optional. This is just designed to get you used to how we're going to use peer assessment in this class to grade your programming projects. If you go and look at the material for week 0, you'll see that there's always two lessons, there's a part a and a part b. And then the third lesson will correspond to the mini-project for that week. And that'll be the thing that you'll spend the most time on. It's going to be where you really learn the most about the material you're going to be working with for that week. The flow of the lesson will always be very similar. We'll start off with a video, that's the video you're watching right now. It'll kind of give you the philosophy and overview, maybe show you a demo of how your program should work. The second thing is a detailed mini-project description. This really has the nuts and bolts specification of what you should be writing, the code that you should write for this particular week. You want to read through this very carefully after you watch the video for the mini-project. It'll have lots of nice details in there. One of the things that you'll see in here is that there'll always be a program template, which is basically a piece of starter code that you'll use to actually build your project off of. So you should kind of look at that and start from there. For this week, it's really just a kind of a getting warmed up activity. It's just writing a one line Python program that prints out, we want a shrubbery. And how is this graded? Well, it's graded using peer assessment. So what's going to happen is you're going to write your code, and when it's completed, you're going to submit it to Coursera. And Coursera's going to send it to five of your peers. And your peers are going to grade it using a rubric that we've specified. And here's the rubric right here for this assignment. It basically has four bullet points that you need to satisfy to get full credit for this assignment. So when you've implement this one line of Python, it'll get send to your peers. And your peers will check those four checks to say, okay, did it satisfy this? Did it satisfy this? Did it satisfy this? Did it satisfy this? And so you should read this over very carefully when you're working on the project, because this tells you what you really need to do in practice. One more thing before we get to where you actually submit the assignment, there's always a Code Clinic Tips thread. And for this week, because it's one line of Python, there's not too many tips to tell you. But the most important thing is this class has been taken by thousands upon thousands of students. We've helped many of those students. And during the course of helping them, we've realized there's certain things that maybe they get wrong or they misunderstand. And so this page contains basically a collection of tips that we've learned from the ten plus sessions we've taught the class. And kind of say, okay, check for this, check for this. If you're stuck, what about this problem, what about this issue? So for this one I only have one tip which is make sure you spell shrubbery correctly. Okay, let's move on now, and we'll do submission. Okay, you've watched the mini-project video, you've read over the mini-project description very carefully. You've taken a crack in implementing the mini-project. You've used the Code Clinic Tips to help kind of get you through sticky spots. You're ready to submit your program for peer review. So here's how you do it. Click on the final link here, and this takes you up to a page where you can actually submit your mini project. On this page you'll see some instructions. The instructions are really simple, it just says follow what we did earlier in the lesson. And the review criteria, well that's the grading rubric that we provide for each mini project. So, when ready to submit, we go over here and we read the submission instructions. It says, essentially, take your code in CodeSkulptor, save it, and copy and paste that URL in the following box below. Okay, that's very important here, copy and paste it. Don't try to type it in manually, you'll make an error. When you're ready to submit, you can click this review button. I highly recommend you to do that. And what it'll do is it'll pop up a page here that essentially has the link to your mini project here that's active. So I strongly recommend that you actually click on this link and take a look at your code because you can kind of do a final double check to catch errors. I'm not going to do that. I'm going to be sloppy here, and you'll see me pay the price in just a second. But when you're happy with what you've got here, click submit for review. And there we go, we're now ready to review. And notice that now we're in the phase where we review my classmates. So here's what happens is I notice that I have a classmate, her name is Tovah. And she's got a project she titled, The Knight's who say nee, classic Monty Python phrase. And if we click on this, this will actually go through and take us to Tovah's project where we can click on a link. Pull up her code in CodeSkulptor, and go through and grade it according to the rubric that we provided for the mini project. Now what I want to do is I want to go back and actually go through this process for my own code that I've submitted. And I'm going to use the clip that I shot for this class three years ago, which incorporated surprisingly enough Sir Loin. I'm actually no longer chair, thank goodness. And so it turns out that Sir Loin, when I was no longer chair, went to a good home. He's actually living right now in my wife's eight grade algebra class. But Sir Loin and I had a nice interaction when we actually went through and peer assessed my submission to this mini project. And I think it actually gives a example of the spirit that you should follow whenever you're peer assessing your peers' mini-projects. So let's finish off the lecture and take a look at that final clip. Here are the grading instructions, and this essentially kind of leads into the four rubric items we talked about. This is here the first rubric item, that we submit a valid CodeSkulptor URL. And then we have some options for this, and then we have a place to submit some comments. So actually let's go through and do it, I actually have a URL. So I'm sitting here in CodeSkulptor. I'm going to paste it in. And let's hit Enter, and sure enough up comes the project we just did, that we just created. So looks like that was a valid CodeSkulptor URL. So I'm going to go through here and say 1. And because it worked, I'm not going to put any comments in, say, running the program does not throw an error. Let's do that. So I'll run it. No errors, looks good. Let's go back and give them a 1, keep going, says, prints a message in the console. Yeah, it printed a message in the console, good job. Okay, let's keep going down. Last one, prints the following message, we want a shrubbery, okay. Well, let's see. Run it again. We got, we want dot dot dot a shrubery. Uh-oh, wait, they misspelled shrubbery. Let's go back. It says we want a shrubbery. It says, prints the specified message. Now, if you were having this machine graded, you'd be out of luck. But we're using humans. So humans have the ability to make judgments. And one of the judgments is, did your peer satisfy the spirit of this rubric item? Remember, we're all here to learn. So I'm going to ask Sir Loin, Sir Loin, did they meet the spirit of this rubric item? Well Sir Loin being part of king Arthur's round table is merciful, and he says yes, he did. So I'm going to give him full credit, but I'm going to make a note here that you misspelled shrubbery. It's always good if either there's an issue or you take off points, to add a comment here. Just think how it is, it's very frustrating if you get points marked off of your project and there's no reason given. So take a few seconds and put in a message here if there's some issue with the project on a particular item. And then you get a chance to give some overall feedback here. Remember this should be positive. Your goal is not to make your peers feel bad, it's to give helpful advice. You did a great job outside of spelling. There you go, and at this point now you can submit your evaluation. Once you've done that, of course it will prompt you to go off and do four more students and do the same process of filling in forms. For most mini projects this should take at most an hour. You spend maybe ten minutes on each one. That gives you basically you have to do five of your peers, and then you have to do yourself. That's about an hour's worth of work. The better job you do, hopefully your peers will do a good job on your project.