Text transcript of show #194. January 8, Hello World: Computer Programming for Kids and Other Beginners

Similar documents
SOAR Study Skills Lauri Oliver Interview - Full Page 1 of 8

How to Help People with Different Personality Types Get Along

Using Google Analytics to Make Better Decisions

Buying and Holding Houses: Creating Long Term Wealth

Celebration Bar Review, LLC All Rights Reserved

Text transcript of show #83. September 26, 2007

Instructor (Mehran Sahami):

Interviewing Techniques Part Two Program Transcript

CLICK HERE TO SUBSCRIBE

Zoë Westhof: Hi, Michael. Do you mind introducing yourself?

Transcriber(s): Yankelewitz, Dina Verifier(s): Yedman, Madeline Date Transcribed: Spring 2009 Page: 1 of 22

Text transcript of show #241. November 18, The MVVM Pattern with Laurent Bugnion

JOSHUA STEWART: Mentoring we ve all heard how valuable it is. But how does it work, and is it right for you? Stories of mentoring it s Field Notes.

The Open University xto5w_59duu

Text transcript of show #198. February 3, Reactive Extensions for.net (Rx) with Erik Meijer

Text transcript of show #195. January 15, Open Source, Microsoft and The WiX Project with Rob Mensching

MITOCW R3. Document Distance, Insertion and Merge Sort

Common Phrases (2) Generic Responses Phrases

The ENGINEERING CAREER COACH PODCAST SESSION #1 Building Relationships in Your Engineering Career

Ep #181: Proactivation

COLD CALLING SCRIPTS

Listening Comprehension Questions These questions will help you to stay focused and to test your listening skills.

MITOCW MITCMS_608S14_ses03_2

OG TRAINING - Recording 2: Talk to 12 using the Coffee Sales Script.

Multimedia and Arts Integration in ELA

MITOCW watch?v=fp7usgx_cvm

3 SPEAKER: Maybe just your thoughts on finally. 5 TOMMY ARMOUR III: It's both, you look forward. 6 to it and don't look forward to it.

Blatchford Solutions Podcast #30 Top Women in Dentistry: Interview with Dr. Davis Only If I Knew Than What I Know Now

Do Not Quit On YOU. Creating momentum

Training and Resources by Awnya B. Paparazzi Accessories Consultant #

>> Counselor: Hi Robert. Thanks for coming today. What brings you in?

MITOCW R22. Dynamic Programming: Dance Dance Revolution

6.00 Introduction to Computer Science and Programming, Fall 2008

Begin. >> I'm Dani, yes.

Commencement Address by Steve Wozniak May 4, 2013

Editing Your Novel by: Katherine Lato Last Updated: 12/17/14

BOOK MARKETING: Profitable Book Marketing Ideas Interview with Amy Harrop

even describe how I feel about it.

How to Close a Class

MITOCW ocw lec11

CLICK HERE TO SUBSCRIBE

I'm going to set the timer just so Teacher doesn't lose track.

Copyright MMXVII Debbie De Grote. All rights reserved

Author Platform Rocket -Podcast Transcription-

So, again, that was addressing that main problem of how to attract new members. Even though people in that stage, you know, it's not just about

Real Estate Investing Podcast Brilliant at the Basics Part 15: Direct Mail Is Alive and Very Well

Glenn Livingston, Ph.D. and Lisa Woodrum Demo

We're excited to announce that the next JAFX Trading Competition will soon be live!

BOOK MARKETING: How to Benefit from Hosting Your Own Podcast Interview with Andrew Allemann

Tips On Starting Your WooCommerce Online Store with Michael Tieso

Welcome to our first of webinars that we will. be hosting this Fall semester of Our first one

Hey, Janice. Thank you so much for talking with me today. Ed, thanks so much. I'm delighted to be here to talk to you.

How to get more clients with LinkedIn with Gary Kissel

UW_HELP_PODCAST_2.mp3

Proven Performance Inventory

