Once you solve a challenge you can see other user's solutions, learn from them, and let other users know if their kungfoo() is strong. Logged in users can also create new challenges and submit them to be included in IOKungFoo.
IOKungFoo assumes coding is fun all by itself so there are no space ships or monsters to slay with your code. IOKungFoo also assumes you have already taken a coding course in school so there are only a handful challenges with help. If you have other questions you will have to use Google. IOKungFoo tries to be a bit like coding in the real world but without the overhead.
Start by clicking on Open->n00b. The n00b challenges will teach you how IOKungFoo works. You can do this without creating an account but you will not be able to save your progress or view other user's solutions.
The following are difficulty guidelines. Depending on your background, you may find some easy challenges harder than some medium challenges etc.
Creating a new challenge is a 3 step process:
At any time in the create process you can save your work and open it later from Open->Creating.
Foo is a deliberate misspelling of Fu. Computer scientists use foo() as a standard function name. The IOKungFoo standard function name is kungfoo().
IO stands for Input/Output, one of the most basic functions of a computer. Every kungfoo() function receives the variable input and returns the variable output.
Putting all this together you get the definition of IOKungFoo at the top of this page.
Why can't I add comments to other people's solutions? If you can't say it with code, is it really worth saying?
I found a spelling mistake, who do I tell? We already know about that one so you don't need to tell us.
Why does IOKungFoo not follow standard X, Y, or Z? We like to use our own standard, it's like no standard we know.
Why does this entire site use the Courier font? Courier is cool. We use Courier now.
How do I contact IOKungFoo? Comments and questions can be sent to or contact us on our facebook page.
Growing up, my favorite video game was C. - Doug Bakewell