Hello World! – A Friendly Intro to Programming…

 

Many months ago, Manning Publications contacted me and asked if I’d review this book.  I had seen one of my fellow local user group members with it, and it intrigued me, so I agreed to do it.  Manning sent me a PDF of Hello World!  Computer Programming for Kids and Other Beginners (ISBN 1933988495), which I promptly read but have forgotten to post about here.  My apologies on delaying my review on such a great book…

Father and Son Take on Programming

This book was written by a father/son team – the son is 10 years old.  When they first embarked on this journey, he was 6 years old.  And he wasn’t just a kid learning a new programming language – Carter had significant input in the book content.  Cartoons with speech bubbles, amongst other parts, were written by Carter.

They wanted to gear it for beginners at any age, including kids.  Rather than convincing “why” to learn programming, they assume that if you picked up the book, you’re obviously interested in learning programming.

What I love most about this book is that it offers a kid’s perspective on programming.  I’ve found the younger perspectives of programming to make it seem less intimidating and more fun, and this book and Carter’s perspective both do that.

Presenting the Concepts

I really like the order they presented concepts.  If I had to teach an intro to programming (in general) class, this would be the approach I’d take as well.  It starts out with the basics of variables and operators.  From there, it moves on to GUIs, decisions, loops, comments, and then graduates from there. 

The object-oriented side of Python doesn’t get introduced until later, and I like this because it reminds me of my data structures classes in college when people who thought they understood the basics would get totally lost.  Object-oriented notation and development in general was a tough concept that really made or broken a person when it came to our data structures classes.  Those who didn’t get it did what they could to get through the class and then avoiding programming like the plague.  I think this was because OO concepts in general were explained more academically rather than in terms that most people could relate to.  Carter and Warren use a simple example of a ball to explain objects, attributes, and methods – had we had something like that in college, there may have been a few more programmers from that program. After objects, they get into things like modules, graphics, collision detection, sound, and randomness. 

Each chapter addresses concepts that we as developers should be familiar with and explains them in terms that a beginner can understand.  Rather than being challenged to look at a language through a textbook with syntactic and plain examples, I find this book offering fun examples for learning basic programming concepts and even the advanced concepts.

Conclusion

Overall, I really enjoyed the book.  I found the examples to be easy to relate to and the overall text to be both understandable and in an order to make it easy for a beginner to work through.  As I mention

ed earlier, I read it right away.  I got caught up in event planning, speaking engagements, and life in general that I forgot to write this review.  I liked this book so much that I purchased a dead-tree version for my bookshelf and to take with me and promote at my Python talks. I highly recommend this book for beginners of all ages.

More on Father and Son

Want to see and hear more about Warren and Carter Sande?  I found some links that you may enjoy.

You can see them on the Young Programmers Podcast, where Carter presents PythonCard: http://young-programmers.blogspot.com/2009/11/carter-sande-presents-pythoncard.html

They appeared on Hanselminutes #194, talking about their book writing experience, Carter’s programming experience, and other things: http://www.tr.im/RM6l


 

Python 101 for the .NET Developer

A couple weeks ago, I spoke at a few user groups in southern Ohio – the Cincinnati Financial internal group, CINNUG, and Dayton .NET Developers Group.  I took my Python 101 for the .NET Developer talk on the road, getting the word out about Python and IronPython.

Just to answer some of the questions…

 

  • Scoping, classes, and functions: There were some questions about functions versus classes, and I know I had confused some people on that.  There was also a question about scoping in Python.  For more on classes, functions, and scoping, see part 9 of the Python tutorial.
  • The @ symbol: One of the guys in Dayton had asked what the @ symbol was – this is used as a decorator.  For more details on decorators and why they chose the @, see PEP 318 — Decorators for Functions and Methods.
The slide decks were made available to the group leaders, but if you want to see the slides, please contact me.
If you’re looking for the books I recommended, check out:

 

 

Hello World!  Computer Programming for Kids and Other Beginners

ISBN: 1933988495

 

IronPython in Action

ISBN: 1-933988-33-9

 

 

Snip snip here, snip snip there….

One of my favorite features in Windows 7 is the Snipping Tool.  Introduced in the Experience Pack for Windows XP Tablet PC Edition 2005 and included in Windows Vista, I hadn’t noticed this feature until Windows 7.  According to the Microsoft site, it’s available only in the Home Premium, Professional, Ultimate, and Enterprise editions of Windows 7.

Don’t get me wrong – I’m horrible with scissors in real life.  I can’t cut a straight line to save my life.  So you’ll rarely find me cutting things.

But when it comes to Windows 7 and the digital world, you’ll find me using this feature often.  It was one of those features that I noticed on my Start menu one day and had to see what it was.  Once I tried it out, I was hooked.  (And I’ve been using it so much lately that I just had to tell my story here.)

How have you used the Snipping Tool?

Any time I see something on my screen that I can use, I start up the Snipping Tool and snip away.  In the MVC Melee blog post, I snipped that image from the MVC Melee website.  Whenever I am working on site changes on one of the websites that I maintain, I send screenshots of proposed changes – and the Snipping Tool is great for cutting apart the main layout and showing how new images and partial layout changes look on a site.  While documenting a particular feature in an application, I’ll have my Snipping Tool ready, so that I can get screenshots focusing on that feature.

Why do you like the Snipping Tool?

What I like best with the Snipping Tool is that the interface is easy to use.  Start the program, highlight what you want to snip, and then save it.  No need to open another program and paste the screenshot from my clipboard.  There is a setting enabled by default to copy the image to the clipboard, so pasting from the clipboard is an option.  But I don’t have to open my image editing program, paste my screenshots from the clipboard, and then crop the image.  The Snipping Tool makes it that much easier for me to get that done.

But… what about Alt+Print Screen or even just Print Screen?

Have no fear – those still work.  So if I want to get a screenshot of the active window or of my whole desktop, I can still use those keyboard combinations to store the screenshot on my clipboard and then paste them wherever I need them – be it in a Word document or in a program to create an image and use later.

Snip snip here, snip snip there, it’s a little slice of heaven.  The Snipping Tool is an awesome feature in the land of Windows 7.

For more on the Snipping Tool in Windows 7, check out the official Microsoft page.

Calling All ASP.NET Devs to Battle

Inspired by Rails Rumble, Sara Chipps and JP Toto are inviting us to take part in the MVC Melee.  Sharpen those MVC skills – ASP.NET MVC 1.0 and 2.0 will be supported and are the weapons in this battle.  Put together a team of 1 to 4 people, and create an MVC app in 48 hours to wow and dazzle the public and impress the expert judges.

After hearing about how fun Rails Rumble was from Joe Fiorini (of the 2008 Rails Rumble champion team behind Meet Inbetween Us), I got excited to see something similar for the ASP.NET community.

So what are you waiting for?  Check out the MVC Melee site at http://www.mvcmelee.com.

Announcing Stir Trek 2010

Last year, we covered MIX contents and had a private showing of the new Star Trek moving. This year, we’re continuing to stir the tech pot – focusing on mobile development, web technologies, and general methodologies on our yearly trek. That’s right – there’s another Stir Trek this year, and that’s a short spiel on what’s going to be covered.  For $25, you get a great amount of tech sessions with some of the industry’s best presenters, lunch, vendor sessions from some of the region’s great developer supporters, and a seat at our private showing of Iron Man 2 on its opening day – Friday, May 7th.

So what are you waiting for? Check out the site and register today!