Ep #2: 3 Things You Need to Do to Make Money as a Life Coach - Part 2

Stephanie Evans: So, today we're going to go over the expressive and is correctly, corrected on our worksheet the expressive essay asks you to write

Well, it's just that I really wanted to see the chocolate market for myself after seeing how enthusiastic you were about it last year

MITOCW R9. Rolling Hashes, Amortized Analysis

2015 Mark Whitten DEJ Enterprises, LLC 1

Text transcript of show #240. November 12, Developing Indie Games for Xbox 360 and XNA with George Clingerman

MITOCW watch?v=1qwm-vl90j0

NCC_BSL_DavisBalestracci_3_ _v

MITOCW mit-6-00-f08-lec03_300k

Power of Podcasting #30 - Stand Out From The Crowd Day 3 of the Get Started Podcasting Challenge

Ep 195. The Machine of Your Business

How to Get Started with AdWords for Your Online Store

Hello and welcome to the CPA Australia podcast, your source for business, leadership and public practice accounting information.

Great. We're gonna start off by you sharing, just say your name, say your year in school. I think you all are sophomores, right?

Text transcript of show #72. July 5, Be a Better Developer in Six Months

CLICK HERE TO SUBSCRIBE

Glenn Livingston, Ph.D. and Vanessa Bread Bagels 009

Transcriber(s): Yankelewitz, Dina Verifier(s): Yedman, Madeline Date Transcribed: Spring 2009 Page: 1 of 27

MITOCW watch?v=guny29zpu7g

SDS PODCAST EPISODE 148 FIVE MINUTE FRIDAY: THE TROLLEY PROBLEM

Getting Affiliates to Sell Your Stuff: What You Need To Know

Intros and background on Kyle..

Okay, okay... It probably won't be so hysterical too you, but I'll tell you anyway.

Discovering A Lucrative Niche!

SPI Podcast Session #113 - An Interview With 10 Year Old Entrepreneur, Enya Hixson

"List Building" for Profit

LinkedIn Riches Episode 2 Transcript

SDS PODCAST EPISODE 94 FIVE MINUTE FRIDAY: THE POWER OF NOW

Episode 14: How to Get Cheap Facebook Likes and Awesome Engagement Subscribe to the podcast here.

MITOCW R11. Principles of Algorithm Design

Smart Passive Income Gets Critiqued - Conversion Strategies with Derek Halpern TRANSCRIPT

Alexander Patterson Interview Transcript

Phone Interview Tips (Transcript)

Text transcript of show #166. June 22, Windows Presentation Foundation explained by Ian Griffiths

HIKI NO What I Learned AMEE NEVES

Episode 47 The Power Of Affirmation in Goal Setting

English as a Second Language Podcast ESL Podcast 200 Meeting a Deadline

Summary of Autism Parent Focus Group 7/15/09

MARKETING CONVERSION BOOSTING TACTICS

You are listening to the Weight Loss for Busy Physicians podcast with Katrina Ubell, Episode #106.

Week 1: Your Beliefs About Yourself and Your Abilities

Audio transcript Wish someone told me with Nat Locke Episode 2: Boom Fitness

Transcript of the podcasted interview: How to negotiate with your boss by W.P. Carey School of Business

EPISODE 10 How to Use Social Media to Sell (with Laura Roeder)

BOOSTING AFFILIATE PROFITS

Transcription:

Hanselminutes is a weekly audio talk show with noted web developer and technologist Scott Hanselman and hosted by Carl Franklin. Scott discusses utilities and tools, gives practical how-to advice, and discusses ASP.NET or Windows issues and workarounds. Text transcript of show #194 Hello World: Computer Programming for Kids and Other Beginners Scott chats with Warren Sande and his 10 year old son, Carter, about their new book "Hello World: Computer Programming for Kids and Other Beginners." Listeners can get 40% off Hello World! from Manning.com with the code "hanselm40". The offer is valid until Jan 31, 2010. (Transcription services provided by PWOP Productions) Our Sponsors http://www.telerik.com http://www.nsoftware.com http://dotnet.sys-con.com Copyright PWOP Productions Inc. Page 1 of 9

