Complexity in Design of Digital Systems: Active Learning with Puzzles Read more about Complexity in Design of Digital Systems: Active Learning with Puzzles