How to think like a computer scientist Lua Version