Lawrence Ryan: From hanselminutes.com, it's Hanselminutes, a weekly discussion with web developer and technologist, Scott Hanselman. This is Lawrence Ryan, announcing show #194, recorded live Friday,. Support for Hanselminutes is provided by Telerik RadControls, the most comprehensive suite of components for Windows Forms and ASP.NET web applications, online at www.telerik.com. In this episode, Scott talks with Warren Sande and his son, Carter, about their new book "Hello World." Hi, this is Scott Hanselman and this is another episode of Hanselminutes and today I've got on the phone from California Warren and Carter Sande. They are the authors of "Hello World: Computer Programming for Kids and Other Beginners." How is it going, guys? Great. Yeah. So Warren, you're an engineer but Carter as an author you're kind of in a unique situation. How old are you, sir? writing this book? I was six years old. I'm 10 years old. You're 10. When did you start I started writing this book when So you've been working on this book for basically 40% of your life. So you've always been writing a book, haven't you? Yeah, I guess I could say that. Did you actually write stuff? Did you sit down and write programs and did your dad test things on you? What was the relationship? How did you guys work together on this book? Well, I wrote a lot of things in the book and my dad also wrote a lot of things. The primary things that I wrote were Hangman and the Virtual Pet programs in the book which my dad did help me with all of that, and also anytime you see a little cartoon's name with the speech bubble, I also wrote that. Oh, okay. This is an interesting book. I read this book in the last couple of days and because it's called Hello World and it's got kind of a cartoon picture of you and your dad I thought that it would be, forgive me for phrasing it this way, I thought it would be kind of dumb down. You know, I thought that you were going to make it really, really, really almost too basic but I found it to be really enjoyable to read. I didn't feel that you were pulling any punches. I kind of assumed that you were maybe in your teens. What ages do you think that kids could read a book like this because it's simple but it's complicated at the same time? I think we really tried not to dumb it down so it could be used by beginners, but also if people want to go deeper that they could and really also for beginner adults so it wouldn't seem like it was just a kid's book. The age question is one that we had quite a few times and it's kind of hard to answer, like some kids could be six or eight years old really to get to start on them, as long as they can read well and they have a really basic knowledge of computers like how to operate the computer and save files and things like that, and some kids would be a little bit older when they're ready for it. It really just depends on the kid. It all goes to -- probably I would say motivation is one of the key factors. If you're motivated to learn programming, then you can use this book I think. Yeah. I think that's an interesting point. Sometimes I feel like beginner programmer books spend a lot of time trying to convince the reader to be interested, and it definitely seemed like the way you structured this was that you assumed that people are already pretty interested in getting involved and you're enabling them... Exactly. Rather than trying to convince them of why being a programmer would be a good thing. That's right, yeah. There's a little bit of that to start. I mean, I do think that learning programming is a very valuable and good thing to do even if you're not going to be a programmer when you grow up like if you're going to be in some other career because just a little bit of programming knowledge, even the basics, can help you no matter what kind of career you're going into, I think. That's a really interesting point because I had asked you just before if you were a programmer and you said you're an engineer so you probably use programming in your job but you're not a professional coder. Is that true? That's right. Yes, that's right. You find yourself writing code occasionally to solve the problems that you're trying to solve? Yeah, I do. I mean I've done a little bit of embedded C programming and I've done some scripting to automate things I do in my job. So I do write code from time to time. Page 2 of 9

