IT146 Final Exam.