Microcorruption is a fun resource for learning about reverse engineering, assembly language, and cybersecurity (the concept is that you're going through the assembly code of dev kits of different versions of software-controlled locks to find vulnerabilities that can then be exploited to get into warehouses full of MacGuffins). I've gotten through about half of the stages so far--they get really tough, but it is extremely satisfying to successfully complete one!
I also really enjoyed the couple of Zachtronics games I've played (I've done the first 5 stages or so of Konstructor: Engineer of the People and I managed to get through all the main modules in TIS-100)
Lightbot is a cute app for initial programming concepts through puzzles (program a robot to walk around a grid and light up various squares)