Do you think that everyone should learn coding? I mean, I've always said that at some point in your life you're going to be working somewhere and you'll need to write an Excel Macro and if you have a programming class early in your life, that macro that you wrote in Microsoft Excel will be so much easier if your brain is tuned to those kinds of constructs. Exactly. That's exactly what I was thinking. There are so many people who again aren't in programming work, whether it's in engineering or finance or whatever the job maybe, that even just a little bit of basic programming like you said to do an Excel Macro or a little script to automate some task that they need to do everyday, just that basic programming knowledge is really valuable. Uh-hmm. Now that this book is done, Carter, do you find yourself writing programs all the time to solve problems for school, or do you mostly write games? Well, I'd say that I program like every once in a while, probably once a week. For example, earlier this school-year I needed to learn my math facts which I was getting a little rusty on so I wrote just a very simple program to test me on my math facts and see how well I did. That's a pretty cool thing. So you wrote a program to test yourself on math. Yes, I did. And this is something that you came up with on your own. Yes, it was something that I came up with on my own. Hmm. Now amongst the 10- year-old set -- and you have to forgive me, I haven't been 10 for a very long time, amongst people who are 10, do you think there are a lot of programmers? Well, that's kind of hard to say because like most 10-year-olds that I know aren't really programmers but there probably might be. Now when you started learning about programming, did you think you would maybe like write games for like a Nintendo? I suppose 10- year-olds play handheld games. Actually I think lots of 10-yearolds would want to do that, but the problem with that is like video games that are out today like Mario and Zelda and all those other games, those are like some of the most complicated pieces of programming around so that wouldn't really be something that you would tackle when you were first thinking programming like I am. But you did write a game or two for this book which I thought was pretty cool. What games did you write? The main games that I wrote I think were the Hangman and the Virtual Pet. Those were kind of my two main games. I also wrote one of the more basic games. It was called PyPong. PyPong. And you have a little paddle which you can control with your mouse and you have to get a ball to like bounce off the top of the screen and like as the ball goes pass your paddle then you lose a life. What was the hardest part about writing a game like that? The hardest part I think was finding all of the little tiny bugs that I made, like that is always going to be the hardest part of programming for me, it's the debugging. the box for that. Really. You really have to think outside Uh-hmm and you said the tiny bugs, are the tiny bugs harder to find than the big bugs? I think they are because like big bugs Python gives you in there and then tell you exactly where the bug is. But little bugs, let's say like the ball kind of flow that pass the top of the screen instead of bouncing off, those would be harder to find because Python wouldn't alert you and it wouldn't tell you where it was. Ah. So you have to like search all of the code by yourself. Sometimes I think that the difference between those kinds, the big bugs and the little bugs, is kind of like when you're writing a report and sometimes Microsoft Word will tell you that you misspelled something and sometimes it won't but it's still wrong so like if you spell something wrong it will put a little squiggly under it and then you know that that is wrong. But sometimes you just have poor grammar or you've written something wrong and that's like a little bug that you have to really hunt for and think about. Do you think so? Page 3 of 9

