views:

531

answers:

17
+19  Q: 

Games for learning

I often find myself wasting a lot of time playing short games like Mine Sweeper or Solitaire in between my studying. I am looking for a better habit to replace this one.

I have learned a lot by solving problems from programming competitions, an activity which has a certain instant gratification / short feedback-loop quality to it. The loop is just not tight enough to replace Solitaire.

Do you know any games / exercises which are relevant computer scientist?

The important thing is that they should be possible to play with very little preparation and take a very short time to complete. Otherwise they will become just another "task".

+18  A: 

Try answering questions on Stack Overflow. =:)

Especially if you're not quite certain and you have to research the question first. That helps you learn and improve your knowledge. It takes a few minutes and has a kind of "competition" kind of feel to it. There's definitely a short feedback loop with the reputation system providing your "gratification".

Simon P Stevens
WARNING: SO is an ideal place to keep you away from your other imp tasks :)
Umair Ahmed
Definitely true. In fact, answering usually takes me completely away from what I was doing, which is not good. It feels good though.
Jørgen Fogh
So that's what keeps people here? :)
HeavyWave
A: 

Every since I discovered newsgroups, way back when, I have found attempting to participate in technical fora to be helpful. These days stackoverflow seems to be the place. The great thing about this is that there is some pressure to do a bit of research before posting, and you get feedback. Even if you find that your answers duplicate another poster's it doesn't matter - at least you can feel that you're not alone. And if you get it wrong, it's quite a salutory experience.

The effect I find is that even when I don't answer a question I tend to read lots of answers.

djna
+10  A: 

There are serious gaming site like http://www.lumosity.com/ in which the game design is done by neuroscientists to maximise the mental benefit of playing their games.

Christian
**fantastic** - had not seen this before, but a great diversion. Engages a different part of the brain from "work", easy to just quit and get back to work once diverted. Nice.
Argalatyr
+2  A: 

You can always try programming challenges. There are many websites that have some good ones. If you're into C/C++ I'd recommend C Programming's challenges. If you're interested in the security scene HackThisSite has some decent programming challenges as well.

Of course, the most excellent list can be found right here on Stack Overflow!

Weegee
+1  A: 

It depends on what you are looking for in the game.

I have a few small games that I use when I need to take a minute-break. They are mostly shape/pattern games which help to strengthen the visual abilities (which many comp-sci people tend to be lacking in, hence the poor artistic ability).

  • My favorite is Russell Sasamori’s Snug (he also has others like Shamrock).

  • I also love the Chromatron series of games which require you to think quite a bit.

Both are free, easy to learn (hard to master), require no installation, use little resources, and both are “casual games” in the truest sense: you can fire them up and play a quick round in as little as a few seconds—depending on how good you are. Best of all, they both give you more of a sense of accomplishment than Solitaire or FreeCell do because you get something tangible out of playing them.

HTH

Synetech inc.
A: 

I won't suggest you switch to something else between your work. Doing something else breaks your concentration. Instead I would suggest taking short programming blasts. A 10 min power session followed by a 2 min break is what I found most productive.

Umair Ahmed
It is exactly those 2 min breaks I would like to put to use.
Jørgen Fogh
Do nothing for 2minutes. It would help you concentrate better the next 10m.Look at a photo; read a book.
Jlouro
I would use those 2 mins planning what to do in next 10 mins... Keep me focused
Umair Ahmed
+3  A: 

Bullet Chess, all the way. It only takes 2 minutes, it's fun, and it exercises the most important ability of any programmer: logical thinking.

Donnie DeBoer
+2  A: 

Programming puzzles (like project Euler) are great, too. Nice sense of accomplishment as you progress.

Argalatyr
A: 

What you're looking for sounds very similar to test driven development: very short cycles where you first write a unit test and then implement something to make that work. When done correctly adding some functionality to some fun project will only take a couple of minutes. That would be both useful and fun. Maybe you could develop a game you can play between studying. ;)

Regards,

Sebastiaan

