Course info
Mar 25, 2013
1h 14m

This course is the first lesson from the Teaching Kids Programming courseware library. It has been designed especially for the Pluralsight audience. You can use Visual Studio to teach your own kids to program in C#. In this lesson kids will learn about objects, methods, variables & for loops in a fun and creative way.

About the author
About the author

Lynn Langit has been working with data for over 14 years. She is an architect, author and popular speaker on SQL Server, Google Cloud, Hadoop, MongoDB and more.

About the author

Llewellyn is an agile coach, creator of approval tests, and co-founder of TeachingKidsProgramming.

Section Introduction Transcripts
Section Introduction Transcripts

Introduction to Teaching Kids Programming
Lynn Langit: Hi. This is Lynn Langit for Pluralsight with -- Llewellyn Falco: Llewellyn Falco. Lynn Langit: And we're really happy to bring you a special class. This is our Teaching Kids Programming in C#. So before we start, we're going to talk a little bit about our organization. Llewellyn and I are the cofounders of an organization called Teaching Kids Programming. And we have a website, teachingkidsprogramming. org. We are a U. S. nonprofit. We are designated project of the Mona Foundation, which is a global education nonprofit. Llewellyn Falco: And our goal is to create free and open source courseware to help kids learn to program. Lynn Langit: Our website includes our courseware, along with teacher training resources, videos, and other written information. Based on the analytics on our site and our own travel, our courseware is used in 15 states and 10 countries. And we have personally taught all over the world. Llewellyn Falco: And what you're about to see is a version that we created specifically for Pleuralsight and the Pleuralsight audience. First, let's go through some of the mechanics. This course is designed not for a teacher in a course room, but for parents who are programmers working with their kids on a one-to-one or one-to-two relationship. Lynn Langit: And we're giving you an example of one lesson or recipe in this course. We have several more in several different languages. But you'll see throughout the course that there are five different sections. Llewellyn Falco: And the age group that we're looking for is 10 and up. But really, the barrier that you're looking for is typing. So if your kids feel comfortable with a keyboard, bring them on, teach them to program. Lynn Langit: And because this course is in C# and we expect that the parents who are teaching are professional programmers, we design it using Visual Studio. Llewellyn Falco: We want to talk a little bit about our motivations for designing courseware like this. And the first, of course, is that while kids tend to be very technically literate, they are growing up as consumers of technology. And we think it's very, very important that they are also the creators of technology. Lynn Langit: In addition to that, we see around the world, but particularly United States, a decline in interest of students in actually studying computer science. If you look at the statistics out there, kids studying comp sci has, unfortunately, been declining. Llewellyn Falco: That in an everly increasingly technical world, and combine that with the fact that most high schools and colleges even have a lack of good courseware for programming. Lynn Langit: And of course, the other thing is we'd love our kids to grow up and have great job opportunities because they're fluent in programming. Llewellyn Falco: And for you, personally, it's always great when your kids understand the jobs that you do. Lynn Langit: So we wanted to tell you a little bit about the way we teach before we start you off with our lessons. We call the method of Teaching Children Programming the Intentional Method. To explain the Intentional Method, we're just going to give you a couple of highlights. You're going to see in the upcoming lessons that our way of teaching is highly interactive. We ask lots of questions. It's experiential. The kids will be typing code and compiling programs. And then we'll layer on more learning. Llewellyn Falco: Also, we're a big believer that the kids should understand what it is that they're doing. So we will start with the English a lot, and then go forward into code. So they go with meaning. Following that track, we want what they do to be discoverable. So we're going to teach a lot to tooling and language so that kids can explore. Lynn Langit: You'll see us talk about translating one line of English into one line of code, and then running just to make sure that the translation has been done correctly. It's almost like a test-driven development, but we don't have a test, per se, but they're getting very rapid feedback. Llewellyn Falco: And it's funny that you mention test-driven development. We actually incorporate quite a lot of agile practices and extreme programming practices, including pairing, which is why both of us are conducting this class. And usually, when we teach our classes, we also pair the students. So if you're lucky enough to have two children, we suggest you put them both at the keyboard and have them work with each other. But make sure to rotate frequently. Also, we're going to do a lot of leveling. So while we're start with the intention of the English, you might not understand fully everything you're doing. Don't worry. We're going to come back to these over and over as you layer on more and more understanding. Lynn Langit: And as you progress through the recipe, you will get to the point -- you and your kids will get to the point of mastery. One of the things that we have throughout our lessons -- and you're just going to be looking at the first lesson set here. In the various languages, we have up to 14 lessons, each with 5 parts. And we aim for mastery-based learning. So complete understanding of everything that we present. So hopefully, we've got you interested and excited, and you're ready to get started.

