Projects and homework accomplished in CS61A: Structure and Interpretation of Computer Programs