Solutions for Stanford course "Programming abstractions"