Part 1 - Recipes
Lynn Langit: Okay. We're going to go ahead and get started with the recipes. To start off, we have a couple of tips. First, we've written everything in steps, really small steps. Literally, one line of English for one line of code. And we've created our videos to match the way we've written our recipes. And we intend them to be taught. So what you'll want to do is you'll want to work with your child to translate one line at a time. And you'll want to pause the video in between the translations. Llewellyn Falco: Also, Lynn and I are going to swap being teachers and students. And you'll notice when we do, that we purposes allow for discovery. Rather than telling an answer when someone gets stuck, help them to read the documentation, or help them to search through the available options. The more you do that, the more fun the class will be. And the more you'll actually learn rather than just repeat what we are doing.

Part 2 - Recap
Llewellyn Falco: And now we're about to start Part 2 of our course where the Recap. Lynn Langit: So, in this section you'll be best served by watching and listening. Llewellyn Falco: Yea, and we're going to go through what you just did and now that you've seen that there's a chance for us to go through with a lot more exploration of some of the finer points. Lynn Langit: So, one thing that you'll see is you'll see mistakes. You'll see us making mistakes and how we get information so that we can correct our mistakes. Llewellyn Falco: Another thing you're going to see is we're going to explore a lot more of the editor to figure out how to use that better. Lynn Langit: And then another thing that you might take notice of is how we ask questions. A really important part of our teaching methodology is that it's interactive. So, we ask questions rather than saying what the answer is and we encourage exploration. Llewellyn Falco: And finally you'll notice that we're starting to use more sophisticated terminology than we used in the original recipe.

The next part of our coursework is variations. In this part we have a follow the leader style. And we'll be continuing on from the code we had in simple square. One of the great aspects of this section of the courseware is it's very playful. You'll see us interacting with each other by using questions and trying out things in the code and we can't wait to see what you and your kids are going to do with this. Speaking of questions, you'll notice we keep on asking which line's a code. A good part of this is being able to figure out the details of what is doing what in the code. One of the other things you might notice is we actually introduce new objects here to make the code even more malleable and interesting. In particular, in this section you'll see what we introduce message box. And finally, these are our variations. Any time you're doing any of the recipes or any code for that matter, you can always create a grid of your own and explore and create as many variations as your imagination allows.

Llwellyn Falco: Now we're in Part Four, the quiz, and the first thing is this is for kids only. Lynn Langit: And what we mean by that is when you're sitting with your kids, your kid should really be able to complete this on his or her own. Now it's going to be really tempting for you to tell them the answer if they get stuck, and one of the things that we encourage here is if they are stuck, have the read over the English, have them try things, have them explore, and really sum up all the stuff that you've modeled for them in the earlier lessons.

In this section, we're going to homework. This session is meant so that you do it first and then watch. But you don't have to do the whole thing. Just do one or two exercises and then watch one or two exercises. Another part of this is you want to try stuff. You'll see that you're going to put in either words, letters, or numbers, and you'll see us trying stuff and we encourage you to do the same. If you don't know, guess. Also in this exercise, getting the right answer is good but it's not the entire point. You'll see as we do it that we always ourselves what did we just learn. And the real value isn't in getting the right answer. The real value is what you learn in getting to the right answer. And just like before you get the right answer, we encourage you to try things out and to guess. We also encourage you keep hacking away after you get the right answer. If you're not sure of what you actually learn or you want to try something else to see what happen, we call that exploring after. And we encourage you to do that too. And for the parents out there, if you're interested in this type of learning, it's based on something called the Koans. And there's of Koans out there both for other languages and for other APIs.

Wrapping it Up
Congratulations. You've reached the end of this lesson. We hope you had a good time. We hope that your kids learn a lot about programming, and we hope that you want to do more. We have more lessons in three different programming languages at our Teaching Kids Programming website. The lessons are in small basic, Java, or C-sharp. The website is www. teachingkidsprogramming. org. Happy programming.