SpaceChem is a 2D optimization-puzzle game themed with pseudo-chemistry in which you build machines that modify atoms or molecules with bonders and waldos (these pick atoms up) to make other molecules. Then, the game progresses by building reactors and introducing more concepts.
SpecsUpdate
Ranked in these QuestionsQuestion Ranking
Pros
Pro Could help with real life programming skills
In particular, abstraction and concurrent programming skills could be gleaned from the game as it uses broad techniques often used by computer programmers.
Pro Easy to learn, hard to master puzzle
Spacechem's mechanics are pretty simple to learn and only takes minutes to understand how the game works. Of course mastering the gameplay is a whole different matter.
Pro Allows for short or long play sessions
The gameplay allows for a player to come in and solve a single puzzle in a short amount of time or to sit and tinker with a puzzle for hours trying to devise the perfect solution and contraption. It all comes down to what one want to put into the game but the free form of the puzzle solving is what makes it great for anyones playstyle be it short or long.
Pro Light on the system
The system requirements are quite low at only requiring a 2Ghz processor, 1G of ram and 300MB of hard drive space. Basically this game should work on just about any computer from the last 10-15 years.
Pro Endless gameplay through user created solutions
An individual players choices of components, arrangements or factories used will result in completely different experiences and problems/puzzles when compared to another users experience. A truly individualized experience that expands the games replayability.
Cons
Con Annoying action-y 'boss' stages
At the end of each 'world', there is a boss stage in which you have to perform a unique task. This wouldn't be too bad, but in these levels, you can use blocks that you can activate in real time to change the way your program runs. This often means lots of manual work and a lot of padding to hit the buttons at the right time, which is unnecessary for a puzzle game (and, given that you cannot rewind, also stressful if your program is very tight). I would imagine that the best scores for these levels also overly abuse this feature to make solutions that would be almost impossible without use of macros, for instance.
Con Late game is difficult
In later levels some players may reach a point where the game has become too difficult or frustrating, which may discourage any more play time with the game.