Yes, I do think so. That's one of the things actually that, one of the reasons I think learning programming is valuable because it teaches you to problem solve and to find those harder to find bugs in order to get things working. I think that's one of the reasons that again even if you're not going to be a programmer, learning programming is kind of like learning how to learn and learning how to think, or learning how to problem solve. I think that's why it's really valuable. Really. Do you think that changed the way that Carter's brain kind of was wired when you started thinking about moving from -- what is he now, fourth grade, from first grade? I'm not sure. I think people who are into computer programming, computers and that sort of thing, maybe they tend to think that way already, they tend to be that problem solving type of person who can look at those hard problems and find the answer more easily than the average person can. But I think probably that doing a lot of programming did help in that direction as well. Because I'm interested in what the learning about programming does to a child's brain. Basically I'm trying to think about nature versus nurture because you know that amongst programmers and engineer types there's always the joke that you can spot. You can spot a nerd and when I was a kid being a nerd wasn't cool, but I suppose now in the time of Carter being a nerd is pretty cool. If you know about Twitter, if you know about Facebook, that's not being nerd at all. That's just being connected, and in here you've done a little experiment where you've started with a kindergarten or first grader and in writing a book on programming for his entire career. Do you think that Carter would think differently if you'd never written the book? I think so because I think if we hadn't written the book he wouldn't be doing this much programming, he wouldn't be on the computer as much, he wouldn't be in that thinking problem solving, debugging merely as much. So yeah, I think it has affected probably the way he thinks and the way he approaches things. What do you think about that, Carter? Do you think that your brain works differently because you worked on this book? I don't actually know but I do know that I am pretty good at problem solving and I'm not sure if that was the result of the book or something that made me like programming in the first place. question. Yeah. That's an interesting One of the things too with us is that I think with Carter when he showed an interest in computers when he was very young like three or four years old, you know, we said go ahead, go for it. We didn't wait and said, oh, he is too young for computers, he is too young to do that. We just let him go with it and that was one of the main differences with Carter. Was it hard to get kids interested in the text aspect of things? Don't you think that in examples you use Python and the idle IDE. It's not exactly throwing stuff, typing at the command line. I mean, that's a line in the program. I just wonder if kids these days want to know how to make a little man walk around the screen immediately and they're not interested in the text part of things. Well, I was worried about that too, but actually it's funny. When you actually see kids going through that and doing the first programs, they are all text-based of course because the graphics takes a much higher level of programming before you get to the point where you can make graphics on the screen. Even just the very basic such as making the computer do something and do what you wanted to do, kids love it. Even such a simple text-based program, they really get into it and they really enjoy it. You picked Python to start out with. Why did you pick Python? Well, a couple of reasons. One is that I've been using Python network and I really enjoy it as a language. I found it very easy to use. I found it had a nice, clear syntax and I kind of thought of using it. It could be a good language for teaching programming again because it has a very nice clear syntax and also because it's an interpreted language so you can get immediate feedback. You can try a little one liner and see what happens. Those couple attributes make Python really good for teaching, I think. At what point did you move from text to graphics? For myself, soon after I start using Python, I mean one of the first things I want to use it for was a graphical application. So I learn the very basic Python stuff first and then I quickly moved into using a Python module that allowed you to do some graphic stuff which we do actually cover in the book as well. It's called PythonCard. It's a way to build simple GUIs. I mean, you can definitely start off and get the basics in the text mode and then add the graphics later. You know, the nice thing about Python of course is that it's free and also it's available for all Page 4 of 9

