DOUG LLOYD: All right. So let's talk about a couple of administrative details that may come in handy for you as you're working through your CS50 problem sets and just taking the course more generally. This course has a lot to teach you, and so there's a lot of resources that we have available so that you can make the most of this learning experience. These resources come in many different types, and hopefully, will be available in a form that will accommodate you. Here's a list of some of the most common resources that students use when they're working through their CS50 materials. On the course website, we have all lecture materials right after they happen. So we have videos live- streamed of lectures, if you're not able to attend lecture a given week, videos for which are posted very shortly thereafter. On that site, on the lecture part of the website, we also have sample code that David shows during lecture, as well as the lecture slides, scribe notes, which are taken by one of our teaching fellows, so you don't have to take notes in the classroom, as well as any links to any external resources that are shared during lecture. We also have a wonderful function reference, reference.cs50.net, which is usable for those less comfortable and more comfortable alike. If you're familiar, the function reference that we have, the CS50 reference, is an annotated set of man pages-- man pages is the shorthand way of describing a manual page-- which is built into Linux and gives programmers a reference to the functions that they're using. Reference 50 has a reference for all of the C standard library functions, and standard io.h and others you'll become familiar with as the course goes on, string.h, math.h, ctype.h, and so on. It's a great place to go, if you're looking to see if there's a function that exists, that will do what you need to do, or if you're just unsure of how to use a function. We also have a great interactive study guide at study.cs50.net. There, you'll find a variety of topics with practice exercises, some additional section slides, and lots more. It's a great place to check out, if you're feeling a little uncomfortable about at a particular topic. Chances are, there'll be some exercises there for you to refine your skills a little bit. When Quiz 0 or Quiz 1 is coming up, you can always see the past quizzes that we've given in the course at cs50.harvard.edu/quizzes. All the old questions and answers are there for your review. And they're a great resource, especially as you consider what to put on the back or front of your study sheet, the one piece of paper that you get to bring into the exam. Additionally, there's lots of resources on the CS50 problem sets, cs50.harvard.edu/psets. We post all the specifications there, as well as any distribution code for the later problem sets. Additionally, incorporated into the specifications themselves, you'll find friendly walkthroughs from Zamila, who will be happy to guide you through getting over the starting blocks that might trip you up as you start working on the problem sets. And when the products sets are over, Rob will be hosting postmortems where he deconstruct the problem set, walks you through some possible solutions after the fact. Of course, you can also always find materials about sections, like these videos here, on cs50.harvard.edu/sections. You'll also find a schedule of sections, if you're on campus, as well as videos and slides that are shared during the sections. A list of office hours are available on the course website. If you're on the Cambridge campus or on the Yale campus, or you're really anywhere, you can find a list of our office hours, which are usually available weeknights. And for help from your peers or with your peers, you can go to cs50.harvard.edu/discuss. It's our asynchronous discussion forum, sort of similar in spirit to Piazza, if you're familiar with Piazza, which you might see in other courses. It's an asynchronous bulletin board where you can ask a question and, after a little while, get an answer from a teaching assistant, or teaching fellow, or even your fellow students. We in fact, strongly encourage you to, if you know the answer to a question that a fellow student asks, feel free to help him out a little bit. Now, if you're taking the course through CS50x and not taking it on campus, we also have the course archives available at cs50.tv. All of the resources I just described are available on cs50.tv, organized by year. At the end of every fall, all the past years resources will be there. So you can feel free to check those out to see other ways of presenting material in CS50 years past. Additionally, we have a wealth of online resources that are not localized to Harvard or Yale. You can go to our Slack, our asynchronous chat service, at cs50x.slack.com. We also have a forum on Stack Exchange and on Reddit, both of which are listed here. You can tag us on Twitter at @cs50, or with #cs50. And on course, you can also find us on Facebook. One other administrative bit that I want to touch on now, grading. So as you're probably familiar, assignments in this course are graded on four different axes. We grade you on scope, would asks the question, did you make an earnest effort to complete the problem set? Did you try all the parts? Correctness, does your code work? Is it free of bugs? Does it have the expected output, given a set of inputs? Design is the third axis. And it asks the question, how efficient is your code? How well-written is it? And finally, style, which gets to the question of how human readable is your code, which is very important for your teaching fellows. Now, as a general rule, I usually present this graph for what these scores mean. All of these axes are graded on a scale of zero to five. And generally, you want to be in the three, four, or five range in all of the axes. It's OK to be in the one or two range a little bit, particularly early on the course, but it's an area you generally don't want to stay in. You definitely don't want to be getting zeros in any aspect of the problem set, because that's going to lower your overall grade. Now, we also have some tools available for you to help bring up your score in some of these areas. So we have check50. Each problem set specification will include a reference to how to use check50 for that particular problem. And you can use check50 to help you improve your correctness score, by finding out which test cases your program might not be passing. We also have style50, which is another command line tool. You are also taught how to use it as part of each problem set specification. And you can use style50 to get guidance on how to improve your program style, to make it cleaner, easier to read, and hopefully boost your style score. Lastly, your teaching fellow will provide you with qualitative comment-based feedback to help you improve your design score. Design is a little tricky to grade automatically, unlike correctness and style which can easily be tested with a command line tool. Rather, your design score will probably be most improved by getting feedback from your teaching fellow in the way of comments. Scope, of course, we leave to you to actually try all the parts of the problem set. I'm Doug Lloyd. This is CS50.