Programming assignment for CS110 Principles of Computer Systems at Stanford U