tags:

views:

127

answers:

6

Is there any fun, educational game (maybe flash game etc.) that help teaches the concept of programming and practice your brain to think like a programmer?

Actually, I am not the one who will be playing it; it'd be my friend instead. I tried to help out my best friend through the university Java course (at my university, it is kinda sucky course). I have practiced programming for many years, so for me it is not a problem. However, my best friend, whose major is not computer engineer (but must take this course due to it being required), has a very hard time being introduce to Java by the boring professor and very confusing textbook.

I tried simplify many context for my friend but still it seems he gets bored with those confusing context very fast. Therefore, if possible, I'd like to introduce to him in a more enjoying way such as game.

+2  A: 

There are several games available, this one is closest to programming and fun I've encountered so far:

Light bot

Light bot 2

Locke
Very nice one, I think the light bot 2 is very challenging too
+1  A: 

Manufactoria

Core Xii
This one is great. Thanks for posting this link.
barjak
A: 

CeeBot is great.

Lucero
A: 

What about programming like playing a game:

Scratch 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.

oraz
A: 

I would suggest implementing hangman, tic-tac-toe ( 2 player version to start with and later can be modified to play with computer).

codaddict
A: 

http://codingbat.com/ It might not look like a game.

But it's a site, that offers easily understandable problems, ranging from complete beginner problems to intermediate problems. Split up into categories based on the subject they're covering.

You write the code on the site, and then it tests it, and shows you the results.
The game part comes in when you complete an assignment and it gives you a point! (In the form of a star).

The constant gratification of being rewarded when you solve a problem makes for a much more pleasing and interesting learning experience I've found... It helped me and my classmates a lot when we had an incompetent Java teacher :p

mtraxl