The Coding Game

codinggame

I started whetting my taste for computer programming when my family didn’t have a computer. We actually had had one earlier, a Radio Shack TRS-80 that my dad had purchased, and upgraded to 768KB of RAM. I’d enjoyed playing Asteroids-style and other ASCII-graphics games on its green screen. Eventually, though, the TRS-80’s floppy drives gave out, and we were without a family computer for several years.

During this time, we loved going to the local public library. We’d go with half-bushel laundry baskets, and come home with them full of books. I loved browsing the shelves, finding mysteries, biographies, fantasies…and a few lovely books, designed for kids and filled with arcade-style graphics and BASIC code for simple computer games. When we finally got another family computer, a Packard Bell 486-DX2 66Mhz with 8MB of RAM and a 540-MB hard drive, running Windows 3.11, I was ready to go! With Microsoft’s QBasic language bundled with DOS, I had fun writing my own small programs–even getting as far as a visualizer for the Mandelbrot set (courtesy of A.K. Dewdney’s The Armchair Universe, also from the public library). And when I realized that Microsoft had even included the QBASIC source code for several games, Gorillas.bas and Nibbles.bas, I was thrilled!

The CodinGame site seems to do a great job of re-capturing some of that early sense of wonder at what one can do with just a bit of code. It uses dramatic graphics (such as the Space Invaders-like shot above), but has you write the code to solve each puzzle. It’s simple enough for coders just starting out, but also has more challenging puzzles–and support for many languages. If your niece wants to learn to program, if you want a nice set of C++ (or standard-library) kata , or if you’re an expert developer and want to learn Ruby, Swift, Go, or Rust…this may well be the game you’re looking for.

If the stories, graphics, and online environment of CodinGame aren’t doing it for you, also check out Project Euler, for a set of basic-to-challenging problems to be solved in the language of your choice.

Mini-review: Bounce, by Matthew Syed

I just finished reading Bounce: Mozart, Federer, Picasso, Beckham, and the Science of Success, by Matthew Syed. Syed is a journalist and a several-time Olympic competitor in table tennis. In this book, he makes a great case that practice is what builds skill, with “talent” or “aptitude” often being mostly fiction. I recommend the book–the content is valuable, and it’s an enjoyable read.

Syed offers a number of interesting case studies. A few among them:

  • His own experience–in retrospect, he wasn’t exceptionally talented, but had the right opportunities for a lot of coaching and practice.
  • “Clusters” of elite runners–determined not by genetics, but by environment and experience.
  • An educational psychologist who set out to prove that training, not talent, determines chess skill. Before he was even married, he proposed to train his children to elite levels of skill. Two of his daughters held the top two rankings of female chess players in the world.

Syed also offers some other great nuggets. Among them, he looks into why high-level athletes “choke”, apparently losing all ability to play, and why athletic skill isn’t necessarily transferable across sports. In a great anecdote, he describes deploying his table-tennis reaction times against a tennis player’s famous high-speed serve. The results…well…didn’t convince him to switch sports.

Bounce echoes themes of psychologist Carol Dweck’s research, much of which is presented in her book Mindset. I highly recommend Dweck’s book as well (despite a fair amount of “fluff”), both for personal growth and parenting. I expect there’s also a fair amount of overlap with Geoff Colvin’s The Talent Code, but haven’t yet read Colvin’s book.