SJTU-SE106 homework, lab and project by a SE12er