Python for kids

April 21, 2013 at 3:42 pm

Many of my friends are having kids nowadays and asking me what are good resources for teaching kids Python. I don’t have any kids but I do know of some good resources for learning Python especially for younger children or people completely new to programming. Here they are:

pythonforkidsPython for Kids is a lighthearted introduction to the Python language and to programming in general, complete with illustrations and kid-friendly examples. We begin with the basics of how to install Python and write simple commands. In bite-sized chapters, you’ll discover the essentials of Python, including how to use Python’s extensive standard library, the difference between strings and lists, and using for-loops and while-loops. By the end of the book, readers have built a couple of games and created drawings with Python’s graphics library, Tkinter. Each chapter closes with fun and relevant exercises that challenge the reader to put their newly acquired knowledge to the test.



hello_worldHello World! Computer Programming for Kids and Other Beginners provides a gentle but thorough introduction to the world of computer programming. It’s written in language a 12-year-old can follow, but anyone who wants to learn how to program a computer can use it. Even adults. Written by Warren Sande and his son, Carter, and reviewed by professional educators, this book is kid-tested and parent-approved. Note: there is a newer edition of this book available for pre-order.

cover_inventwithpython_thumbInvent Your Own Computer Games with Python teaches you how to program in the Python programming language. Each chapter ives you the complete source code for a new game, and then teaches the programming concepts from the example. It was written to be understandable by kids as young as 10-12 years old, although it is great for anyone of any age who has never programmed before.


scratchScratch is a programming language that makes it easy to create your own interactive stories, animations, games, music and art, and share your creations on the web. The Scratch website has over 3 million project from around the world many submitted by kids. Scratch is developed by the Lifelong Kindergarten Group at the MIT Media Lab. Tynker is a startup inspired by Scratch.


Screen Shot 2013-04-21 at 3.38.43 PMAn Introduction to Interactive Programming with Python is a course designed to be a fun introduction to the basics of programming in Python. This course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. The main focus is on building simple interactive games such as Pong, Blackjack and Asteroids.



This is by no means an exhaustive list of resources. If you know of other good ones, please leave a comment below!

Intersecting journey of Free Culture, Creative Commons and Plone

February 3, 2008 at 6:20 pm

Several years ago I discovered the book Free Culture by Lawrence Lessig. It was actually one of the first eBooks that I put on my handheld PDA at the time, a Handspring Visor, a device that now seems quaint compared to my iPhone. I remember watching the Flash presentation of Lessig’s talk at OSCON in 2002, and being motivated to learn more about copyright law. Lessig made the issues tangible, and of incredible importance to anyone who considers themselves a creator.

More importantly, he demonstrated that the copyright laws of yesterday were no longer suitable for the creators of today, and what was needed was a new way to license your creative work. And so he founded the Creative Commons, a non-profit organization that provides free tools for creators to easily mark their creative work with the freedoms they want it to carry.

During one of my trips out to San Francisco, I met with Mike Linksvayer at the Creative Commons headquarters. At the time I was very interested in adding Creative Commons licensing support to Plone, the open source content management system, so I wanted to talk to him about the best ways to accomplish this.

Well, we didn’t talk much about Plone, but I did get to have lunch with the other CC folks, and afterwards Mike suggested that I talk to Nathan Yergler, the Python programmer who was making so many cool CC tools, that they had to hire him.

Upon closer inspection, I discovered that Nathan was doing some pretty cool stuff with Zope 3, including building desktop applications such as ccPublisher. While I still haven’t met Nathan (now CTO of Creative Commons), I can see from his blog that he recently moved from Indiana to San Francisco, so there’s a much greater chance that our paths will cross now.

Meanwhile Jonah Bossewitch had written up PLIP #136 (Plone improvement proposal) to get content licensing support native in Plone. There was a product called PloneCreativeCommons that was a good start, but Brent Lambert and David Ray from Utah State University, took it a step further during the Big Apple Sprint (also organized by Jonah) and created ContentLicensing a really great add-on product for Plone that we’re now bundling with Plone4Artists.

After moving to Boston, I got to know some of the folks involved with the Harvard Free Culture group, one of many college-based Free Culture groups that promote the public interest in intellectual property and information & communications technology policy.

Last week I was hanging out with the Free Culture kids at a dinner at the Cambridge Brewing Company hosted by Dean Jansen and Will Guaraldi, both of the Participatory Culture Foundation, best known for the Miro video player. For the Plone4ArtistsVideo add-on product for Plone, we’re exploring using some of the Python code in Miro for scraping popular video sharing sites such as Youtube.

Recently I stumbled across this TEDTalk video presentation by Lawrence Lessig, and invite you to watch as he takes you through a fascinating journey about culture and gets a standing ovation at the end.

Hivurt – a new Zope 3 based CMS?

November 9, 2007 at 10:06 pm

Stephan Richter just alerted me to a new CMS that has been developed in Zope 3. Mikhail Kashkin from Key Solutions (a Russian company) reported on the Zope developers list that they are developing a Zope3-based CMS called Hivurt and some of the components are already available on their SVN repository.

All of the documentation is only in Russian, but Stephan said that they are busy translating it to English. A Google search brought up this code repository on code.google.com so that may be the future home of the English translated code and documentation.

