I have just discovered TIS-100. So much fun! It came with my Level Up and Learn: Programming Games Humble Bundle. From Wikipedia:

TIS-100 is a programming/puzzle video game developed by Zachtronics Industries. The game has the player develop mock assembly language code to perform certain tasks on a fictional, virtualized 1970s computer that has been corrupted. The game was released for Microsoft Windows, OS X, and Linux personal computers in July 2015.