the platforms, Linux, Mac, and Windows so all the odds, like in school you will find a lot of computer labs so you use a lot of Mac or some are even starting to use Linux box now, as well as those Windows machines that are out there. So having a language that's really truly cross platform is also nice. Hey everybody, this is Scott coming at you from another place and time. No doubt you probably bump into testing tasks now and then in your work and you know writing functional test is probably not your favorite thing. It's kind of difficult. It takes time and the results can be dubious. Well, get ready to start liking tests, thanks to Telerik. With the new WebAii testing framework, building web automation test is a breeze. You've got code automation with advance ASP.NET AJAX and Silverlight applications. You can write a single test, have it execute against multiple browsers at once. You benefit from a rich API, there's LINQ support, integration with Visual Studio unit testing, also NUnit, xunit, and MbUnit, not to mention the free wrappers for a Telerik RadControl for ASP.NET AJAX and Silverlight all shipping with Telerik's new testing tool. One of its best features, the WebAii testing framework which is developed by ArtOfTest, is absolutely free. If you already got hooked on WebAii testing framework, start using it right away. Go to www.telerik.com for more info. Thanks a lot. When you had this idea or had hit it, did Carter already express interest in working on computers? Oh, for sure. Like he was interested in the computer from the time he could read basically he was about three years old. I mean, the first things we did is he just wants to play on the computer so we would just start up Word and let him type things and drop pictures using the drawing tools and that sort of thing, and before too long he decided he wanted to do a bit more and he started to do a little bit of HTML and made some simple web pages. By the time he was five, he really kind of wants to do programming stuff and he started asking about can we make a game or can we make a program and that's when we really got rolling on thinking about, well, what resources are out there to help teach him programming. When I started looking around, I didn't really find any books that I found that were suitable or really good for teaching kids or beginners programming and that sort of where the idea came from for writing this book. Uh-hmm. Have you thought of any web programming? Most of the programming in this book was kind of graphical user interfaces and the fundamentals. Have you worked up to creating web pages with Python? We haven't. No, we don't really cover any web programming in the book. Have you done that since? Not yet, no. Maybe that will be the next book but we haven't really started on that yet. When you started writing this book, did you already have a publisher? Actually no. I'm just kind of curious with the process because you're not a programmer and this is your first book. Yes. So no, we didn't have a publisher though. When we first started it, we just had some ideas. We started, you know, it was just a project that we're doing, Carter and I together to have something to work on together and to help Carter learn programming and we work on it that way for probably a year-and-a-half. We had outline for all the chapters and we had a fair number of chapters, written probably a couple hundred pages, the material was done, all our example programs and everything, and at that point we kind of didn't know what we're going to do with it. Should we try and self publish it, or should we try to find a publisher for it? It wasn't really clear what we would do or just do nothing, just let it be its own little private project. So at that point I did have an idea to start sending out proposals for this book to publishers just to see if there's any interest, and I was just starting to do that I saw a message in a Python news group that said, "Hey, if you are a Python author or know someone who is an author of a beginner's book for Python, let me know because I know a publisher who is looking to do a book like that." And so I saw this message and replied to it; and the person put me in touch with someone at Manning Publications and literally like before I knew it I was signed up with the publishing contract. easy? That seems... Wow. Is it supposed to be that I don't think it's supposed to be that easy. From what I've heard that's the exception, not the rule. It just was a sort of preparation, meaning opportunity. We have this thing that was sort of half finished or more than half finished and we had a publisher who was looking to do that kind of book and I was very fortunate that Michael Stephens at Manning was very excited about this kind of project. It's something he'd been wanting to do for a while and so just the timing worked out perfectly. Wow. Now, you ve been working on this for four years and... From the time we started until the time that we signed up with Manning it was about a year-and-a-half, maybe two years and then after Page 5 of 9

that it was about another year-and-a-half or so by the time the book was actually released and published. So a total of three, three-and-a-half years from inception to hitting the bookshelves. I've got a two-year-old and I've got a four-year-old and my wife and I would joke about the time when the four-year-old would become like really useful as opposed to the I'm trying to be useful part of growing up. Yeah. You know, right now we'll go shopping and he'll really, really want to be useful but inevitably he would drop something or clean-up on aisle two. You got to experience your son going from a small person to larger, much more useful person. Did he get more and more involved in the book the older that he got? right from the start. Well, he was pretty involved Really. Like he was, you know, very keen and he was helping with ideas, we worked on all the ideas together, what should be in the book, how should it be written, how can we make it easy for kids to understand and make it interesting. So I think that it didn't really ramp up from the start. It started at a very high level and continued that way all the way through his involvement. Really. Wow. I think quite honestly I never would have got finish this book if Carter haven't been involved with it. If it just have been me, if I hadn't had kids or whatever and I just got an idea to write this book, I probably wouldn't have had the initiative to get it finished. I don't think without Carter's excitement and interest and pushing it along and saying "Daddy, let's work on the book instead of reading a story tonight," and things like that, I don't think it would have gotten finished. Wow, that's really cool because, you know, when I saw that the book was written by a father and son, one always wonders how involved really was the son and like Carter was listing out all the different things, different parts of the book that he worked on, it sounds that it really was a collaborative thing. Absolutely. You can definitely see Carter's voice and input in the book in many, many places. Uh-hmm. Carter, as you get into the book around Chapters 14, 15, 16, things start getting pretty complicated. Towards Chapter 17, you got Sprites and Collision Detection and things like that, what part of the book did you think was the hardest? Well, I don't know. It was all kind of pretty hard in this book... Really. Writing this book. Uh-hmm. It's like the whole book, probably when we first print Hello World to Sprites and Collision Detection, it was all kind of a challenge to make it simple and like easy to understand and something that people would like so I don't really think that there was any hardest part of the book from my point of view. hard. So the whole process was Yes, it was. Was it the book writing or the programming that was harder? I would probably say the book writing because when you're writing for a computer like you know exactly what the computer wants, but we didn't really know exactly what the like people who are going to read our book wanted so we had to try harder to make something that people would like. When you were writing this, were you thinking about kids your age? Who are you thinking about when you could have envisioned who was the writing the book? Well, generally I was thinking kids but as we like got towards the middle and the end of the book I just kind of started thinking about it as beginners in general, not just kids. So you thought about like adults, like I could start with your book and start learning programming, no problem. Yes. You probably could. Hmm. Now, what can you tell me about PythonCard, Carter? Well, PythonCard is more often a GUI creation module for Python. Usually when I start PythonCard program I start with the resource editor which is a tool in PythonCard that let's you just kind of start with the window and drop-in buttons and Page 6 of 9

