Hi everyone. I'm excited to show you some useful features of the free interactive textbook that will be available to you as part of this specialization. Content in the first four courses all track pretty closely to the textbook content. So, whichever course you're starting with, you'll want to go through this video to see the important interactive features. You can skip it if you've already seen it in a previous course. The Runestone Interactive Textbook Environment is the brainchild of my friend Brad Miller. I've made a few contributions to both the software environment and especially the textbook over the past four years. But, Brad deserves almost all the credit. Let's take a look. The first thing you'll need to do before accessing any of the textbook pages is to login from Coursera. So, I just click on this "Open Tool" and I'm automatically logged in. You've already logged into Coursera, and Coursera's passing the credentials to Runestone so you'll be automatically logged in here. Once you're logged in, all of your work will be saved, and we've deliberately disabled any other ways to login except by doing it through Coursera. So, when you first log in following that link you'll be taken to this practice page in the textbook, it's our way of encouraging you to use the practice feature every day, and we'll come back to that later. Once you're logged in, you'll be able to click on any of the links for the readings and you'll be taken directly to the pages in the textbook for those readings. So, here's a link to the Runestone page for variables, and I'll click on it. Now, I'm on a textbook page. In the textbook, you'll find text, and images, diagrams, but you'll also find some interactive elements. For example, here's what we call an active code window. It's got some code in it, and I can click "Save and run". It'll run and print something out over here in an output window. I can change that code, and I can run it. All of your code versions when you save and run them will be saved. I have this little scrubber here, and I can move it. I can see all of my old versions, and they're not just saved while this page is open, they're saved permanently. For example, let's reload this page. When the page loads, we're back to the original window contents. Then, I can click "Load history", and then I get the scrubber and it shows me my last code run. Now, if I rerun a previous version, it won't show on the scrubber as being the latest version, but if I change it, instead of 17, I do 18, now it becomes the latest version in the history. Show in CodeLens is a really useful feature of active code Windows. This is an amazing tool developed by Philip Guo, a professor at UC San Diego. It lets you step through the execution of a program one line at a time. I can click forward and it'll just show me what happens after one line is executed, and the next, and the next, can print out just the first message and so on That's not such a big deal now, but it'll be really useful for you when you start to do more complicated programs with conditional execution and iteration in defining your own functions. Part of our educational philosophy in this specialization is to reveal all the magic. We want to give you a way to reason about how your programs are executing because that's the foundation for being able to debug your code through understanding rather than through trial and error, CodeLens really helps with that. Now, sometimes these CodeLens examples are built right into the textbook, but you can always get to CodeLens by hitting the show CodeLens or hide CodeLens for any active code. Here are some that are built in to that textbook page. There are also other interactive features. Here's a multiple choice question. You can answer those and get immediate feedback by clicking on "Check me". I've actually already answered this one. But suppose I said "Thursday" as the thing that would print out here because day is set to Thursday, and I click "Check me", and it gives me some feedback. It's true, Thursday is the value of j, but it gets overwritten later. So, the correct answer is 19. Then, when you get to the bottom of the page, I suggest that you click on mark as completed. If you haven't clicked on it, this is what it will look like initially. If you click on Mark as completed, couple good things will happen. One is you get the satisfaction if it says, ''Completed, well done''. But you get a couple of other things too. First, some of the multiple choice questions or other activities on the page get added to the practice tool, which I'm going to show you in a minute, and that practice tool will help you review things so that you don't forget them like vocabulary flashcards when you're learning a foreign language. Second, the pages that you've marked as completed will be marked in the table of contents, so you can keep track in the textbook of what you've read and what you haven't. Here's the table of contents, and you can see these orange dots indicate things that I've completed or I've marked as complete, and the check marks indicate things that I've opened, but I haven't marked as complete. So, this completed button at the bottom of the page it separate from marking a reading is complete. In Coursera, you may want to do both of those things. In Coursera, we'll generally provide you with links to particular pages, and so you can just read that one page. But, if you want to, you can navigate through the textbook once you're on the Runestone site. We have these forward and back buttons. This goes to the next page in the book. Back to the previous page, if you click on the textbook title, as I showed you a second ago, you'll get to a table of contents that's very detailed with every single page and sometimes subsections within the pages. If you want a more overview look at it, you can click on this Chapters, and it'll show you the different chapters, and you can just see the detail for one chapter at a time. Now, notice that the orange dots aren't shown on this detailed view of just a single chapter. That's a little unfortunate. Now that I've noticed it all, I try to add that feature at some point. Finally, there is a Search option. So I can search for variable and it'll tell me lots of pages in the textbook where the word variable shows up. There's also an Index. I want to look for various things, and I can click on them, and it'll take me to where they are in the textbook. Normally, if you login from Coursera, you'll be taken directly to the practice feature, but you can also get there from within the book by clicking on Practice. What's best Practice feature does is it represents to you questions on topics that you've marked as already completed, that thing at the bottom of the page where you mark the page as completed. When you're here in the Practice feature, you get to answer it again. If you get it right, it will remember that and it won't ask you that same topic again for a long time. If you get it wrong, then it might ask you again tomorrow. So this Practice tool is the brainchild of my doctoral student, [inaudible]. He just implemented it last year and in the first semester where we made it available to students in our on-campus classes. Those students who used it in the first semester where we made it available to students in our on-campus classes, those students who used it more did a lot better on the course exams than those who didn't. It was a pretty striking result for me because I'd been monitoring for several years to see whether just spending more time in the textbook had a similar effect on student performance, and it didn't. Now, in my on-campus classes, use of this Practice tool is now required and earns a few points towards the final grade. For the Coursera courses, it's not required. But based on the results I've seen with our on-campus students, I strongly encourage you to use it a little every day. I think you'll also find it rewarding. Our on-campus students love the fireworks that they get. So here, I'm going to answer a couple of questions. I have only two left to practice for today. I'm going to say, "Done! Ask me another question!" and it gives me one more. It says, "Hang in there. Last question for today." What's going to print out? Oh, this is a review, the one we just looked at. I say, "Check Me", and then I done, and they get these fireworks, which are a little fun when you finish all the questions for the day. Okay, for those of you who are taking this course for a certificate, you'll also see links to graded assignments, usually at the end of each lesson or set of lessons. In the first four courses, the assessments and projects are in the Runestone textbook and they're all auto graded there. You'll only be able to see these in Coursera if you're paying to take the course for a certificate. If you're not paying, you can find similar questions in the end of chapter assessment pages in the Runestone textbook. So let's follow the link for this first assessment. This assessment just ask two questions. I've actually already answered one of them correctly before. That was a multiple-choice question and they want me to write some code. The answer to this one is "Print Hello World." I'll save and run it, and I get some immediate feedback. There's an automatic test in here and it's telling me that I got the right output. If I said, "Hello Word" instead, I would get feedback saying that I had failed. When actually, when I tell it to grade me, it'll use the best answer I've ever given. So if I ever managed to pass the test, I will pass this. We've set up the assessment so that you have to get, usually that you have to get a 100 percent in order to pass the assessment, but you can keep trying and keep getting feedback until you get a 100 percent. We've done that because we think it's really important to master the early material because things keep building on each other. So I click "Grade Me" and it comes back. You can see now that it's updated the score to one instead of zero. I've gotten a total of two out of two for this assessment. If I go back to this page on Coursera and I refresh it, it'll tell me instead of trying again, it's going to tell me that I've passed. Passed with a 100 percent. That's the Runestone environment. It's been a labor of love for all of us who've worked on it as an open source project over the last few years, especially Brad Miller who started the project. I hope you'll find it really helpful to you as you master the fundamentals of Python. I usually ended my on-camera segments with the little joke. So here's a bit of humorous advice. Procrastinate today, always today. Don't put it off until tomorrow. Okay then, don't listen to my advice. Don't procrastinate today. Go get started with the first lesson in this course. I'll see you next time.