From terminal hacking to circuit design, these games turn programming into genuinely compelling puzzles.