text deals and labels and lots of other things and then I write the code for it. So the resource describes what's going on on the form and then the code is somewhere else in another file? Yeah, the resource describes exactly what the window looks like and what's there and where it is and then the code is in another file and it's just kind of the underlying code that handles all the events. Okay. So what's an event? An event, on a computer at least, is when like somebody clicks a button or just something that happens in the program, it could be like somebody moved the mouse, or somebody close the window, or somebody like type something into the text field. So when you have somebody who clicks on a button, you usually have an event handler which handles the event and does whatever the button does. So if she clicks on a button that said submit/send, the event handler will probably send the contents of the form to someone. You sound like you've got a pretty good handle on all this. You didn't find this difficult at all. When you started getting into object orientation, did you write your applications differently? Somewhere in Chapter 14, you started introducing objects. Were you writing programs without objects earlier and then you started objects later? Well, yes. Earlier I was just writing I'd say kind of simpler code. But when I've gotten into objects, instead of having a bunch of like a group of variables hanging around in my program I would have like an object to put that in. Uh-hmmm. Also when you get into the later chapters where you're looking at Pygame and PythonCard and some of the modules that we use for graphics and sound, they use Python Object-Oriented nature in a way that they're written so you are really sort of forced to write more object-oriented code because that's the way to interface with those modules. Ah, okay. So you introduced object orientation because of the use of objects within the libraries, not necessarily the... Right, exactly. So if people are going to start using those libraries and they see this dot notation, they see objects being used, they certainly need to know how that works in the background and what's really going on. Yeah. I was thinking about that like how do you introduce that concept of object orientation. I remember when I first got my taste of programming, someone tried to teach me C++ first and not just real basics and they said, "All right, the first thing you need to know is about an object," and I kind of felt like a kind of a regular procedural small application would have been a better place for me to start because object orientation was very difficult as an introduction, and then here you've chosen to put that pretty far into the book, Chapter 14. Exactly, yeah, because I agree. I think that starting with object-oriented type programming isn't the way to go. I think starting with simple procedural oriented code is a good way to get interaction, all the basic things like variables and looping and decisions and so on, the if statements, and then once you get the basics figuring out how program flows and those basic concepts, then you can introduce other things like objects and then graphics and sound and the other thing. Have you tested this on other kids that aren't Carter? How are the people finding the book? I mean, maybe teachers or schools. Yeah. We did actually. In the review process of writing the book, this is after we got engaged with Manning, we started finishing off the book, there's quite an extensive review process which included lots of kids and teachers and other educators so it was quite an intense process and we got really good feedback from kids ages from Carter's age on up to there are some high school kids and college students, teachers and right the whole age range and we got good feedback from all those people. Really, until college students as well. What about adults? What about fresh adults because I'm thinking about letting my wife read this book. It's funny. There actually have been several comments if you look at some of the reviews on Amazon and so on that we've got in other places. There are people who said, "You know, I reviewed this book and it looks like it will really be good for beginners, and my non-programmer wife tried and achieved in this and interested in it." You know, we've gotten comments like that and we've got comments from people who are seniors who haven't been programming for 30 years and want to get back into it and they found this book is really the way to get restarted in programming. That's pretty cool. That makes me feel better. So I shouldn't let the "for kids" part of the title to slow me down. No and that's actually why we added the "and other beginners" in the title as well Page 7 of 9