Looking at the screenshots, I can’t but help observe that the UI looks surprisingly similar to Plone/CMF with a “contents” tab, and “add” and “actions” dropdown menus. Although given that it’s built on top of pure Zope 3, I’m guessing that it’s much faster than Plone. It will also be interesting to see what functionality is missing from Hivurt that comes out-of-the-box with Plone.

According to this newsitem, Sportbox.ru is the first major site built using Hivurt CMS. Sportbox.ru is the official website of TC “Sport” – Russia’s “most reliable sport news supplier.” Its potential audience in Russia is 62 million people living in 72 regions of Russian Federation.

TC “Sport” plans publishing the latest information in the sports world, video collections (Video-On-Demand), streaming video on various sports commented by the leading journalists and sports professionals. The portal offers many interactive features for its visitors, blogs of famous sportsmen, coaches and commentators.

Hivurt sounds like a very promising CMS and a welcome addition to the Zope 3 community. We’re looking forward to seeing the English documentation and trying it out!

Blogged with Flock

Tags: , , , , , ,

Kirbi, a peer-to-peer library built with Grok

September 15, 2007 at 3:41 pm

All of us have books that sit on shelves, doing nothing for anyone but collecting dust. I have some books that I have read several times, some others that I have read once, and still others that I have never read. I buy books them because I intend on reading them… some day. But no matter how voracious a reader you are, you can’t possible read all of your books simultaneously which means that there are a great many books that are simply being unused. All that knowledge trapped inside a bound volume just waiting to reveal itself to an open mind.

The problem
There are some books that you’d like to share with others, but unlike music or videos which can be digitized and easily replicated, a book is a physical object and only one person can have that copy. It’s quite time consuming to scan in every page, although that didn’t stop someone from scanning in the latest Harry Potter book to make it more widely available. So why are we reluctant sometimes to lend a book? Well, it’s a finite resource so if you give it to someone, you can’t use it until they give it back. Even worse, what if you forget who you gave it to, or you remember but they never give it back.

This was the problem that faced Luciano Ramalho, a Brazilian Zope developer and trainer and student of library science. I stayed with him in his modest sized apartment in São Paulo last week, and observed that his study was lined floor-to-ceiling with books. Luciano is truly a lover of books. And he wanted to be able to share them with his friends and colleagues but needed a way to keep track of who had which book and how long they had it.

So he scratched this itch and developed Kirbi, as part of a Google Summer of Code project. Kirbi is a web application to allow anyone to turn their personal book collection into a lending library, making book sharing among friends and colleagues easier and safer. Kirbi was created using Grok, a web application framework based on Zope 3.

“As a library sciences student, I designed [it] to increase the reuse of books, foster the exchange of reading experiences, and make books more accessible to all, particularly in developing countries.” -Luciano Ramalho

What makes it different?
There are similar initiatives such as Bookcrossing, but Luciano explains that with Bookcrossing there is very little incentive to keep these books in the system. They usually get left somewhere and forgotten. With this peer-to-peer library system that he has envisioned, you are borrowing books from your friends, so there is a personal connection and accountability to return the book or recirculate it.

Another similar project is Lovely Books, developed by Lovely Systems another Zope 3 development company in Austria. Luciano explained that there are many of these such sites, but they are mostly focused on letting the users show off their book collection, but not actively share these books physically with each other.

Kirbi works more like your public library in which you can request a book from someone in the network, and then set a time and a place to do the handoff. But in this case, the library is peer-to-peer and not centralized. You are more likely to have books that your friends want, and vice versa because you have similar interests. Luciano recommended a book by Yochai Benkler called, “The Wealth of Networks: How Social Production Transforms Markets and Freedom” (Yochai Benkler) which talks more about this idea. This book was already in my Amazon.com wishlist, but like so many other books, I have yet to read it.

Try it out!
Luciano has already developed a prototype demo site at Circulante.org where you can create a free account and try out the system. He’s made it very easy to add new books just by typing in the ISBN number, but has plans in the future to make it even easier by scanning the barcode on the back of the book using your computer’s webcam, similar to how the desktop software Delicious Library does it.
I’ve been thinking that my company, Jazkarta, could use this peer-to-peer library software. We all have books that each other would probably like to read, but we often don’t know that someone we know has the book that we want. The only problem in our case is that since we are spread out, the opportunities to physically hand-off the book are very seldom. We see each other at sprints and conferences and then we might not see each other again for months. But this may be okay for some books to loan them for this long.

If you start thinking about all the communities you are in and the people with whom you may want to share books: your apartment building, your church, your workplace, a neighborhood association, etc. There are ample opportunities to expand the number of people who could participate and share their books.

Developers get involved!

I think this is a really great idea and is the first real public example of a feature-rich web application built with Grok. Luciano is seeking others who would like to contribute to the project. It’s a great way to learn more about Grok / Zope 3. You can find the code in the Launchpad Bazaar repository or in the svn repo on Zope.org. I recorded a video of Luciano talking more about Kirbi and Grok and will post it as soon as I get caught up on things.

Technorati Tags: , , , ,

Scraping a jazz events calendar

June 12, 2006 at 12:48 am