Exercises of Computer systems : A Programmer's Perspective