Sebastiaan Megens
I think the effect you describe is both the biggest strength and the biggest weakness of TDD. It is very easy to mistake the good feeling with progress. OTOH it is probably this sort of thing I am looking for. I just have to be careful.Whether you use TDD or not, breaking tasks into chunks is definitely the way to go.
Jørgen Fogh
A: 

Game for learning? Either it's a game or a learning, but not mixed!

Because when you play, you want to have fun, if it's mixed with learning the funny part will be lost, and then the game will be boring, may be you'll stop playing this game and return to solitaire.

I used to have the same problem as you before I had the Internet and the problem become even more complicated: Twitter, Facebook, IM, forums. I found a solution, not %100 but %70.

The reason is you are tired or not-organised. If you feel you don't like to work, just stop, don't try to force yourself. Sleep the necessary hours for your body, eat well, take rests. This will give you the power to work; next thing is to be organised and to put limits "8 to 10: work" "10 to 10:30 coffee" and work isn't Solitaire and coffee isn't work!!

Hope it helps.

Omar Abid
I disagree with the notion that work can't be fun. Writing small exercise-programs can be very game-like and fun. However, you are absolutely right about the other stuff. I must admit that I am not as organised as I used to be.
Jørgen Fogh
I must really disagree with your basic statements here. There is a huge area in education development now specifically related to "game based learning". -R
Huntrods
"Writing small exercise-programs" -> this is not a game ?!?I didn't say don't mix fun with work, but don't mix games with work.Your mind can do one thing at a time, try to calculate 5 *6 and 7 *3 in the same time and you'll fail. So either you concentrate on the game or you concentrate on the work.But a tutorial introduced in a funny way is good when you are bored or tired.
Omar Abid
+1; i've found that most if not all "learning games" are not really as funn as they purport to be.
RCIX
If learning new stuff isn't fun for you, you're in the wrong line of work. Seriously.
nikie
+3  A: 

You can write small programs to exercise your logical thinking skills on http://www.codechef.com.

Enjoy coding
Looks good, bookmarked
David McDavidson
A: 

I will suggest to participate in something that is just as relaxing as playing games: Galaxy Zoo. You look at actual galaxies imaged by very large telescopes and classify them, e.g. as elliptical or spiral. In the process you will learn about astronomy and galaxies.

Perhaps you will also learn about classification, images processing, reduction of scientific data, artefacts in measured data, cosmic rays, etc.

The Galaxy Zoo project has already resulted in the discovery of a whole new type of galaxy.

Peter Mortensen
A: 

An Epiphany I Had While Playing Pac-Man has some interesting ideas about different types of games depending on what kind of work or study you do. It may provide some ideas.

Tanks is a rather simple strategy game that doesn't take long to set up and can be played on and off throughtout the day.

JB King
A: 

Try typespeed, a funny way to improve your typing skill.

ntd
A: 

I use FreeCell for just this purpose. It initially takes some study in order to beat the game and all games are winnable. It also has the benefit that it's heavy duty on the strategy end. And each game shouldn't take more than a few minutes.

Dave
+1  A: 

Robocode comes to mind. You program your robots in Java to attack and defend against other bots. Been playing it for years and has taught me most of what I know of Java.

Slime Forest, while not for programming, has taught me a good deal of Japanese Kana and some Kanji meanings. Also lots of fun.

Michael Dorgan
A: 

I would suggest finding a Forex (Foriegn Currency Exchange) broker that offers demo or simulation accounts and write 'Expert Advisors' for the Metatrader platform.

Expert Advisors are nothing more than C/C++ scripts used to automate the trading process. Metatrader provides functions for buying, selling, and retrieving data. Scripts can be as simple as following moving averages, to pulling in custom dll's that crawl the internet to create composite pattern data.

You'll get to play with all sorts of different programming aspects depending on how complex or comprehensive you want to make your script, have an interesting testbed to evaluate new techniques or theory, learn about the market and financial planning (scalping, going long, shorting the market, etc), and should you come up with a quality 'advisor' you can make a boatload of money.

entens