because it isn't just for kids and as you know that at the start it doesn't really talk down to the audience. So it's really good for all ages. Do you think that programming should be something that everyone should learn in school and at what age should they all start? That's a tough one. I think that programming is a very useful thing for all kids to learn in school but as we're talking before, motivation is such an important factor. So if you have kids in school who aren't interested at all in learning programming, I'm not sure if forcing them to learn programming is the right thing to do. I'm a little bit on defense on that one. While I think it would really be valuable so all kids could learn some programming, if they don't have motivation it might be the kind of subject where some kids just aren't going to be interested and just aren't going to learn anything. So that's a tough one. But we force them to learn English and we force them to learn math. Yeah, that's true. Why do we find those subjects appropriately forcible but not programming? Maybe it's just history because you know math has been around for thousands of years and programming hasn't been, right? Uh-hmm, touché. Yeah, the motivation thing is interesting. The nature versus nurture discussion is very complex. I was a professor at our state university for a while and there were a number of times where I had to pull people aside and figure out how to say, you know it's just as difficult to say it now as it was to those people, that maybe programming isn't really what you need to be doing. Right. And you don't want to discourage students ever but at the same time some people just have a knack for it and it's interesting when you say or threaten to say something like that to a person about an intellectual thing that they want to accomplish, that's not okay, but if someone is physically not able to do something that's kind of okay, like I'm not a very good long jumper so I don't think anyone would be offended if a coach came over and say "You know, Scott, maybe the long jump is really not what you need to be doing." And I would go, "You know, yeah, the stats don't lie. I'm not a long jumper." I would go on and take another sport. But to go to someone and say maybe programming or whatever some intellectual pursuit that they're interested in is not their thing because for every time you do that there's a person who rose up and accomplish something great anyway even though they're not wired that way. The other thing too is how do you know whether it's not your thing or not until you try it. Exactly. How do you know if it's going to be your thing or not? So probably some exposure to programming at some point, and I would say probably the middle school age range, is a good thing to have. Yeah and how far into it do you go before you realize it's not your thing, like I didn't realize math wasn't my thing until calculus. Right. I mean, basic math, everything up to but not including calculus, I totally rock, and then my calculus teacher pulled me aside and said "Really, you need to just try to get a C in this class and if you can pull that off you should be happy with that." Yeah. I actually had the same experience, but then I found a really good calculus teacher and then I went to the next level. Of course I mean it tied with my engineering education. So sometimes it depends on a lot of other factors, the teacher you have, the course material that you have and that sort of thing. You know that may actually bring the discussion full circle because perhaps all it is is the right book or the right teacher and then anyone can learn programming. Exactly. Well, that's what we hope, right. I mean, I think this book is written somewhat like a textbook. I mean, it's really meant for home use but I think it could have applications in school as well. I could see this book or some slight derivatives on this book being used as a textbook in like a middle school computer class. Very, very cool. All right. Well, the book is "Hello World: Computer Programming for Kids and Other Beginners" and you can get it at manning.com and you guys set up a 40% off code for us. That's right. It's HANSELM like Hanselman except hanselm40, I'll put that up on the website and that's going to be good until the end of January if folks want to buy that book at a 40% discount and they could check it out, and I assume in bookstores everywhere. Page 8 of 9

Yeah, that's right. Cool. Well, thanks so much, Warren and Carter. I really appreciate your time. Thank you. Thank you very much. This has been another episode of Hanselminutes and I'll see you again next week. Page 9 of 9