SpaceChem
While I'm aware that there are many programming-themed puzzle games, the few I've actually tried turn me off pretty quickly, with their thinly-veiled misunderstanding of how computer logic actually works. SpaceChem turns that problem around by theming itself around chemical processing, even though, past a few numerical inspirations, it really has nothing to do with chemistry. In fact, it has a closer relationship with parallel programming, and the very-cool problems that can arise from synchronizing asynchronous resources.
From the perspective of real programming, I do get slightly frustrated when the game's puzzles impose what I would consider unreasonable limits on my tools: like the physical space in which to move elements, and (so far) only having access to one detector node at a time. But it's from limits like these that the game gets its immense challenge. It's simple to think of how I would make the puzzles' algorithms work in a perfect world, but getting them working within the game's confines is a fun trick.
Most of SpaceChem's non-game components (specifically, the art and the story writing) speak to the one man show that is Zachtronics Industries -- adequate, though very unpolished. But the surprise is the soundtrack, which is really well-composed and sounds great.
Progress: World 4, level 5