Have you heard in the news that something like 16 percent of all new jobs in the next 5-10 years will be in computing occupations more so than any other field? Or maybe you've heard in the news that the technology sector has a real problem with diversity, and their efforts to make a dent in changing it have not been going terribly well. Or maybe you've heard in the news that facial recognition algorithms can't identify black faces. Maybe you've heard in the news that there's, dare I say it, fake news that sometimes is propagated in your Facebook news feed algorithm, and that entities are trying to control what we're seeing in our Facebook feeds to control elections. Well, if you've heard any of those, then you will understand why I think that computation and the technology that computing is enabling in all of our lives is critical for everyone in the world to understand, because it impacts things that all of us use and engage with every day around really important things. Hi, my name is Dr. Beth Simon, and I'm a faculty member here in the Education Studies Department at UC San Diego. For 10ish years or so in my life, I spent a lot of time in the classroom, including many large classrooms, teaching computer scientists and students who want to become software engineers how to program. I'm really well-known for the research that I do on how to make learning programming more effective and more efficient by having people construct their knowledge, not just try to soak up what somebody's lecturing about like a sponge. But lately, I've changed my focus because I really do believe that all students need to learn about computer science and about programming in particular. So, here in the Education Department, I've switched to focusing on creating courses that will not only teach the computer science people need to know, but also at the same time teach people how to teach computing to others. In this course, you're going to learn both how to program a block based language, and how to teach others effectively and efficiently how to program in a block based language. Now, maybe you have some prior experience and know how to program, or maybe you don't. It doesn't matter. We'll teach you everything you need, but I guarantee you, even if you've already learned to program, you will learn of methods and approaches for learning to program, and teaching others to program that you have never experienced before. I'll be having you learn using very recent research-based practices that have been shown to help people learn programming more effectively. What are the key aspects that are going to be behind how you're going to learn to program? Well, the first thing is that the methods that we're going to use are really going to focus you on the core computing concepts, and try to remove some of the extraneous material that gets in the way of really learning those concepts deeply. You'll be learning in a way that you'll get much more effective practice in a lot less time than probably the way you learned to program which was like, "Oh, here, go write a program." We will show you more effective and efficient manners. All of this should hopefully lead to much reduced frustration in learning computing. At the same time though, besides showing you and having you learn through these better pedagogical practices, we will be looking at the specifics behind the kinds of pedagogies that you can use in the classroom with a focus on the K-12 setting to help students learn more efficiently and effectively, and you'll create materials that you'll be able to use in whatever teaching environment you're going into. Finally, we're going to be looking at issues of equity in computing education. We're at a very important point right now here in the United States where we were starting to say, "You know what? Computer science needs to be a discipline just like reading, writing, and arithmetic that's taught for everybody. That all students need to know about computing." But we're trying to figure out how to get new courses and new learning experiences out for students in a way not just that supports equality, but that recognizes that different groups of students are going to come to our learning experiences with different backgrounds that might help or hinder them. It's our responsibility to build out curriculum and learning experiences that are equitable to allow everyone to succeed. So, whether or not you plan to become a professional K-12 teacher or maybe you want to be an entrepreneur in the computing education space, creating technologies or curriculum that will help us teach computing to everyone, or maybe you're going to be a software engineer or a tech professional in some way and you want to be prepared to maybe be involved in volunteer programs or support an after-school club, et cetera, then in this class, you will learn a lot that we'll be able to help you prepare to teach students how to program.