Welcome, I'm professor Ira Poll of the University of California, Santa Cruz in Computer Science and I will be your instructor for C++ for C Programmers Part B. Now this course was developed for sophomores and junior computer scientists at UC Santa Cruz, and it's expected that you have a background equivalent to the part A course, and the part A course took you from being a C programmer to being conversant in C++, and gave you some expertise, and graph algorithms. This course will continue that. You'll learn further about advanced features in C++, especially C++ 2011 and there are several features that are really interesting and advanced in the language now, which includes, for example, lambda expressions and tuple library. We're going to see that in this course. Now if you take the course as a certificate course, you will get a far greater benefit out of it, because it'll enable you to turn in your homework and get a verified certificate that you've accomplished the material. If you don't, you can still go through the material. The video lectures, the forums will be all available to you, but you won't get to participate in peer review or the grading of your own work. The outcome of the course is going to be a major project in which you are going to produce a computer game, the game of X. The game of hex is a very interesting game, because it's still not a solve game. So, it's still played and contested. And indeed, the best players are computers. We will understand one of the central ideas of how computers play this game well, which are Monte Carlo methods. So if you're going to stay with the course, you're going to end up completing this project and you will have a very good understanding about not only modern C++ and C++ 11 and newer parts of the library, but also some up to date ideas and artificial intelligence, and game plan. The assignments that you will do will be programming assignments in which the end assignment will indeed be hopefully a program that plays hex intelligently. In doing this, if you are in the certificate program, you can turn in your homework and have it peer reviewed and peer review is one of the great things that have been largely pioneered by the MOOC community. Because in the MOOC world, we rely on fellow students to do things that would, otherwise, in a small classroom be done with graduate teaching associates, but this is a good thing and it's good thing. Because in reviewing other people's work, you get to understand what's good and bad about that work. Indeed, if you are going to be a computer science professional, you will find you that have to, in most companies with good standards, do code review. So, it's even a relevant skill that you will get out of this course. So, you will have your work review and you will review other work. The other thing that benefits the MOOC is the wide array of expertise that comes to the discussion forums and we find that our discussion forums are indeed very polite. We want to keep them that way, so that the person who is a novice isn't disrespected and the person who is very advanced tries to bring along other people in terms of some novelty or some arcane, which there are many arcane tools and types in the C++ language. So again, discussion forums are a hugely beneficial aspect of our course. Finally, the course relies on my textbook, C++ for C Programmers, but you don't necessarily have it. Other textbooks are more up to date and can be used. And indeed, you can get by perfectly well with lots of supplementary documents, some of which we post and with materials on the internet that have much about the up to date libraries and techniques. So, I hope to see and you take part B. You can jump into part B even if you haven't had part A. If you have some of the background in C++ and want to start at a more advanced level, but for most of you, you should probably be doing both part A and part B.